使用zabbix監控ceph集羣的三種方式

歡迎各位關注我的公號《運維開發故事》node

使用zabbix有多種方式能夠監控ceph集羣,這裏依次介紹一下,本文只是提供監控ceph的思路或者方法,不涉及詳細的配置python

1.使用agent2監控ceph

從zabbix5.0開始,zabbix agent2開始支持對ceph的監控,ceph提供了Restful的模塊,利用restful模塊調用命令獲取ceph的相關狀態,restful模塊的監聽端口爲8003,關於此模塊的使用方法能夠參考這個文檔,ceph restful模塊使用文檔
接下來介紹使用此模塊的方法git

啓用restful模塊

ceph mgr module enable restful

生成ssl證書

此命令生成的是自簽證書github

ceph restful create-self-signed-cert

建立API用戶

zabbix爲建立的用戶名shell

ceph restful create-key zabbix

查看全部的api 密鑰vim

ceph restful list-keys

image.png
驗證api用戶是否可用,ceph-mgr爲所在mgr節點的主機名或IP,端口8003api

curl -k https://api:52dffd92-a103-4a10-bfce-5b60f48f764e@<ceph-mgr>:<port>/server

image.png

添加模板並修改宏

將url修改成mgr所在的host,
image.pngrestful

修改配置文件跳過TLS驗證

因爲剛纔用的是自簽證書,因此須要修改配置文件來跳過TLS的驗證運維

vim /etc/zabbix/zabbix_agent2.conf
Plugins.Ceph.InsecureSkipVerify=true
systemctl restart zabbix-agent2

能夠看到已經收集到數據了
image.png
可是使用這種方法有一個問題
使用restful模塊調用ceph pg dump命令時訪問拒絕
image.png
查看官方論壇ceph模板的主題發現有其餘人也遇到了這個問題
image.png
image.png
zabbix的開發人員也在帖子後面回覆說是最近版本會解決這個問題,不過這個問題應該跟zabbix無關,而是pg dump拒絕了mgr的訪問
image.pngcurl

2.使用Zabbix Sender監控ceph集羣

從ceph Luminous版本起,ceph-mgr開始提供zabbix模塊用於對ceph的監控,接下來介紹使用此模塊的方法

安裝zabbix-sender

rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
yum install zabbix-sender -y

啓用zabbix模塊

ceph mgr module enable zabbix

配置Zabbix Server和host信息

ceph zabbix config-set zabbix_host 192.168.2.24
ceph zabbix config-set identifier node1
ceph zabbix config-show

導入模板並連接到主機

咱們能夠從zabbix模塊的源碼目錄獲取模板,模板位置位於,導入以後連接模板便可

/usr/share/ceph/mgr/zabbix/zabbix_template.xml

手動發送數據測試

能夠看到zabbix上已經獲取到數據了

ceph zabbix send

image.png
源碼目錄位於/usr/share/ceph/mgr/zabbix/module.py,能夠看到實際上是使用了mgr_module模塊來獲取ceph的數據,支持以下的傳入參數
image.png
若是有其餘的監控需求能夠直接經過在module.py中傳入參數來返回對應信息
image.png

使用自定義腳本監控ceph

可使用shell或者python腳原本調用ceph命令或者利用Restful模塊來進行監控,網上也有不少開源的自定義腳本能夠參考。這裏很少介紹


使用zabbix監控ceph集羣的三種方式

相關文章
相關標籤/搜索