首页 > 其他分享 >MinIO集群怎么接入Prometheus监控?(上)

MinIO集群怎么接入Prometheus监控?(上)

时间:2022-10-30 12:00:39浏览次数:52  
标签:node MinIO bytes Prometheus 集群 total minio

微信公众号“SRE成长记”可查看原文

前言

minio集群有暴露监控指标接口给Prometheus,可通过配置Prometheus访问MinIO集群的权限,将MinIO集群接入Prometheus监控,并通过MinIO官方发布的Grafana Dashboard(ID:13502,链接:https://grafana.com/grafana/dashboards/13502-minio-dashboard/)将指标展示在Grafana。

本文记录Prometheus与MinIO集群部署在同一k8s集群内的监控接入过程。

k8s集群内Prometheus监控MinIO集群

1.1 MinIO端配置Prometheus访问权限

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访问权限:

env:
 - name: MINIO_PROMETHEUS_AUTH_TYPE
   value: public

执行kubectcl apply minio.yaml生效。

1.2 service暴露监控指标接口

在service的yaml文件中增加annotations模块,暴露监控接口信息:

[root@rancher-0001 minio]# cat service-minio.yaml 
apiVersion: v1
kind: Service
metadata:
  labels:
    app: minio
  name: minio
  namespace: public
  namespace: monitoring
  annotations:        #增加该模块信息
    prometheus.io/scrape: "true"
    prometheus.io/port: "9000"
    prometheus.io/path: "/minio/v2/metrics/cluster"
spec:
  ports:
  - name: minio-port-9000
    port: 9000
    protocol: TCP
    targetPort: 9000
  - name: minio-port-9001
    port: 9001
    protocol: TCP
    targetPort: 9001
  selector:
    app: minio
  type: ClusterIP

执行kubectl apply service-minio.yaml配置生效

1.3 创建servicemonitor

[root@rancher-0001 minio]# cat service-monitor-minio.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: minio
namespace: public
labels:
app: minio-cluster
spec:
endpoints:
- interval: 15s
path: /minio/v2/metrics/cluster
port: minio-port-9000
namespaceSelector:
matchNames:
- public
selector:
matchLabels:
app: minio
[root@rancher-0001 minio]#

执行kubectl apply -f service-monitor-minio.yaml创建。 创建好后,访问Prometheus的Target界面,能看到minio集群节点均已上线: image.png

1.4 监控看板接入

将MinIO官方的发布的Grafana Dashboard (ID为13502)导入Grafana,就能看到监控信息了。 image.png

2.MinIO集群监控指标汇总

2.1 对象衡量指标

minio_bucket_objects_size_distribution 存储桶中对象大小的分布,包括存储桶名称的标签。

2.2.复制指标

这些指标仅针对启用了服务器端存储桶复制的 MinIO 集群进行填充。 minio_bucket_replication_failed_bytes 复制的字节总数至少失败一次。 minio_bucket_replication_pending_bytes 等待复制的总字节数。 minio_bucket_replication_received_bytes 从另一个源存储桶复制到此存储桶的字节总数。 minio_bucket_replication_sent_bytes 复制到目标存储桶的总字节数。 minio_bucket_replication_pending_count 此存储桶挂起的复制操作总数。 minio_bucket_replication_failed_count 此存储桶的复制操作失败总数。

2.3 存储桶指标

minio_bucket_usage_object_total 对象总数 minio_bucket_usage_total_bytes 总存储桶大小(以字节为单位)

2.4 缓存指标

minio_cache_hits_total 磁盘缓存命中总数 minio_cache_missed_total 磁盘缓存未命中总数 minio_cache_sent_bytes 从缓存中提供的总字节数 minio_cache_total_bytes 缓存磁盘的总大小(以字节为单位) minio_cache_usage_info 总缓存使用百分比,值 1 表示高,0 表示低,标签级别也设置 minio_cache_used_bytes 当前缓存使用情况(以字节为单位)

2.5 集群指标

minio_cluster_capacity_raw_free_bytes 群集中联机的总可用容量。 minio_cluster_capacity_raw_total_bytes 群集中联机的总容量。 minio_cluster_capacity_usable_free_bytes 群集中联机的总可用容量。 minio_cluster_capacity_usable_total_bytes 群集中联机的总可用容量。

2.6 节点指标

minio_cluster_nodes_offline_total 脱机的 MinIO 节点总数。 minio_cluster_nodes_online_total 联机的最小值节点总数。 minio_heal_objects_error_total 在当前自我修复运行中修复失败的对象 minio_heal_objects_heal_total 在当前自我修复运行中修复的对象 minio_heal_objects_total 在当前自我修复运行中扫描的对象 minio_heal_time_last_activity_nano_seconds 自上次自我修复活动以来经过的时间(以纳米秒为单位)。这被设置为 -1,直到初始自我修复 minio_inter_node_traffic_received_bytes 从其他对等节点接收的总字节数。 minio_inter_node_traffic_sent_bytes 发送到其他对等节点的总字节数。 minio_node_disk_free_bytes 磁盘上可用的总存储。 minio_node_disk_total_bytes 磁盘上的总存储。 minio_node_disk_used_bytes 磁盘上使用的总存储。 minio_node_file_descriptor_limit_total 限制 MinIO 服务器进程的打开文件描述符的总数。 minio_node_file_descriptor_open_total MinIO 服务器进程打开的文件描述符的总数。 minio_node_io_rchar_bytes 进程从底层存储系统(包括缓存) 读取的总字节数,/proc/[pid]/io rchar minio_node_io_read_bytes 进程从底层存储系统读取的总字节数,/proc/[pid]/io read_bytes minio_node_io_wchar_bytes 进程写入底层存储系统的总字节数,包括页面缓存,/proc/[pid]/io wchar minio_node_io_write_bytes 进程写入底层存储系统的总字节数,/proc/[pid]/io write_bytes minio_node_process_starttime_seconds 每个节点的 MinIO 进程的开始时间,自 Unix 纪元以来的时间(以秒为单位)。 minio_node_process_uptime_seconds 每个节点的 MinIO 进程的正常运行时间(以秒为单位)。 minio_node_scanner_bucket_scans_finished 自服务器启动以来完成的存储桶扫描总数。 minio_node_scanner_bucket_scans_started 自服务器启动以来启动的存储桶扫描总数。 minio_node_scanner_directories_scanned 自服务器启动以来扫描的目录总数。 minio_node_scanner_objects_scanned 自服务器启动以来扫描的唯一对象总数。 minio_node_scanner_versions_scanned 自服务器启动以来扫描的对象版本总数。 minio_node_syscall_read_total 总读取系统调用内核。/proc/[pid]/io syscr minio_node_syscall_write_total 总写入系统调用到内核。/proc/[pid]/io syscw

2.7 S3 指标

minio_s3_requests_error_total 有错误的 S3 请求总数 minio_s3_requests_inflight_total 当前正在运行的 S3 请求总数 minio_s3_requests_total S3 请求总数 minio_s3_time_ttbf_seconds_distribution 跨 API 调用到第一个字节的时间分布。 minio_s3_traffic_received_bytes 接收的 s3 字节总数。 minio_s3_traffic_sent_bytes 发送的 s3 字节总数

2.8 软件指标

minio_software_commit_info Git 提交最小值版本的哈希值。 minio_software_version_info 服务器的最小 IO 发布标记

::: hljs-right

未完待续,可前往公众号先阅读下集...

:::

下期预告:

  1. k8s集群内部Prometheus怎么监控集群外部MinIO集群?
  2. MinIO控制台怎么展示监控数据?
  3. 在配置监控过程中可能踩哪些坑? image.png

标签:node,MinIO,bytes,Prometheus,集群,total,minio
From: https://blog.51cto.com/u_10950710/5807497

相关文章

  • Clickhouse之集群操作
    查看集群:在任意一台机上,使用/usr/bin/clickhouse-client--hostlocalhost--port9000连接本地服务器select*from`system`.clusters; 建库:SHOWDATABASESSHOWCREA......
  • 为什么es集群至少需要三个节点
    elasticsearch集群graphLR;A(MasterNode)---B(DataNode);A---C(DataNode);B---C;Master:在Elasticsearch中Master仅仅负责维护集群的状态创建或删除......
  • Hadoop之HDFS的集群之间的数据复制、归档机制和安全模式
    (HDFS的数据数据复制、归档机制和安全模式)1.不同集群之间的数据复制在我们实际工作当中,极有可能会遇到将测试集群的数据拷贝到生产环境集群,或者将生产环境集群的数据拷......
  • zookeeper+ActiveMQ集群启动后无法访问
    zookeeper和ActiveMQ进程都在,但是MQ无法使用,也不能访问MQ的管理页面,其实还是没真正的启动。删除leveldb文件夹才行。将全部节点的./apache-activemq/data/leveldb文件夹删......
  • 腾讯云~基于zookeeper(集群)+LevelDB的ActiveMq高可用伪集群安装、配置、测试
    文章目录​​一、预先准备​​​​1.技术选型​​​​2.zk集群搭建​​​​3.MQ集群规划​​​​二、预先准备​​​​2.1.MQ下载​​​​2.2.解压​​​​2.3.复制3......
  • 腾讯云~ zookeeper集群安装、配置、验证
    文章目录​​一、预备工作​​​​1.下载​​​​2.解压​​​​3.创建目录​​​​4.myid文件​​​​5.验证​​​​6.效果图​​​​二、配置管理​​​​2.1.z......
  • 修复io.minio.errors.ErrorResponseException: Access denied错误
    完整错误如下:io.minio.errors.ErrorResponseException:Accessdeniedatio.minio.MinioClient.execute(MinioClient.java:1135)~[minio-7.1.0.jar!/:7.1.0]......
  • Prometheus 四大指标类型
    指标介绍Prometheus的指标有四种类型,分别是Counter,Gauge,Histogram,Summary。Counter只增不减的计数器,用于描述某个指标的累计状态,比如请求量统计,http_requests_total。重启......
  • 企业级集群架构
    436企业级集群架构集群436作者:libin*-------------------------下面为RHCA-红帽集群安装及配置管理(建议先看理论在实操)*实验环境说明:实验测试*2台centos7的虚拟机4C4......
  • HM-RocketMQ1.3【RocketMQ集群搭建】
    1集群中各角色介绍Producer:消息的发送者;举例:发信者Consumer:消息接收者;举例:收信者Broker:暂存和传输消息;举例:邮局一个Broker主节点可以配备多个Broker从节点主节点......