4

Zabbix 5.0:通过LLD方式自动化监控阿里云RDS - 不羁的罗恩

 1 year ago
source link: https://www.cnblogs.com/Rohn/p/16451525.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Blog:博客园 个人
之前做了RDS监控,由于 RDS 实例数量增多,手动添加的方式已经不够效率,故改为LLD(Low-level discovery)方式做监控。

什么是LLD

LLD(Low-level discovery),即低级发现,提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法。例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项。此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控。

用户可以自己定义发现类型,只要它们遵循特定的JSON协议。

采集数据脚本

调用阿里云Api,采集RDS相关数据,相关配置可参考之前的文章,采集脚本略。

需要将Api返回的数据处理,将字段修改为{#MACRO} 形式的LLD宏,最后生成json格式的数据:

[{
	"{#DBINSTANCEID}": "rr-XXX",
	"{#DBNAME}": "XXX"
}, {
	"{#DBINSTANCEID}": "rm-XXX",
	"{#DBNAME}": "XXX"
}, {
	"{#DBINSTANCEID}": "rm-XXX",
	"{#DBNAME}": "XXX"
}]
  • {#DBINSTANCEID}:RDS实例ID
  • {#DBNAME}:RDS实例名称

💡Tips:LLD宏必须大写,否则会报错。

新建模板,创建自动发现规则:

cnblog
参数 说明
名称 规则名称
类型 发现的检查类型
键值 可以是内置键值,也可以是自定义
更新间隔 执行发现的时间间隔
自定义时间间隔 非必选, 灵活:允许重定义默认更新间隔,调度:可以使监控项在特定时间或时间序列生效
资源周期不足 资源失效时间,若资源失效则删除,如果设置为“0”,将立即删除实体。不建议使用“0”

创建监控原型:

cnblog

创建触发器原型:

cnblog

创建图形原型:

cnblog

以此类推,把需要监控的项目都加上去。

查看效果:

cnblog

LLD方式,大大减轻了人为添加监控的负担,RDS实例的变更也不需要人为去增删监控,真正做到自动化监控。

但也带来一些问题,比如性能问题,实例越多,监控原型越多,同时执行的监控采集脚本进程就越多,服务器的负载压力越大,而且频繁调用阿里云Api也会带来一些费用成本。

__EOF__

本文作者: 时间之旅 本文链接: https://www.cnblogs.com/Rohn/p/16451525.html 关于博主: 评论和私信会在第一时间回复。或者直接私信我。 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK