07-prometheus2.31.1-grafana8.3.1监控nginx

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等的域名监控信息。 
################