Nginx的监控依赖于模块nginx-module-vts,如果当前Nginx不包含,则需要重新编译,增加该模块。 查看当前Nginx已包含的模块,并备份。 1、检查当前服务器上面的nginx 编译的模块 是否有 nginx-module-vts当前nginx 版本 1.15.9 并没有编译 nginx-module-vts 需要重新编译。 2、下载编译官方版的 nginx-module-vts 注意:nginx需要1.10以后的版本支持。 mkdir -p /usr/local/nginxmodule cd /usr/local/nginxmodule/ git clone git://github.com/vozlt/nginx-module-vts.git
3、重新编译nginx 如果之前的nginx解压目录还在的话最好,如果没有了就去官网下载一个相同版本的nginx解压,进入到nginx目录(这里的nginx是之前从网上下载下来解压后的目录,不是当前正在运行的nginx目录,切记切记) tar xf /filedown/centos7/02_nginx/nginx-1.15.9.tar.gz -C /opt/ cd /opt/nginx-1.15.9/ ./configure --with-http_ssl_module --with-http_stub_status_module --prefix=/usr/local/nginx/ --add-module=/usr/local/nginxmodule/nginx-module-vts make ########### 执行之后make下,make后千万不要执行make install 执行make后,当前目录会生成一个objs目录,进入这个目录 目录下会产生一个新的nginx程序文件,这个就是新的程序文件,把之前的备份,产生新的拷贝过去 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak cd /opt/nginx-1.15.9/objs/ 先停止nginx ,才能覆盖原来的nginx文件 pkill nginx cp ./nginx /usr/local/nginx/sbin/
systemctl start nginx
检查是否有新增的编译模块:
3、修改nginx 配置文件: http段,添加如下:
server 段,添加如下
检查配置文件 nginx -t
重启 nginx nginx -s reload 4、WEB验证
############# 配置详解: 1、打开vhost过滤:vhost_traffic_status_filter_by_host on; 开启此功能,在Nginx配置有多个server_name的情况下,会根据不同的server_name进行流量的统计,否则默认会把流量全部计算到第一个server_name上。 2、在不想统计流量的server区域禁用vhost_traffic_status,配置示例: server {undefined … vhost_traffic_status off; … } 3、假如nginx没有规范配置server_name或者无需进行监控的server上,那么建议在此vhost上禁用统计监控功能。否则会出现"127.0.0.1",hostname等的域名监控信息。 ################