| zabbix模板支持自动发现,这大大方便了同类监控的批量添加,非常便于运维自动化.相比之下,尽管cacit的模板可以通过参数实现多个同类监控,但如果要实现批量添加就复杂不少.但并不是所有zabbix模板都支持自动发现,这时该怎么办呢,其实我们可以手动改造模板. 比如常用的Percona Monitoring Plugins,它很全面地实现了MySQL监控,比官方自带的强大得多.但默认模板只能监控单一的3306实例.如果线上实例不是3306端口,或者有多个实例就无法监控了.下面介绍如何将它改造为LLD(Low-level discovery)的自动发现模板. 3.1 定义自动发现规则 所有自动发现的模板都至少要定义一个自动发现规则,这里定义一个每小时更新的规则,用于发现需要监控的所有MySQL端口 定义自动发现中具体的宏.宏可以定义多个,但这里只需要一个即MySQL端口 定义匹配宏用的正则表达式规则,也可以不配置.这里类似33**的值都被认为是合法端口值 3.2 修改模板XML 将模板导出为XML,将普通监控改为自动发现的格式: 首先修改监控项为监控项原型 <items><item>
 ……
 </item>
 </items>
 替换为下面格式 ?<discovery_rules><discovery_rule>
 <item_prototypes>
 <item_prototype>
 ……
 </item_prototype>
 </item_prototypes>
 </discovery_rule>
 </discovery_rules>
 修改图形为图形原型 ?<graphs><graph>
 ……
 </graph>
 </graphs>
 替换为下面格式 ?<discovery_rules><discovery_rule>
 <graph_prototypes>
 <graph_prototype>
 ……
 </graph_prototype>
 </graph_prototypes>
 </discovery_rule>
 </discovery_rules>
 修改触发器为触发器原型 <triggers><trigger>
 </trigger></triggers>
 替换为下面格式 <discovery_rules><discovery_rule>
 <trigger_prototypes>
 <trigger_prototype>
 </trigger_prototype></trigger_prototypes>
 </discovery_rule>
 </discovery_rules>
 修改应用类型为应用类型原型(zabbix 3.0起支持) <applications><application>
 <name>Percona MySQL</name>
 </application>
 </applications>
 替换为下面格式                         (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |