我能够伤害Google的日志,并借助容器优化操作系统中的堆栈驱动程序日志代理作为JSON。
它将日志作为消息的值,而不是作为带有默认配置的json有效负载。
我试过什么?
我已经将/etc/stackdriver/logging.config.d/fluentd-lakitu.conf中的fluentd配置更改为:
<source>
@type tail
format json
path /var/lib/docker/containers/*/*.log
<parse>
@type json
</parse>
pos_file /var/log/google-fluentd/containers.log.pos
tag reform_contain
read_from_head true
</source>但是它无法将日志发送到日志查看器
操作系统:容器优化操作系统cos-81-12871-1196-0
发布于 2020-12-28 04:20:18
正如@Kamelia提到的https://issuetracker.google.com/issues/137517429
有人提到了使用的变通方法。
<filter cos_containers.**>
@type parser
format json
key_name message
reserve_data false
emit_invalid_record_to_error false
</filter>上面的代码片段将日志解析为JSON,并对造成最严重的伤害。
在Stackdriver上的谷歌集团中,我们讨论了如何在启动脚本中使用它。
下面是启动脚本的片段。
cp /etc/stackdriver/logging.config.d/fluentd-lakitu.conf /etc/stackdriver/logging.config.d/fluentd-lakitu.conf-save
# Shorter version of the above: cp /etc/stackdriver/logging.config.d/fluentd-lakitu.conf{,-save}
(
head -n -2 /etc/stackdriver/logging.config.d/fluentd-lakitu.conf-save; cat <<EOF
<filter cos_containers.**>
@type parser
format json
key_name message
reserve_data false
emit_invalid_record_to_error false
</filter>
EOF
) > /etc/stackdriver/logging.config.d/fluentd-lakitu.conf
sudo systemctl start stackdriver-logging此映像可用于生成随机JSON日志。https://hub.docker.com/repository/docker/patelathreya/json-random-logger
发布于 2020-09-29 18:57:35
我在谷歌的公共问题跟踪器上发现了这个问题,它讨论了您在用例中提到的相同问题。已经收到了关于这一限制的通知,他们正在努力解决这个问题。你只需要去那里,点击标题旁边的星星,这样你就可以得到关于这个问题的最新信息,你就可以让这个问题更加引人注目。
https://stackoverflow.com/questions/64116743
复制相似问题