目录
1、nginx-module-vts: Nginx virtual host traffic status module, Nginx 的监控模块,能够提供JSON格式的数据产出。
2、nginx-vts-exporter: Simple server that scrapes Nginx vts stats and exports them via HTTP for Prome theus consumption. 主要用于收集nginx的监控数据,并给prometheus提供监控接口,默认端口号为9913
3、prometheus:监控nginx-vts-exporter提供的nginx数据,并且存储在时序数据库中,可以使用rromQL对时序数据进行查询和聚合。
- systemctl stop firewalld
- systemctl disable firewalld
- setenforce 0
-
- yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel make

- cd /opt
- tar -xvf nginx-1.15.9.tar.gz
- cd nginx-1.15.9
- ./configure \
- --prefix=/usr/local/nginx \ 指定路径
- --user=nginx \ 指定用户
- --group=nginx \ 指定组
- --add-module=/usr/local/nginx-module-vts-master/ 代替上一条




useradd -M -s /sbin/nologin nginx
- nginx -t #检查配置文件是否配置正确
- nginx #启动

- vim /usr/lib/systemd/system/nginx.service
- [Unit]
- Description=nginx #描述
- After=network.target #描述服务类别
- [Service]
- Type=forking #后台运行类型
- PIDFile =/usr/local/nginx/logs/nginx.pid #PID文件位置
- ExecStart=/usr/local/nginx/sbin/nginx #启动服务
- ExecrReload=/bin/kill -s HUP $MAINPID #根据PID重载配置
- ExecrStop=/bin/kill -s QUIT $MAINPID #根据PID终止进程
- PrivateTmp=true
- [Install]
- WantedBy=multi-user.target #启动级别
-
- chmod 754 /lib/systemd/system/nginx.service #设置754权限是一种安全优化
- systemctl start nginx.service
- systemctl enable nginx.service
-
- PS:
- systemctl status 多个服务
- watch -n 2 systemctl status



- vim nginx.conf
- http {
- include mime.types;
- default_type application/octet-stream;
- vhost_traffic_status_zone; #流量状态监控
-
- log_format main '{ "@timestamp": "$time_local", '
- '"@fields": { '
- '"uri":"$request_uri",'
- '"url":"$uri",'
- '"upstream_addr":"$upstream_addr",'
- '"remote_addr": "$remote_addr", '
- '"remote_user": "$remote_user", '
- '"body_bytes_sent": "$body_bytes_sent", '
- '"host":"$host",'
- '"server_addr":"$server_addr",'
- '"request_time": "$request_time", '
- '"request_time":"$request_time",'
- '"status":"$status",'
- '"request": "$request", '
- '"request_method": "$request_method", '
- '"size":$body_bytes_sent,'
- '"upstream_time":"$upstream_response_time"'
- '"http_referrer": "$http_referer", '
- '"body_bytes_sent":"$body_bytes_sent", '
- '"http_x_forwarded_for": "$http_x_forwarded_for", '
- '"http_user_agent": "$http_user_agent" } }';
-
- PS:主要是修改默认日志文件格式,添加压缩配置,添加监控配置,具体可根据自己的需求修改



- location / {
- root html;
- index index.html index.htm;
- }
- location /status {
- vhost_traffic_status_display;
- vhost_traffic_status_display_format html;
- }
测试是否加载完成


监控列表各项信息
Server main 主服务器
Server zones 服务器区域