如何让 google-cloud-ops-agent 日志记录识别特殊的“严重性”字段

Dan*_*y G 9 google-cloud-platform google-cloud-logging google-cloud-ops-agent

我正在 google 计算实例上运行 ZooKeeper 并尝试设置 google-cloud-ops-agent 以正确解析日志。我已经完成了大部分工作,但很难让它识别该severity区域。

文档指出这severity是一个将从 中提取的特殊字段jsonPayload,但我没有看到这种情况发生。

我的/etc/google-cloud-ops-agent/config.yaml

logging:
  receivers:
    zookeeper:
      type: files
      include_paths:
      - /zookeeper/logs/zookeeper.log
  processors:
    zookeeper:
      type: parse_regex
      field: message
      regex: '^(?<time>.{23}) \[(?<zknode>[^\]]+)] - (?<severity>\S+)\s+ \[(?<class>[^\]]+)] - (?<msg>.*)$'
      time_key: time
      time_format: "%Y-%m-%d %H:%M:%S,%L"
  service:
    pipelines:
      zookeeper:
        receivers: [zookeeper]
        processors: [zookeeper]
Run Code Online (Sandbox Code Playgroud)

证据 parse_regex 正常工作(但注意严重性仍然存在于jsonPayload

示例云日志记录输出

小智 0

我通过在处理器中描述来修复它:

    change_severity:
  type: modify_fields
  fields:
    severity:
      copy_from: jsonPayload.severity
Run Code Online (Sandbox Code Playgroud)

然后到服务 -> 管道:

      web_access:
    receivers:
      - web_access
    processors:
      - change_severity
Run Code Online (Sandbox Code Playgroud)