写点什么

Minio 可观测最佳实践

作者:观测云
  • 2022 年 7 月 11 日
  • 本文字数:1758 字

    阅读完需:约 6 分钟

Minio 可观测最佳实践

视图预览


Minio 性能指标展示:Minio 在线时长、存储空间分布、bucket 明细、文件大小区间分布、S3 TTFB (s) 分布、S3 流量、S3 请求等。



版本支持

操作系统:Linux / Windows Minio 版本:ALL

前置条件

Minio 服务器 <安装 Datakit>

安装配置

说明:示例 Minio 版本为 RELEASE.2022-06-25T15-50-16Z (commit-id=bd099f5e71d0ea511846372869bfcb280a5da2f6)

部署实施

( Linux / Windows 环境相同)

指标采集 (必选)

Minio 默认已暴露 metric,可以直接通过 Prometheus 来采集相关指标。

使用 minio-client(简称mc)创建授权信息


$ mc alias set myminio http://192.168.0.210:9000 minioadmin minioadmin​scrape_configs:- job_name: minio-job  bearer_token: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ4MTAwNzIxNDQsImlzcyI6InByb21ldGhldXMiLCJzdWIiOiJtaW5pb2FkbWluIn0.tzoJ7ifMxgx4jXfUKdD_Sq5Ll2-YlbaBu6FuNTZcc88t9o9STyg4yicRAgYmezVGFwYR2VFKvBSBnOnVnb0n4w  metrics_path: /minio/v2/metrics/cluster  scheme: http  static_configs:  - targets: ['192.168.0.210:9000']
复制代码

开启 Datakit promtheus 插件

cd /usr/local/datakit/conf.d/prom/cp prom.conf.sample prom-minio.conf
复制代码

修改 prom-minio.conf 配置文件

--主要参数说明

  • urls:promethues 指标地址,这里填写 Minio 暴露出来的指标 url

  • source:采集器别名,建议写成minio

  • interval:采集间隔

  • metric_name_filter: 指标过滤,只采集需要的指标项

  • tls_open:TLS 配置

  • metric_types:指标类型,不填,代表采集所有指标

  • tags_ignore:忽略不需要的 tag

  • [inputs.prom.auth]:配置授权信息

  • token : bearer_token 值


[[inputs.prom]]  # Exporter URLs  urls = ["http://192.168.0.210:9000/minio/v2/metrics/cluster"]  # 忽略对 url 的请求错误  ignore_req_err = false  # 采集器别名  source = "minio"  metric_types = []  # 保留指标,防止时间线炸裂  metric_name_filter = ["minio_bucket","minio_cluster","minio_node","minio_s3","minio_usage"]  # 采集间隔 "ns", "us" (or "µs"), "ms", "s", "m", "h"  interval = "1m"  # TLS 配置  tls_open = false  # tls_ca = "/tmp/ca.crt"  # tls_cert = "/tmp/peer.crt"  # tls_key = "/tmp/peer.key"  # 过滤 tags, 可配置多个tag  # 匹配的 tag 将被忽略,但对应的数据仍然会上报上来  tags_ignore = ["version","le","commit"]  # 自定义认证方式,目前仅支持 Bearer Token  # token 和 token_file: 仅需配置其中一项即可  [inputs.prom.auth]    type = "bearer_token"    token = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ4MTAwNzIxNDQsImlzcyI6InByb21ldGhldXMiLCJzdWIiOiJtaW5pb2FkbWluIn0.tzoJ7ifMxgx4jXfUKdD_Sq5Ll2-YlbaBu6FuNTZcc88t9o9STyg4yicRAgYmezVGFwYR2VFKvBSBnOnVnb0n4w"  # token_file = "/tmp/token"  # 自定义指标集名称  # 可以将包含前缀 prefix 的指标归为一类指标集  # 自定义指标集名称配置优先 measurement_name 配置项  #[[inputs.prom.measurements]]  #  prefix = "cpu_"  #  name = "cpu"  # [[inputs.prom.measurements]]  # prefix = "mem_"  # name = "mem"  # 对于匹配如下 tag 相关的数据,丢弃这些数据不予采集  [inputs.prom.ignore_tag_kv_match]  # key1 = [ "val1.*", "val2.*"]  # key2 = [ "val1.*", "val2.*"]  # 在数据拉取的 HTTP 请求中添加额外的请求头  [inputs.prom.http_headers]  # Root = "passwd"  # Michael = "1234"  # 重命名 prom 数据中的 tag key  [inputs.prom.tags_rename]    overwrite_exist_tags = false    [inputs.prom.tags_rename.mapping]    # tag1 = "new-name-1"    # tag2 = "new-name-2"    # tag3 = "new-name-3"  # 将采集到的指标作为日志打到中心  # service 字段留空时,会把 service tag 设为指标集名称  [inputs.prom.as_logging]    enable = false    service = "service_name"  # 自定义Tags  [inputs.prom.tags]  # some_tag = "some_value"  # more_tag = "some_other_value"
复制代码

重启 Datakit

systemctl restart datakit
复制代码

Minio 指标采集验证,使用命令 datakit monitor 查看指标是否采集成功

场景视图

<场景 - 新建仪表板 - 内置模板库 - Minio 监控视图>


常见问题排查

  • 无数据上报排查

用户头像

观测云

关注

还未添加个人签名 2021.02.08 加入

云时代的系统可观测平台

评论

发布
暂无评论
Minio 可观测最佳实践_观测云_InfoQ写作社区