龙空技术网

Nginx如何监控各server的流量

运维小弟 1535

前言:

今天姐妹们对“nginx授权多条地址”大体比较重视,你们都想要分析一些“nginx授权多条地址”的相关资讯。那么小编同时在网络上收集了一些关于“nginx授权多条地址””的相关内容,希望各位老铁们能喜欢,大家一起来了解一下吧!

nginx中,ngx_http_status_module(在1.13之前)或ngx_http_api_module中提供了丰富的nginx状态信息,可以作为nginx监控数据,可以更全面的监控nginx,但这两个模块都是收费版本

而在开源版本中,就只能通过stub_status模块来查看nginx状态信息,如图:

这信息太少了,作为最常用的web中间件,这点信息显然不够

今天介绍一个第三方模块——ninx-module-vts

仓库地址:

该模块是一个nginx的监控模块,能够提供json、html、prometheus格式的数据输出,虽然已经两年没有更新维护过了,但我在nginx1.16仍能编译成功

首先clone源码

接着在nginx源码包中添加动态模块

接着安装模块

安装完成,在objs目录下生成了库文件

将库文件复制到nginx的modules目录下,在nginx配置文件中通过load_module加载该模块

模块添加完之后,就可以享受商业版status模块(api模块)的待遇了,先来看下最基本的状态信息

上图就是html格式的状态信息,动态显示,每秒刷新一次,只需要如下配置

在http模块中添加vhost_traffic_status_zone

接着在vhost中添加status的location

如果是zabbix监控采集数据,可以用json格式

如果是prometheus,可以直接用prometheus的格式输出

除了可以提供各种格式的数据输出,它最香的就是可以监控各vhost的流量

通常一个nginx的web服务中,会包含多个server,但是通常监控的流量都是服务器总的流量,目前我只能通过分析日志来进行访问量统计,找到流量大的server(如果有其他方式,请留言指教)

那么有这个nginx监控模块之后,各个server的流量,一览无余

复制一份刚才的配置,添加一个server

访问一下之后,查看状态页面

可以看到server zones统计中,每个server的信息分别详细展示

除了server分别统计外,各个upstream也可以分别统计,这样我们可以很方便的查看nginx转发到upstream的流量,结合监控可以实现动态调整后端权重或者流量

转载于

标签: #nginx授权多条地址