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

17 篇文章 0 订阅
11 篇文章 1 订阅

开源可观测性平台Signoz(三)【服务器主机监控篇】_轻量化监控工具

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。


前言

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

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

1 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-01 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集群节点均已上线:

1.4 监控看板接入

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

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 发布标记

相关链接:MinIO集群怎么接入Prometheus监控?(下)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值