Prometheus实战篇:Prometheus监控nginx

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
简介: 在此专栏的前几篇文章中已经准备了一台服务器作为我们进行环境的准备.大家也可以通过虚拟机创建俩台服务器,一台作为Prometheus的安装另外一台进行其他软件安装并且进行监控的服务器.

Prometheus实战篇:Prometheus监控nginx

准备环境


在此专栏的前几篇文章中已经准备了一台服务器作为我们进行环境的准备.大家也可以通过虚拟机创建俩台服务器,一台作为Prometheus的安装另外一台进行其他软件安装并且进行监控的服务器.


这里我就不赘述nginx的安装教程,相信大家都可以搜到,使用docker或者直接通过安装包解压的方式都可以,我这里是通过docker的方式进行安装的,后面的操作其实都是大差不差的.


nginx开启stub_status


  • 监控nginx需要with-http_stub_status_module这个模块


首先检查是否有安装with-http_stub_status_module模块


docker方式安装


docker exec -it nginx nginx -v 2>&1  |grep -o with-http_stub_status_module


nginx安装包方式安装


nginx nginx -v 2>&1  |grep -o with-http_stub_status_module


nginx开启stub_status配置


将下面配置文件写到nginx.conf配置文件中:


server {
  .....
  location /stub_status {
    stub_status on;
    access_log off;
    allow 0.0.0.0/0;
    deny all;
  }
  ....
}


重新加载配置文件


docker exec -it nginx nginx -s reload


检查是否开启成功


curl http://localhost/syub_status


成功如下图:



安装Exporter


在上篇文章中说了Prometheus需要监控什么软件需要对应安装的Exporter,当然这里可以使用二进制安装也可以使用docker安装.这里为了方便,还是选择docker-compose的方式直接安装


docker-compose方式进行安装


这里直接通过创建docker-compose.yaml然后进行追加配置


cat >docker-compose.yaml <<FOF
version: '3.3'
services:
 nginx_exproter:
  image:nginx/nginx-prometheus-exporter:0.11
  container_name: nginx_exporter
  hostname: nginx_exporter
  command:
   - '-nginx.scrape-uri=http://localhost/stub_status'
   restart: always
   port:
   - "9113:9113"
EOF


启动


docker-compose up -d


检查


查看正在运行的容器
docker ps
或者:
查看nginx_exporter容器的运行日志
docker logs -f nginx_exporter


metrics地址


安装好Exporter后会暴露一个/metrics结尾的服务

名称

地址

nginx_exporter

http://localhost:9113/metrics


Prometheus配置


配置Prometheus去采集(拉取)nginx_exporter的监控样本数据


cd /data/docker-prometheus
# 在scrapc_configs(搜刮配置):下面增加如下配置:
cat >prometheus/prometheus.yml <<FOF
 - job_name: 'nginx_exporter'
   static_configs:
   - targets: ['localhost:9113']
     labels:
      instance: test服务器 
EOF


重新加载配置


curl -x POST http://localhost:9090/-/reload


检查



常用的nginx监控指标


nginx_connections_accepted  接受请求数
nginx_connections_active  活动连接数
nginx_connections_handled 成功处理请求数
nginx_connections_reding  正在进行读操作的请求数
nginx_connections_waiting 正在等待的请求数
nginx_connections_writing 正在进行写操作的请求数
nginx_connections_requests  总请求数


添加触发器


cd /data/docker-prometheus


cat >prometheus/alert.yml <<FOF
 -name: nginx
  rules:
  # 任何势力超过30秒无法联系的情况发出警报
  - alert: NginxDown
    expr: nginx_up ==0
    for: 30s
    labels:
      severity: critical
    annotations:
      summary:"nginx异常,实例:{{$labels.instance }}"
      description: "{{$lables.job}} nginx已关闭"
EOF


检查:


vim prometheus/alert.yml


检查配置


docker exec -it prometheus promtool check config /etc/prometheus/prometheus.yml


重新加载配置


curl -x POST http://localhost:9090/-/reload


检查


http://localhost:9090/alerts?search=


或:


http://localhost:9090/rules


dashboard


grafana展示Prometheus从nginx_exporter收集到的数据

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
相关文章
|
24天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
133 3
|
23天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
118 0
|
3月前
|
存储 Prometheus 监控
性能监控之初识 Prometheus
【8月更文挑战第2天】性能监控之初识 Prometheus
300 17
|
3月前
|
Prometheus 监控 Cloud Native
性能监控之 Golang 应用接入 Prometheus 监控
【8月更文挑战第4天】性能监控之 Golang 应用接入 Prometheus 监控
208 0
性能监控之 Golang 应用接入 Prometheus 监控
|
3月前
|
Prometheus 监控 Cloud Native
性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
【8月更文挑战第3天】性能监控之 node_exporter+Prometheus+Grafana 实现主机监控
386 0
|
5月前
|
Prometheus 监控 Cloud Native
性能监控神器Prometheus、Grafana、ELK 在springboot中的运用
【6月更文挑战第27天】在 Spring Boot 应用中,监控和日志管理是确保系统稳定性和性能的重要手段。
355 4
|
5月前
|
Prometheus 监控 Cloud Native
搭建服务端性能监控系统 Prometheus 详细指南
搭建Prometheus监控系统,涉及Ubuntu上Docker的安装,通过`docker run`命令启动Prometheus容器,并挂载配置文件。配置文件默认示例可以从GitHub获取,调整`scrape_interval`和`targets`以监控Prometheus自身及Node Exporter(提供系统指标)。Node Exporter以Docker容器形式运行在9100端口。完成配置后,重启Prometheus容器,通过Web界面查看监控数据。后续将介绍结合Grafana进行可视化。
|
6月前
|
Prometheus Kubernetes 监控
|
6月前
|
Prometheus 监控 Cloud Native
SpringCloud微服务实战——搭建企业级开发框架(四十五):【微服务监控告警实现方式二】使用Actuator(Micrometer)+Prometheus+Grafana实现完整的微服务监控
无论是使用SpringBootAdmin还是使用Prometheus+Grafana都离不开SpringBoot提供的核心组件Actuator。提到Actuator,又不得不提Micrometer,从SpringBoot2.x开始,Actuator的功能实现都是基于Micrometer的。
495 57
|
6月前
|
Prometheus 监控 Cloud Native
Prometheus实战篇:Prometheus监控docker
Prometheus实战篇:Prometheus监控docker
下一篇
无影云桌面