首页 文章

将容器优化的OS服务日志输出发送到Stackdriver Logging

提问于
浏览
0

如何从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容器,它运行一些测试并输出到stdout:

- 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

我正在使用容器优化的操作系统,因为它带有Docker,GCR访问开箱即用,安全性,并且可以快速启动 . 但我想我可能不得不切换回基于Ubuntu / Debian的映像,因为这将允许我安装日志代理,代价是自定义映像中的更多基本配置 .

任何使用COS的帮助将非常感谢,所以提前谢谢你:)

1 回答

  • 1

    Google Cloud Logging driver for Docker适用于此案例 . Here是一个非常好的教程 .

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

相关问题