MinIO监控指南
官方文档地址:http://docs.minio.org.cn/docs/master/minio-monitoring-guide
MinIO服务器通过端点公开监视数据。监视工具可以从这些端点中选择数据。
健康检查探针
MinIO服务器具有两个与运行状况检查相关的未经身份验证的端点,一个活动性探针(指示服务器是否工作正常),一个就绪性探针(指示服务器是否由于重负载而未接受连接)。
- 活力探针: /minio/health/live
- 就绪探针: /minio/health/ready
Prometheus 探测
MinIO服务器在单个端点上公开与Prometheus兼容的数据。默认情况下,对端点进行身份验证。
- Prometheus 数据可在 /minio/prometheus/metrics
要使用此端点,请设置Prometheus以从该端点抓取数据。
使用Prometheus监控MinIO服务器
MinIO默认情况下将Prometheus兼容数据作为授权端点导出/minio/prometheus/metrics。希望监视其MinIO实例的用户可以指向Prometheus配置,以从该终结点抓取数据。
为Prometheus指标配置身份验证类型
MinIO支持Prometheus jwt或两种身份验证模式public,默认情况下,MinIO以jwt mode 运行。要允许对prometheus度量标准不进行身份验证就可以进行公共访问,请按如下所示设置环境。
export MINIO_PROMETHEUS_AUTH_TYPE="public"
minio server ~/test
经过身份验证的Prometheus配置
MinIO中的Prometheus端点默认需要身份验证。Prometheus支持使用承载令牌方法对Prometheus抓取请求进行身份验证,并使用mc生成的默认Prometheus配置覆盖默认的Prometheus配置。要为别名生成Prometheus配置,请使用mc,如下所示mc admin prometheus generate
该命令将生成scrape_configs prometheus.yml 的部分,如下所示:
scrape_configs:
- job_name: minio-job
bearer_token: <secret>
metrics_path: /minio/prometheus/metrics
scheme: http
static_configs:
- targets: ['localhost:9000']
Public Prometheus配置
如果Prometheus端点身份验证类型设置为public。遵循prometheus的配置足以开始从MinIO抓取指标数据。
scrape_configs:
- job_name: minio-job
metrics_path: /minio/prometheus/metrics
scheme: http
static_configs:
- targets: ['localhost:9000']
scrape_configs 更新部分prometheus.yml
要授权每个刮取请求,请将生成的scrape_configs部分复制并粘贴到prometheus.yml中,然后重新启动Prometheus服务。
MinIO公开的指标列表
MinIO服务器在/ minio / prometheus / metrics端点上公开以下指标。 所有这些都可以通过Prometheus仪表板进行访问。 演示服务器的https://play.min.io:9000/minio/prometheus/metrics 中提供了暴露指标的完整列表及其定义。
这些是将在之后生效的新指标集RELEASE.2019-10-16*。下面列出了此更新中的一些关键更改。 -指标绑定到各个节点,并且不在群集范围内。集群中的每个节点都将公开自己的指标。 -添加了涵盖s3和节点间流量统计信息的其他指标。 -记录http统计信息和延迟的度量标准被标记为其各自的API(putobject,getobject等)。 -磁盘使用情况指标已分发并标记到相应的磁盘路径。
指标列表及其定义如下。(注意:这里的实例是一个MinIO节点)
- 标准go运行时指标的前缀 go_
- 流程级别指标以开头 process_
- prometheus 抓取以开头的指标 promhttp_
- disk_storage_used : 磁盘使用的磁盘空间。
- disk_storage_available: 磁盘上剩余的可用磁盘空间。
- disk_storage_total: 磁盘上的总磁盘空间。
- minio_disks_offline: 当前MinIO实例中的脱机磁盘总数。
- minio_disks_total: 当前MinIO实例中的磁盘总数。
- s3_requests_total: 当前MinIO实例中s3请求的总数。
- s3_errors_total: 当前MinIO实例中s3请求中的错误总数。
- s3_requests_current: 当前MinIO实例中活动s3请求的总数。
- internode_rx_bytes_total: 当前MinIO服务器实例接收到的节点间字节总数。
- internode_tx_bytes_total: 当前MinIO服务器实例发送到其他节点的字节总数。
- s3_rx_bytes_total: 当前MinIO服务器实例接收的s3字节总数。
- s3_tx_bytes_total: 当前MinIO服务器实例发送的s3字节总数。
- minio_version_info: 具有提交ID的当前MinIO版本。
- s3_ttfb_seconds: 保存请求的延迟信息的直方图。
缓存特定指标
启用了磁盘缓存的MinIO Gateway实例公开了与缓存相关的指标。
- cache_data_served:cache_data_served:从缓存提供的总字节数。
- cache_hits_total:cache_hits_total:缓存命中总数。
- cache_misses_total:cache_misses_total:缓存未命中总数。
MinIO自愈指标 - self_heal_*
MinIO 仅针对擦除代码部署公开与自我修复相关的指标。这些度量标准在网关或单节点单驱动器部署中不可用。请注意,只有在MinIO服务器上发生相关事件时,才会公开这些指标。
- self_heal_time_since_last_activity:自上一次自我修复相关活动以来经过的时间。
- self_heal_objects_scanned:在当前运行中由自愈线程扫描的对象数。重新开始自我修复运行时,它将重置。这用扫描的对象类型标记。
- self_heal_objects_healed: 当前运行中通过自愈线程修复的对象数。重新开始自我修复运行时,它将重置。这用扫描的对象类型标记。
- self_heal_objects_heal_failed:当前运行中自愈失败的对象数。重新开始自我修复运行时,它将重置。这被标记为磁盘状态及其端点。