| 
                         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>  
替换为下面格式 
                        (编辑:滁州站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                      |