Zabbix 5.0:通过LLD方式自动化监控阿里云RDS - 不羁的罗恩
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宏必须大写,否则会报错。
新建模板,创建自动发现规则:
参数 | 说明 |
---|---|
名称 | 规则名称 |
类型 | 发现的检查类型 |
键值 | 可以是内置键值,也可以是自定义 |
更新间隔 | 执行发现的时间间隔 |
自定义时间间隔 | 非必选, 灵活:允许重定义默认更新间隔,调度:可以使监控项在特定时间或时间序列生效 |
资源周期不足 | 资源失效时间,若资源失效则删除,如果设置为“0”,将立即删除实体。不建议使用“0” |
创建监控原型:
创建触发器原型:
创建图形原型:
以此类推,把需要监控的项目都加上去。
查看效果:
LLD方式,大大减轻了人为添加监控的负担,RDS实例的变更也不需要人为去增删监控,真正做到自动化监控。
但也带来一些问题,比如性能问题,实例越多,监控原型越多,同时执行的监控采集脚本进程就越多,服务器的负载压力越大,而且频繁调用阿里云Api也会带来一些费用成本。
__EOF__
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK