1 minio监控方式
MinIO给Prometheus提供了两种访问策略:
1)public方式:
给MinIO集群设置环境变量export MINIO_PROMETHEUS_AUTH_TYPE=public,Prometheus可以不通过验证访问MinIO集群;这种方式方便简洁,本文采用这种方式。
2)访问验证token方式:
通过客户端命令mc使用命令mc admin prometheus generate <ALIAS>生成验证token,将token配置到Prometheus,Prometheus根据token信息访问集群,具体方法可参考官网。
修改MinIO集群的minio.yaml文件,修改环境变量env部分,新增Prometheus访问权限:
2 minio安装
1、创建目录
mkdir -p /app/module/minio /data/minio
2、下载
cd /app/module/minio
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
chmod a+x minio
3、创建启动文件
vim min_server_single.sh
#!/bin/bash
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=minioadmin
MINIO_HOME=/app/module/minio
MINIO_DATA=/data/minio
nohup ${MINIO_HOME}/minio server ${MINIO_DATA} --address :9000 --console-address :9090 > ${MINIO_HOME}/minio.log 2>&1 &
chmod a+x min_server_single.sh
4、启动程序
sh min_server_single.sh
3 public方式
3.1 minio增加配置
export MINIO_PROMETHEUS_AUTH_TYPE=public
然后重启minio
3.2 配置prometheus
- job_name: "minio-job" #集群指标
metrics_path: "/minio/v2/metrics/cluster"
static_configs:
- targets: ["192.168.137.131:9000"]
- job_name: "minio-job-node" #节点指标
metrics_path: "/minio/v2/metrics/node"
static_configs:
- targets: ["192.168.137.131:9000"]
- job_name: "minio-job-bucket" #桶指标
metrics_path: "/minio/v2/metrics/bucket"
static_configs:
- targets: ["192.168.137.131:9000"]
- job_name: "minio-job-resource" #资源指标
metrics_path: "/minio/v2/metrics/resource"
static_configs:
- targets: ["192.168.137.131:9000"]
用curl命令可以查看对应metrics的数据
curl http://192.168.137.131:9000/minio/prometheus/metrics
3.3 重新加载
curl -X POST http://192.168.137.131:9090/-/reload
3.4 minio告警规则文件
参考地址
https://samber.github.io/awesome-prometheus-alerts/rules#minio
3.5 导入图形
集群相关指标
导⼊ID13502
导入ID15305
节点指标
https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/node/minio-node.json
桶指标
导⼊ID19237
4 token方式
4.1 下载工具mc
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod a+x mc
4.2 设置minio库别名
./mc alias set minioMonitor http://192.168.137.131:9000 minio minioadmin
4.3 生成抓取配置
使用 mc admin prometheus generate 命令生成抓取配置,以供Prometheus在进行抓取请求时使用:
4.3.1 抓取MinIO集群的指标数据
./mc admin prometheus generate minioMonitor
4.3.2 抓取minio节点的指标数据
./mc admin prometheus generate minioMonitor node
4.3.3 抓取MinIO桶的指标数据
./mc admin prometheus generate minioMonitor bucket
4.3.4 抓取MinIO资源的指标数据
./mc admin prometheus generate minioMonitor resource
4.4 配置prometheus
将拉取间隔延长一下scrape_interval: 60s
4.5 重新加载
curl -X POST http://192.168.137.131:9090/-/reload
4.6 导入图形
和上面public方式导入的图形共用