prometheus配置nginx监控
概要规划
监控Nginx主要用到以下三个模块:
nginx-module-vts:Nginx virtual host traffic status module,Nginx的监控模块,能够提供JSON格式的数据产出。
nginx-vts-exporter:Simple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption。主要用于收集Nginx的监控数据,并给Prometheus提供监控接口,默认端口号9913。
Prometheus:监控Nginx-vts-exporter提供的Nginx数据,并存储在时序数据库中,可以使用PromQL对时序数据进行查询和聚合。
一、nginx-module-vts
1. 下载模块
git clone git://github.com/vozlt/nginx-module-vts.git
记住nginx-module-vts的下载目录
如果没有git,先自行安装git
2. 来到nginx的初始安装包目录,重新编译配置nginx
先来到nginx的初始安装包目录
在nginx编译时添加vts模块 –add-module=nginx-module-vts的下载目录
./configure --prefix=/usr/local/nginx --user=nginx --add-module=/opt/nginx-module-vts
3. 安装
make && make install
4. Nginx Conf配置
来到nginx的安装目录,并修改nginx.conf配置文件
http {
...
vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;
server {
...
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
然后启动nginx
如果启动报如下错误
执行该命令解决
useradd -s /sbin/nologin -M nginx
重新启动
启动完成后访问: http://192.168.48.128/status
二、nginx-vts-exporter
1. 下载的软件包
wget -c https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.9.1/nginx-vts-exporter-0.9.1.linux-amd64.tar.gz
2. 解压
tar -zxvf nginx-vts-exporter-0.9.1.linux-amd64.tar.gz
3. 进入解压后的目录,并运行
nohup ./nginx-vts-exporter -nginx.scrape_timeout 10 -nginx.scrape_uri http://192.168.48.128/status/format/json &
4. 访问 http://192.168.48.128:9913/metrics
三、Prometheus
1. 来到prometheus对应的服务器,并进入prometheus目录
2. 修改prometheus.yml,添加对应的job_name
3. 保存配置文件,重启prometheus
重启之后访问,prometheus的UI界面