Rob*_*mes 4 google-compute-engine stackdriver google-container-os google-cloud-stackdriver
如何将 Cloud-Config 服务的输出获取到 Stackdriver Logging?
我正在使用 node.js API 创建我的 VM 实例,并按照此处找到的示例创建我的服务:https : //cloud.google.com/container-optimized-os/docs/how-to/run-container -instance#starting_a_docker_container_via_cloud-config
一切都运行成功,但我可以看到日志输出的唯一方法是通过 SSH 连接到实例并运行sudo journalctl -ef,但我真的很想将日志流式传输到 Stackdriver Logging。但是 COS 似乎不允许我安装日志代理。
这是我的服务文件,它/home/ci/run.sh只是运行一些 docker 容器,这些容器运行一些测试并输出到标准输出:
- path: /etc/systemd/system/ciservice.service
permissions: 0644
owner: root
content: |
[Unit]
Description=Run tests
Wants=gcr-online.target
After=gcr-online.target
[Service]
User=ci
Group=ci
Environment="HOME=/home/ci"
ExecStartPre=/usr/bin/docker-credential-gcr configure-docker
ExecStart=/bin/bash /home/ci/run.sh
Run Code Online (Sandbox Code Playgroud)
我正在使用容器优化操作系统,因为它带有 Docker、开箱即用的 GCR 访问、安全性,并且可以快速启动。但我想我可能不得不切换回基于 Ubuntu/Debian 的映像,因为这将允许我安装日志代理,但代价是在自定义映像中进行更多的基本配置。
对此使用 COS 的任何帮助将不胜感激,因此在此先感谢您 :)
小智 5
Docker 的 Google Cloud Logging 驱动程序可用于这种情况。这是一个非常好的教程。
尽管日志驱动程序的日志配置功能有限。您需要控制很多日志配置,我认为 Ubuntu/Debian 上的日志代理是更好的选择。