如何解析日志和流日志到docker恶魔?



我正在为我们的NGINX Plus服务器构建一个监控系统,我们正在Kubernetes上运行这些服务器。默认情况下,NGINX Plus自带API来获取统计数据,但他们不进入特定的代码,他们得到汇总像1XX, 2xx我希望得到指标的特定代码,如200,301,302,404,我能找到的唯一方法是解析NGINX日志文件使用工具,如telegraf,但问题是默认情况下NGINX流日志使用STDOUT和STDERR,telegraf不能真正从流中捕获日志,并且将日志存储在容器上没有意义,因为它不会被fluent-bit提取。

我在同一个pod中运行NGINX和telegraf, K8s有shareProcessNamespace,允许访问同一个pod中的容器文件系统,但NGINX并没有真正写这些日志来文件它的流。

是否有任何方法我可以解析日志,也流日志到docker恶魔?

默认的NGINX流日志使用STDOUT和STDERR

所以你应该部署一个配置到access.logsyslog的NGiNX

,请记住telegraf NGiNX输入插件可能没有你需要的细节:

使用这个配置:

[[inputs.nginx]]
## An array of Nginx stub_status URI to gather stats.
urls = ["http://localhost/status"]

./telegraf --config telegraf.conf --input-filter nginx --test

它产生:

* Plugin: nginx, Collection 1
> nginx,port=80,server=localhost >accepts=605i,active=2i,handled=605i,reading=0i,requests=12132i,waiting=1i,writ>ing=1i 1456690994701784331

(除非您与Prometheus一起配置了Metrics Collection)

相关内容

  • 没有找到相关文章

最新更新