收集kubernetes的Pod日志

时间:2020-09-16 08:09:11

标签: docker logging kubernetes fluentd

我正在尝试收集应用程序容器整个生命周期中的日志。这些容器在Kubernetes容器内运行,我找到了Fluentd之类的解决方案,但我也发现我需要指定一个后端(Elasticsearch,AWS S3等),而我想在具有特定名称的文件中收集日志podname_namespace_containername.json,然后使用脚本解析这些文件。可以流利吗?

1 个答案:

答案 0 :(得分:2)

到目前为止,设置日志收集最快的方法是https://github.com/helm/charts/tree/master/stable/fluent-bit。有关所有可用选项,请参考tt。它支持多个后端,如ES,S3,Kafka。每个日志事件都富含Pod元数据(pod名称,名称空间等)并进行了标记,以便您可以在后端分别组织处理。例如。在后端,您只能选择和解析某些名称空间中的某些pod。

根据https://kubernetes.io/docs/concepts/cluster-administration/logging/,您登录到stdout / stderr,它被写入底层节点,日志收集器(守护程序集)收集所有内容并进一步发送。

enter image description here

Kubernetes中的

FluentBit守护程序集正是实现了这种架构。有关FluentBit的更多文档:https://docs.fluentbit.io/manual/concepts/data-pipeline