【发布时间】:2016-11-05 03:30:59
【问题描述】:
我有一个 Elasticsearch Logstash Kibana 堆栈来监控我的 nginx 服务器。每个 nginx 日志都被按需获取、解析、存储和聚合。由于我的流量很大,因此维护这个堆栈非常繁重。
我正在寻找一个 nginx 响应代码的吞吐量计,以每秒按类别(2xx、3xx、4xx、5xx)打印状态代码响应的总和。我应该去哪里看?
【问题讨论】:
标签: nginx scalability
我有一个 Elasticsearch Logstash Kibana 堆栈来监控我的 nginx 服务器。每个 nginx 日志都被按需获取、解析、存储和聚合。由于我的流量很大,因此维护这个堆栈非常繁重。
我正在寻找一个 nginx 响应代码的吞吐量计,以每秒按类别(2xx、3xx、4xx、5xx)打印状态代码响应的总和。我应该去哪里看?
【问题讨论】:
标签: nginx scalability
几个选项:
状态模块,正如@VBart 所提到的,仅适用于商业订阅者http://nginx.org/en/docs/http/ngx_http_status_module.html#data
开源替代品,即 nginx-sla: https://github.com/goldenclone/nginx-sla/blob/master/README.en.md
我已经看到 nginx-sla 在负载非常高的 nginx 实例上生产。 不确定它是否与最新版本兼容
想出您自己的解决方案。例如,将 4xx / 5xx / 任何错误组路由到专用日志,将它们本地聚合到 nginx 的盒子上,然后由本地代理(即 zabbix_agent,如果你有 zabbix)获取,或者根据你的堆栈发送到其他地方。请注意,您可以只转储汇总指标 (wc -l),然后在您选择的工具中找出动态
【讨论】:
nginx plus的状态模块有这样的特点: http://nginx.org/en/docs/http/ngx_http_status_module.html#data
【讨论】: