如何监控MinIO在CentOS上的状态
导读:监控 MinIO 在 CentOS 上的状态 一 基础运行状态检查 使用 systemd 查看服务状态与日志: 查看状态:sudo systemctl status minio 实时日志:sudo journalctl -u minio...
监控 MinIO 在 CentOS 上的状态
一 基础运行状态检查
- 使用 systemd 查看服务状态与日志:
- 查看状态:
sudo systemctl status minio - 实时日志:
sudo journalctl -u minio -f - 确认开机自启:
sudo systemctl is-enabled minio
- 查看状态:
- 使用进程与端口检查:
- 进程:
ps -ef | grep minio - 端口(API 默认 9000,Console 默认 9001):
ss -ltnp | grep -E ':(9000|9001)'
- 进程:
- 使用 MinIO 客户端 mc 做连通性与基本信息自检:
- 配置别名:
mc alias set myminio http://< MINIO_SERVER_IP> :9000 < ACCESS_KEY> < SECRET_KEY> - 查看服务状态:
mc admin info myminio - 列出存储桶:
mc ls myminio - 快速健康检查:
mc admin ping myminio(返回 pong 表示可达)
以上命令适用于以 systemd 管理的部署;若以容器运行,请改用docker ps、docker logs或podman等效命令。
- 配置别名:
二 指标监控与可视化
- 启用并获取指标:
- MinIO 在 /minio/v2/metrics/cluster 暴露 Prometheus 指标;建议使用 mc admin prometheus generate 生成抓取配置(包含 bearer_token),或设置环境变量 MINIO_PROMETHEUS_AUTH_TYPE=public 以跳过认证(仅限受信网络)。
- 示例生成命令:
mc admin prometheus generate myminio,将输出的scrape_configs片段加入 Prometheus。
- Prometheus 抓取配置示例:
- 集群指标:
scrape_configs: - job_name: minio-job bearer_token: < TOKEN> metrics_path: /minio/v2/metrics/cluster scheme: http static_configs: - targets: ['< MINIO_SERVER_IP> :9000'] - 节点指标:
- job_name: minio-job-node bearer_token: < TOKEN> metrics_path: /minio/v2/metrics/nodes scheme: http static_configs: - targets: ['< MINIO_SERVER_IP> :9000'] - 桶指标:
- job_name: minio-job-bucket bearer_token: < TOKEN> metrics_path: /minio/v2/metrics/buckets scheme: http static_configs: - targets: ['< MINIO_SERVER_IP> :9000'] - 注意:若通过 负载均衡器 暴露 MinIO,targets 可使用 LB 地址;为安全起见,生产环境优先使用 bearer_token 认证。
- 集群指标:
- Grafana 可视化:
- 添加 Prometheus 数据源(URL 指向 Prometheus 服务地址),导入 MinIO 官方或社区仪表盘,常见面板包括:节点/集群健康、容量与用量、请求时延与吞吐、HTTP 状态码、复制与纠删码状态 等。
三 主机与磁盘 I O 监控
- 安装 sysstat:
sudo yum install -y sysstat - 磁盘与 I O:
- 全局 I O:
iostat -x 1 - 进程级 I O:
sudo yum install -y iotop & & sudo iotop
- 全局 I O:
- 其他常用:
- CPU/内存:
top、htop - 网络:
sar -n DEV 1 - 文件系统:
df -h、lsblk这些工具可帮助定位 磁盘瓶颈、I O 饱和 与 容量告警 等常见性能问题。
- CPU/内存:
四 关键告警规则示例
- Prometheus 规则示例(告警触发条件可按需调整):
- 服务宕机:
up{ job="minio-job"} == 0 - 高请求错误率:
sum(rate(http_requests_total{ job="minio-job",status=~"5.."} [5m])) / sum(rate(http_requests_total{ job="minio-job"} [5m])) > 0.01 - 容量使用率过高:
(1 - (sum(node_filesystem_avail_bytes{ mountpoint="/data"} ) / sum(node_filesystem_size_bytes{ mountpoint="/data"} ))) * 100 > 80 - 高 P99 时延:
histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{ job="minio-job"} [5m])) by (le)) > 1 - 复制滞后(bucket 级别):
sum(rate(replication_failed_total{ job="minio-job-bucket"} [15m])) > 0将规则保存为 Prometheus 规则文件并热加载,配合 Alertmanager 实现 邮件/企业微信/钉钉 等通知。
- 服务宕机:
五 快速排障清单
- 控制台与 API 可达性:
- API:
curl -I http://< IP> :9000/minio/health/live - Console:
http://< IP> :9001(若启用了 Console)
- API:
- 证书与网络:
- 自签名证书需将 CA/证书导入到 Prometheus/Grafana 信任库;跨域与防火墙策略需放行 9000/9001。
- 认证与权限:
- 使用 mc admin prometheus generate 的 bearer_token;若使用 MINIO_PROMETHEUS_AUTH_TYPE=public,务必限制来源网段。
- 变更与重启:
- 修改抓取配置或环境变量后,重启 MinIO:
sudo systemctl restart minio或通过mc admin service restart myminio滚动重启。
- 修改抓取配置或环境变量后,重启 MinIO:
- 日志与审计:
- 服务日志:
journalctl -u minio -f - 审计日志:在 Console 的 Tools → Audit 查看最近操作记录,用于追踪异常行为。
- 服务日志:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何监控MinIO在CentOS上的状态
本文地址: https://pptw.com/jishu/752049.html
