共计 1261 个字符,预计需要花费 4 分钟才能阅读完成。
用到三个模块
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模块的编译
在宝塔下比较简单,如果已经安装了Nginx,需要先卸载掉,然后
下载模块
git clone git://github.com/vozlt/nginx-module-vts.git
记住下载的位置
宝塔上点击安装Nginx,选好版本,我这里选择 《nginx -Tengine2.2》,然后勾选编译安装
这时可以选择附加模块,点击增加模块
附加命令里面填写
--add-module=/path/to/nginx-module-vts
上面填入从git上下载的模块的目录,然后点击安装即可完成 nginx-module-vts模块 的安装
配置Nginx的配置文件
点开Nginx的配置,进入配置修改
在 2 的位置,填写
vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;
配置站点
在宝塔新建一个站点,域名可以随便填写
然后点击配置文件
2 . 配置端口方便直接访问
3 . 配置地址,该地址用于显示状态
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
nginx-vts-exporter的使用
下载二进制文件
wget -c https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.9.1/nginx-vts-exporter-0.9.1.linux-amd64.tar.gz
解压,假设 解压路径为 /opt/nginx-vts-exporter
运行
./opt/nginx-vts-exporter/nginx-vts-exporter -nginx.scrape_timeout 10 -nginx.scrape_uri http://127.0.0.1:9010/status/format/json
prometheus.yml 文件编写
- job_name: 'Nginx-vts'
static_configs:
- targets: ['刚才配置的机器的IP:9913']
重启 prometheus
配置 grafana 图表
导入 模板ID 为 2949 的模板即可