雖然 MinIO 在安裝完畢之後能夠提供簡單的數據閱覽,但我們想查看的更多細項卻無法顯示,比如在 Monitoring > Metrics 裡的 Usage、Traffic、Resources 子菜單都是反灰無法點選的,這是因為 MinIO 監控的解決方案預設使用的是 Prometheus,為了能夠看到更多 MinIO 的監控數據,這次我們不僅要額外安裝 Prometheus,更要將這些監控數據餵給 Grafana 來達成對 MinIO 的全方位監控!
測試環境說明
MinIO Server2 IP:192.168.88.53
Prometheus and Grafana Server IP:192.168.88.98
Prometheus 向 MinIO 收集資料
Install mc command Tool on Prometheus Server
[root@prometheus ~]# curl https://dl.min.io/client/mc/release/linux-amd64/mc \
--create-dirs \
-o /opt/minio/mc
[root@prometheus ~]# chmod +x /opt/minio/mc
[root@prometheus ~]# mc --help
Add host
Prometheus 稱呼所有可控的物件存儲為 alias,本例要添加的 alias 即為 minio-server(任選一台)
[root@prometheus ~]# mc config host add minio-server http://192.168.88.136:9000 minioadmin minio-secret-keyXXXXXX
List alias
[root@prometheus ~]# mc alias list
local
URL : http://localhost:9000
AccessKey :
SecretKey :
API :
Path : auto
minio-server
URL : http://192.168.88.136:9000
AccessKey : minioadmin
SecretKey : minio-secret-keyXXXXXX
API : s3v4
Path : auto
play
URL : https://play.min.io
AccessKey : Q3AM3UQ867SPQQA43P2F
SecretKey : zuf+tfteSlswRu7BJ46wekitnifILbZam1KYG3TG
API : S3v4
Path : auto
s3
URL : https://s3.amazonaws.com
AccessKey : YOUR-ACCESS-KEY-HERE
SecretKey : YOUR-SECRET-KEY-HERE
API : S3v4
Path : dns
生成 Prometheus 所需監控 alias 的 target YML
[root@prometheus ~]# mc admin prometheus generate minio-server
scrape_configs:
- job_name: minio-job
bearer_token: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJwcm9tZXRoZXVzIiwic3ViIjoibWluaW9hZG1pbiIsImV4cCI6NDg3NjYzODExMX0.TstesQ-wwdHN4dMtx8o78EE0WvIHhRhBcdkH6jaE6LskDM6rkUFFk9biRHvpggELkkoaXdbjzwTIDAHjdrtwPQ
metrics_path: /minio/v2/metrics/cluster
scheme: http
static_configs:
- targets: ['192.168.88.136:9000']
將 job_name 含以下的 yml code 貼上至 prometheus.yml 中
重啟 Prometheus 服務
[root@prometheus ~]# systemctl restart prometheus
測試 Prometheus 是否能從 Minio 獲取資料
[root@prometheus ~]# curl -v -sSL -H \
'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJwcm9tZXRoZXVzIiwic3ViIjoibWluaW9hZG1pbiIsImV4cCI6NDg3NjYzODExMX0.TstesQ-wwdHN4dMtx8o78EE0WvIHhRhBcdkH6jaE6LskDM6rkUFFk9biRHvpggELkkoaXdbjzwTIDAHjdrtwPQ' \
http://192.168.88.136:9000/minio/v2/metrics/cluster
從 Prometheus UI 查看是否正常收集 MinIO 的資料
Grafana 使用 Prometheus 的資料顯示於儀表板中
Grafana 使用 MinIO 的官方 dashboard 模板,本例使用的是 Revision 26
Dashboard 成果
MinIO Monitoring 功能補完
依序在 minio cluster 中所有服務器中添加以下內容至 /etc/default/minio
MINIO_PROMETHEUS_URL="https://prometheus.tomy168.com/"
MINIO_PROMETHEUS_JOB_ID=minio-job
依序重啟所有 minio cluster 中的服務
[root@minio1 ~]# systemctl restart minio
[root@minio2 ~]# systemctl restart minio
[root@minio3 ~]# systemctl restart minio
[root@minio4 ~]# systemctl restart minio
Metrics 原先無法瀏覽的 Traffic、Resources、Info 分頁與其他部分數值皆可完全顯示,甚至可以在 Usage 頁面看到最重要的 Capacity、Used 空間使用...等數據
本文內容參閱以下連結:
MinIO 集群怎麼接入 Prometheus 的資料?(下)
Prometheus监控Minio
MinIO Console Settings
Metrics and Alerts
0 Comments:
張貼留言