在宝塔上用Prometheus监控Nginx基于nginx-module-vts

186次阅读
没有评论

共计 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的配置,进入配置修改

在宝塔上用Prometheus监控Nginx基于nginx-module-vts

在 2 的位置,填写

vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;

配置站点

在宝塔新建一个站点,域名可以随便填写

然后点击配置文件

在宝塔上用Prometheus监控Nginx基于nginx-module-vts

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 的模板即可

正文完
 0
Eric chan
版权声明:本站原创文章,由 Eric chan 于2021-05-11发表,共计1261字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。