0

如何从我的Cloud-Config服务获取输出到Stackdriver日志记录?发送容器优化的OS服务日志输出到Stackdriver日志记录

我使用Node.js的API创建我的虚拟机实例,并遵循这里找到创建我的服务例如: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只运行其中运行一些测试,并输出到标准输出一些搬运工容器:

- 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 

我使用的集装箱优化的操作系统,因为它带有多克,GCR访问开箱即用的安全性,并且快速启动。但是我想我可能不得不切换回基于Ubuntu/Debian的映像,因为这样可以让我安装日志代理,但需要牺牲定制映像中的更多基本配置。

任何帮助使用COS为此将不胜感激,所以提前谢谢你:)

回答

1

Google Cloud Logging driver for Docker适用于这种情况。 Here是一个非常好的教程。

尽管日志记录驱动程序对日志记录配置的功能有限制。您需要控制许多日志记录配置,我认为Ubuntu/Debian上的日志记录代理是更好的选择。

相关问题