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。
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: