所以我在官方Openshift/Origin architecture之后安装了以下Openshift/Origin documentation 我们还想使用开箱即用的聚合日志记录设置,这就是严格使用Openshift aggregated logging文档设置的原因。
到目前为止,反馈非常好,但我还有另一项挑战,我需要一些帮助。 开发人员希望自己指定将转发到Elasticsearch的日志级别。当前日志级别仅通过FluentD设置。
有没有办法通过Deployment变量设置日志级别,并将Fluentd传递给Elasticsearch?
目标是为人们提供一种方法,由他们自己设置将转发给Elasticsearch的日志级别。
答案 0 :(得分:1)
我担心如果不添加自定义FluentD,标准工具就无法做到这一点。
首先,Docker通过json-file logging reading a container logs提供的集群driver中的FluentD:
默认情况下,Fluentd分别从/ var / log / messages和/var/log/containers/.log读取系统日志和容器日志。
即使使用SystemD日志记录,您也会得到相同的结果 - 日志记录级别由Docker设置。 Kubernetes also using那个司机。
对于Docker json文件驱动程序,您可以设置log-tags
,从理论上讲,它可以帮助您过滤日志。但是Kubernetes不可能在运行时为容器设置选项,所以现在有办法。
我唯一能看到你如何做到这一点的方法是使用边车容器with custom logging agent。它看起来像这样:
使用sidecar,您可以在其中运行带有自定义配置的FluentD,并通过任何修改解析应用程序的日志,包括将环境变量用作日志级别。