【问题标题】:Google Cloud Logging doesn't parse JSON message from Container Optimized OSGoogle Cloud Logging 不解析来自 Container Optimized OS 的 JSON 消息
【发布时间】:2023-02-08 06:46:54
【问题描述】:

我在 GCE 上运行一个容器优化的操作系统容器,并连接了云日志。该服务已正确安装并且我正在获取日志,但未解析结构化日志:

如何让 Cloud Logging 正确解析日志条目?

【问题讨论】:

    标签: google-cloud-platform stackdriver google-cloud-logging


    【解决方案1】:

    您可以按照official documentation以多种方式将结构化日志写入Logging。

    通过使用日志记录代理google-fluentd,您可以解析 JSON 消息。这是 Fluentd 日志数据收集器的 Cloud Logging 特定包装。 Logging 代理带有默认的 Fluentd 配置,并使用 Fluentd 输入插件从外部源(例如磁盘上的文件)提取事件日志,或解析传入的日志记录。请参阅此 logging agent configuration 以获取更多可帮助您解析 JSON 消息的信息。

    请参阅类似的SO1SO2 问题,它为您提供解决问题的更多信息。

    【讨论】:

    • 我正在使用 google-fluentd,它自动安装在容器优化操作系统上,如 here 所述。它没有正确解析日志。
    • 参考这个agent logging doc并检查cloud agent doc
    • 云代理已正确安装,如屏幕截图所示。
    【解决方案2】:

    对于遇到此问题的任何人,问题似乎与 JSON 的 time 字段中的时间戳格式有关。特别是,不接受 RFC3399 时间戳。请改用 ISO 8601 时间戳。

    这似乎与 the documentation 相矛盾,但我的一位 Google 员工朋友在内部证实了这一点,并且切换到 ISO 8601 时间戳确实为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2021-03-27
      • 1970-01-01
      • 2018-08-06
      • 2018-02-09
      • 2021-06-01
      • 1970-01-01
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多