繁体   English   中英

收集 kubernetes 的 pods 日志

[英]Collect kubernetes' pods logs

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

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

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

在此处输入图片说明

Kubernetes 中的 FluentBit daemonset 正是实现了这种架构。 有关 FluentBit 的更多文档: https ://docs.fluentbit.io/manual/concepts/data-pipeline

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM