歡迎各位關注我的公號《運維開發故事》node
使用zabbix有多種方式能夠監控ceph集羣,這裏依次介紹一下,本文只是提供監控ceph的思路或者方法,不涉及詳細的配置python
從zabbix5.0開始,zabbix agent2開始支持對ceph的監控,ceph提供了Restful的模塊,利用restful模塊調用命令獲取ceph的相關狀態,restful模塊的監聽端口爲8003,關於此模塊的使用方法能夠參考這個文檔,ceph restful模塊使用文檔
接下來介紹使用此模塊的方法git
ceph mgr module enable restful
此命令生成的是自簽證書github
ceph restful create-self-signed-cert
zabbix爲建立的用戶名shell
ceph restful create-key zabbix
查看全部的api 密鑰vim
ceph restful list-keys
驗證api用戶是否可用,ceph-mgr爲所在mgr節點的主機名或IP,端口8003api
curl -k https://api:52dffd92-a103-4a10-bfce-5b60f48f764e@<ceph-mgr>:<port>/server
將url修改成mgr所在的host,restful
因爲剛纔用的是自簽證書,因此須要修改配置文件來跳過TLS的驗證運維
vim /etc/zabbix/zabbix_agent2.conf Plugins.Ceph.InsecureSkipVerify=true systemctl restart zabbix-agent2
能夠看到已經收集到數據了
可是使用這種方法有一個問題
使用restful模塊調用ceph pg dump
命令時訪問拒絕
查看官方論壇ceph模板的主題發現有其餘人也遇到了這個問題
zabbix的開發人員也在帖子後面回覆說是最近版本會解決這個問題,不過這個問題應該跟zabbix無關,而是pg dump拒絕了mgr的訪問curl
從ceph Luminous版本起,ceph-mgr開始提供zabbix模塊用於對ceph的監控,接下來介紹使用此模塊的方法
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
ceph mgr module enable zabbix
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
源碼目錄位於/usr/share/ceph/mgr/zabbix/module.py,能夠看到實際上是使用了mgr_module模塊來獲取ceph的數據,支持以下的傳入參數
若是有其餘的監控需求能夠直接經過在module.py中傳入參數來返回對應信息
可使用shell或者python腳原本調用ceph命令或者利用Restful模塊來進行監控,網上也有不少開源的自定義腳本能夠參考。這裏很少介紹