目录

一、Nginx监控模块简介

二、安装流程

1.关闭防火墙,关闭核心防护

2. 上传nginx安装包编辑

 3.安装Nginx依赖环境编辑

4.编译安装nginx

5.移动模块

6.加载模块

编辑 7.编译安装

8. 创建软连接,优化管理

9. 使用systemctl 管理nginx

10. 开启服务

11. 修改默认日志文件格式,添加压缩配置,添加监控配置

12.再在http模块里添加以下内容:

 13.访问IP/status编辑

14.监控列表各项信息


nginx监控模块 nginx 监控_html

 

一、Nginx监控模块简介

监控Nginx主要用到以下三个模块
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 Prometheus consumption。主要用于收集Nginx的监控数据,并给Prometheus提供监控接口,默认端口号9913。
3、Prometheus:监控Nginx-vts-exporter提供的Nginx数据,并存储在时序数据库中,可以使用PromQL对时序数据进行查询和聚合。

二、安装流程

1.关闭防火墙,关闭核心防护

nginx监控模块 nginx 监控_nginx监控模块_02

2. 上传nginx安装包

nginx监控模块 nginx 监控_html_03

 3.安装Nginx依赖环境

nginx监控模块 nginx 监控_html_04

nginx监控模块 nginx 监控_html_05

4.编译安装nginx

        解压两个压缩包 

nginx监控模块 nginx 监控_前端_06

nginx监控模块 nginx 监控_前端_07

5.移动模块

mv nginx-module-vts-master /usr/local/

nginx监控模块 nginx 监控_linux_08

6.加载模块

加载./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx-module-vts-master/

nginx监控模块 nginx 监控_前端_09

 7.编译安装

nginx监控模块 nginx 监控_linux_10

8. 创建软连接,优化管理

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin 

nginx监控模块 nginx 监控_nginx监控模块_11

创建用户

nginx监控模块 nginx 监控_linux_12

检查配置文件是否配置正确

nginx监控模块 nginx 监控_linux_13

9. 使用systemctl 管理nginx

        添加nginx.service配置文件

nginx监控模块 nginx 监控_linux_14

给文件安全优化

nginx监控模块 nginx 监控_nginx_15

10. 开启服务

nginx监控模块 nginx 监控_nginx监控模块_16

检查开启的模块

nginx监控模块 nginx 监控_nginx监控模块_17

11. 修改默认日志文件格式,添加压缩配置,添加监控配置

nginx监控模块 nginx 监控_html_18

12.再在http模块里添加以下内容:

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" } }';

nginx监控模块 nginx 监控_前端_19

 在location下再加一个location

nginx监控模块 nginx 监控_linux_20

nginx监控模块 nginx 监控_linux_21

 重启nginx

nginx监控模块 nginx 监控_nginx监控模块_22

 13.访问IP/status

nginx监控模块 nginx 监控_html_23

14.监控列表各项信息

Server main 主服务器
Host:主机名
Version:版本号
Uptime:服务器运行时间
Connections active:当前客户端的连接数 reading:读取客户端连接的总数 writing:写入客户端连接的总数
Requsts accepted:接收客户端的连接总数 handled:已处理客户端的连接总数 Total:请求总数 Req/s:每秒请求的数量
Shared memory:共享内存 name:配置中指定的共享内存名称 maxSize:配置中指定的共享内存的最大限制 usedSize:共享内存的当前大小 usedNode:共享内存中当前使用的节点数
Server zones 服务器区域
zone: 当前区域
Requests Total:请求总数 Req/s:每秒请求数 time:时间
Responses:状态码数量 1xx、2xx、3xx、4xx、5xx 表示响应不同状态码数量 Total:响应状态码的总数
Traffic表示流量 Sent:发送的流量 Rcvd:接收的流量 Sent/s:每秒发送的流量 Rcvd/s:每秒接收的流量
Cache表示缓存 Miss:未命中的缓存数 Bypass:避开的缓存数 Expirde:过期的缓存数 Stale:生效的缓存数 Updating:缓存更新的次数 Revalidated:重新验证的缓存书 Hit:缓存命中数 Scarce:未达缓存要求的请求次数Total:总数