运维监控系列(9)-Prometheus+Grafana监控Nginx、Minio

Nginx

1. Nginx 开启 stub_status 模块监控

Nginx 通过 stub_status 页面暴露了部分监控指标。Nginx Prometheus Exporter 会采集单个 Nginx 实例指标,并将其转化为 Prometheus 可用的监控数据, 最终通过 HTTP 协议暴露给 Prometheus 服务进行采集。我们可以通过 Exporter 上报重点关注的监控指标,用于异常报警和大盘展示。

执行以下命令检查 Nginx 是否已经开启了该模块:

# 没有任何结果说明没开启
nginx -V 2>&1 | grep -o with-http_stub_status_module

所以需要源码重新配置编译一个 Nginx。

# 下载压缩包并解压(省略。。。)
./configure --prefix=/ops/nginx --with-http_stub_status_module
make && make install
# 启动
./nginx 

访问nginx主机IP:port/stub_status路径,出现信息,说明成功。
 

2. 安装nginx-prometheus-exporter

地址

关于nginx监控,其实还可以使用nginx-vts-exporter,抓取Nginx vts统计信息。

docker-compose文件:

  nginx_exporter:
    image: nginx/nginx-prometheus-exporter:0.9.0
    container_name: nginx_exporter
    hostname: nginx_exporter
    command:
     - '-nginx.scrape-uri=http://192.168.3.22:80/stub_status'
    restart: always
    ports:
    - "9101:9113"
    networks:
      - ops
networks:
    ops:
        driver: bridge

访问exporter(ip:port)
 

3. Prometheus配置

scrape_configs:
  - job_name: 'nginx'
    static_configs:
    - targets: ['{nginx-prometheus-exporter主机IP}:9101']

 

4. Grafana配置

这里直接从github上下载仪表盘。
 
成功导入:
 

Minio

官方集成文档

MinIO默认情况下将Prometheus兼容数据作为授权端点导出/minio/prometheus/metrics。希望监视其MinIO实例的用户可以指向Prometheus配置,以从该终结点抓取数据。

1. MINIO身份认证配置

MinIO支持两种方式:

  • Prometheus jwt
  • 身份验证模式public

默认情况下,MinIO以jwt模式运行。要允许对prometheus度量标准不进行身份验证就可以进行公共访问,请按如下所示设置环境。

export MINIO_PROMETHEUS_AUTH_TYPE="public"
# 启动minio
minio server ~/test

所以我们需要修改下minio的启动脚本,设置prometheus监控端点不需要身份验证:

# Windows 10 cmd启动脚本
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=admin123
set MINIO_PROMETHEUS_AUTH_TYPE="public"
minio.exe  server  --address :9000 --console-address :9001 D:\tools\minio\data

重新启动minio,访问http://ip:9000/minio/prometheus/metrics:
 

2. Prometheus配置

scrape_configs:
 # 文件服务器
  - job_name: minio
    metrics_path: /minio/prometheus/metrics
    scrape_interval: 10s
    scheme: http
    static_configs:
    	- targets: ['192.168.45.23:9000']

查看控制台:
 

3. Grafana配置

直接导入id为12563。
 

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: