千家信息网

基于prometheus如何监控nginx

发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,这篇文章主要介绍"基于prometheus如何监控nginx",在日常操作中,相信很多人在基于prometheus如何监控nginx问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2024年10月20日基于prometheus如何监控nginx

这篇文章主要介绍"基于prometheus如何监控nginx",在日常操作中,相信很多人在基于prometheus如何监控nginx问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"基于prometheus如何监控nginx"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

安装准备

  • nginx服务器:172.22.3.164

  • prometheus主机已安装prometheus和grafnana

基于prometheus监控nginx可选两个exporter,一个是通过nginx_exporter主要是获取nginx-status中的内建的指标,nginx自身提供status信息,较为简单,promethues中对应的metrics也较少。另外一个是可以通过nginx-vts-exporter监控更多的指标,但nginx-vts-exporter依赖在编译nginx的时候添加nginx-module-vts模块来实现。vts提供了访问虚拟主机状态的信息,包含server,upstream以及cache的当前状态,显然指标会更丰富一些。本实践主要是介绍基于prometheus使用nginx-vts-exporter对nginx进行监控。

  • 相关安装文件

https://github.com/vozlt/nginx-module-vts/archive/v0.1.18.tar.gzhttps://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
  • nginx添加nginx-module-vts支持

# cd /opt/nginx-1.19.6# wget https://github.com/vozlt/nginx-module-vts/archive/v0.1.18.tar.gz  # tar -zxf v0.1.18.tar.gz## 重新编译# ./configure --add-module=nginx-module-vts-0.1.18/# make# cp objs/nginx /usr/local/nginx/sbin/nginx
  • 修改nginx.conf

http {    vhost_traffic_status_zone;    vhost_traffic_status_filter_by_host on;    server {        listen 10011;        server_name localhost;    #   vhost_traffic_status off;        location /nginx_status {            vhost_traffic_status_display;            vhost_traffic_status_display_format html;        }    }}
  • 重启nginx后,访问http://172.22.3.164:10011/stub_status

安装nginx-vts-exporter

  • 在nginx服务器安装nginx-vts-exporter

# cd /opt/# wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz# tar -zxf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz# cp nginx-vts-exporter-0.10.3.linux-amd64/nginx-vts-exporter /usr/local/bin
  • 创建service

## 创建service# vi /usr/lib/systemd/system/nginx-vts-exporter.service[Unit]Description=nginx-vts-exporterDocumentation=https://prometheus.io/After=network.target[Service]Type=simpleUser=rootExecStart=/usr/local/bin/nginx-vts-exporter \  -nginx.scrape_timeout 10 \  -nginx.scrape_uri http://127.0.0.1:10011/nginx_status/format/jsonRestart=on-failure[Install]WantedBy=multi-user.target
  • 设置自动启动

# systemctl daemon-reload## 设置自启动# systemctl enable nginx-vts-exporterCreated symlink from /etc/systemd/system/multi-user.target.wants/nginx-vts-exporter.service to /usr/lib/systemd/system/nginx-vts-exporter.service.

配置nginx-vts-exporter监控

  • 修改prometheus配置文件prometheus.yml,在scrape_configs下增加如下配置

- job_name: 'nginx-hosts'    file_sd_configs:      - files: ['/opt/prometheus/sd_config/nginx-hosts.yml']        refresh_interval: 5s
  • 新增/opt/prometheus/sd_config/docker-hosts.yml文件,内容如下

cat /opt/prometheus/sd_config/nginx-hosts.yml- targets:  - 172.22.3.164:9913
  • 重启prometheus

# systemctl restart prometheus

浏览器地址栏输入 http://172.22.3.148:9090/targets

可以看到targets已经增加了对服务nginx-hosts的监控

  • 在grafana中配置面板显示对主机nginx-hosts监控内容

点"+"按钮,弹出导入面板窗口

如图输入2949,点Load,grafana会直接从官方网站导入编号为2949的面板如下

选择数据源Prometheus,继续"Import",显示nginx监控界面显示如下

到此,关于"基于prometheus如何监控nginx"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

监控 学习 配置 主机 指标 文件 更多 面板 服务 信息 内容 服务器 状态 网站 实践 帮助 编译 输入 实用 接下来 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 生物信息学与网络安全研究生 网络安全法47条内容 电表管理系统数据库没了 大运文旅发展有限公司软件开发 添亿通讯网络技术有限公司 软件开发商业计划书30字 计算机网络技术开设的大学 我国网络安全事件应急响应分为 网络安全教育教案 高中 学软件开发没有基础难学吗 汽车互联网科技服务开通 在职软件开发 数据库中的马怎么判断 当一个服主改名字后进服务器 北理工汽车网络技术在线作业 银行要软件开发吗 网络安全法百度题库及答案 钱海网络技术科技有限 网络安全漏洞会影响 网信办国家网络安全 魔兽世界数据库7.2 linux数据库文件在哪个目录 初学者怎么自学网络技术 软件开发都用哪些软件 网络安全线上巡检新闻稿 网络安全公益宣传小视频 ctf网络安全大赛flag 软件开发 招标交付 迅雷网数据库叫什么意思 如何在服务器中加个人材质包
0