专家专栏 | 使用Zabbix监控Ceph集群的三种方式

举报
Zabbix中国 发表于 2021/02/05 15:34:57 2021/02/05
【摘要】 感谢社区专家Wanger供稿!Ceph作为一个开源的分布式存储平台,可以从软件层面正确提供所有的企业级存储特性,本文主要介绍使用Zabbix监控Ceph集群的三种方式。本文只是提供监控Ceph的思路或者方法,不涉及详细的配置。1.使用Agent2监控Ceph从Zabbix5.0开始,Zabbix Agent2开始支持对Ceph的监控,Ceph提供了Restful的模块,利用restful模块...

感谢社区专家Wanger供稿!

微信图片_20210204140844.png

Ceph作为一个开源的分布式存储平台,可以从软件层面正确提供所有的企业级存储特性,本文主要介绍使用Zabbix监控Ceph集群的三种方式。本文只是提供监控Ceph的思路或者方法,不涉及详细的配置。


1.使用Agent2监控Ceph

从Zabbix5.0开始,Zabbix Agent2开始支持对Ceph的监控,Ceph提供了Restful的模块,利用restful模块调用命令获取Ceph的相关状态,restful模块的监听端口为8003,关于此模块的使用方法可以参考这个文档,ceph restful模块使用文档 接下来介绍使用此模块的方法。


启用restful模块

ceph mgr module enable restful


生成ssl证书

此命令生成的是自签证书
ceph restful create-self-signed-cert


创建API用户

Zabbix创建的用户名
ceph restful create-key zabbix
查看所有的api 密钥
ceph restful list-keys

图片

验证api用户是否可用,ceph-mgr为所在mgr节点的主机名或IP,端口8003
curl -k https://api:52dffd92-a103-4a10-bfce-5b60f48f764e@<ceph-mgr>:<port>/server
图片


添加模板并修改宏

将url修改为mgr所在的host

图片


修改配置文件跳过TLS验证

由于刚才用的是自签证书,所以需要修改配置文件来跳过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的访问

图片


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上已经获取到数据了,默认每隔60秒发送一次数据
ceph zabbix send

图片

源码目录位于/usr/share/ceph/mgr/zabbix/module.py,可以看到其实是使用了mgr_module模块来获取Ceph的数据,支持如下的传入参数

图片


如果有其他的监控需求可以直接通过在module.py中传入参数来返回对应信息

图片


3. 使用自定义脚本监控Ceph

可以使用shell或者python脚本来调用Ceph命令或者利用Restful模块来进行监控,网上也有很多开源的自定义脚本可以参考。这里不多介绍。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。