如何从我的 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
我使用的是 Container-Optimized OS,因为它带有 Docker、开箱即用的 GCR 访问、安全性,并且可以快速启动。但我认为我可能必须切换回基于 Ubuntu/Debian 的映像,因为这将允许我安装日志代理,但代价是自定义映像中的更多基本配置。
对此使用 COS 的任何帮助将不胜感激,因此在此先感谢您 :)