如何在每个pod的基础上从Kubernetes向GELF UDP端点发送日志



我最近开始使用kubernetes,现在正在研究如何配置集中式日志记录。对于大多数pod,应用程序本身直接登录到GELF端点(logstash(,但我也需要从许多"管理"pod获取日志。

以前,当我使用Docker Swarm时,我只需将日志驱动程序(和相关配置(添加到compose文件中。然而,在Kubernetes中似乎没有这个选项。

我曾考虑过使用Fluentd直接从/var/log/contences读取日志,但我在这里遇到了几个问题:

  1. 似乎没有任何简单的方法来指定要登录到logstash的pod;我知道你可以创建过滤器等,但这似乎不太容易维护,在单个pod上使用注释似乎更明智。

  2. /var/log/containers中的日志采用json文件日志格式,而不是GELF。

kubernetes中有没有任何方法可以在每个pod的基础上使用内置的Docker日志驱动程序来轻松登录GELF端点?

尝试将fluentd与Kubernetes元数据插件一起使用,以提取本地json文件docker日志并发送到Graylog2。

tag_to_kubernetes_name_regexp-用于从当前fluentd标记中提取Kubernetes元数据(pod名称、容器名称、命名空间(的正则表达式。

相关内容

  • 没有找到相关文章

最新更新