我正在为我们的NGINX Plus服务器构建一个监控系统,我们正在Kubernetes上运行这些服务器。默认情况下,NGINX Plus附带了API来获取统计数据,但它们不会进入特定的代码--比如1XX、2xx --我希望获得200、301、302、404等特定代码的度量标准,我唯一能找到的方法是使用像telegraf这样的工具来解析NGINX日志文件,但问题是默认情况下,NGINX流日志使用STDOUT和STDERR进行聚合,telegraf实际上是从流中捕获日志,存储在容器上的日志没有意义,因为它不会被fluent位所选择。
我在同一个吊舱中运行NGINX和telegraf,K8s有shareProcessNamespace,它允许访问同一荚中的容器文件系统,但NGINX并不是真正地编写这些日志来记录其流。
有什么方法可以解析日志,也可以流日志到码头恶魔?
发布于 2022-07-11 06:57:16
默认情况下,使用STDOUT和STDERR的NGINX流日志
因此,您应该部署一个配置为登录到syslog
的syslog
。
请记住,telegraf NGiNX输入插件可能没有您需要的详细信息:
使用此配置: [inputs.nginx] ##是一个Nginx stub_status URI数组,用于收集统计数据。urls = "http://localhost/status“” 当运行时: ./telegraf --config telegraf.conf -输入-filter nginx -测试 它产生: *插件: nginx,Collection 1> nginx,port=80,server=localhost >accepts=605i,active=2i,handled=605i,reading=0i,requests=12132i,waiting=1i,writ>ing=1i 1456690994701784331
(除非你是配置度量集,与普罗米修斯一起)
https://stackoverflow.com/questions/72819034
复制相似问题