1.前言
上一章主要描述了zabbix集成Zookeeper的方案,本文主要描述zabbix集成Zookeeper示例。
2.集成前置条件
1. 安装完按成Zabbix,其中包括Java Gateway组件
2. 修改Zookeeper启动文件zkServer.sh,添加
SERVER_JVMFLAGS=”-Djava.rmi.server.hostname=XXX.XXX.XXX.XXX(IP) -Dcom.sun.management.jmxremote.port=18050(jmx port) -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false”
修改zkServer.sh,启动Zabbix和Zookeeper。
测试:Zookeeper JMX开启后,我们就可以通过相关的工具去查看JMX内的状态信息了,通常可以使用JDK的jconsole程序查看,另外还有一个叫jmxcmd.jar的工具也可以非常方便的查看这些信息。
3.jmx指标查看
打开jconsole.exe,连接远程Zookeeper jmx查看监控指标数据,
如上配置:
service:jmx:rmi://XXX.XXX.XXX.XXX:18050/jndi/rmi://XXX.XXX.XXX.XXX:18050/jmxrmi
可以到,看到jmx获取的监控值。
4.Zabbix配置
登录zabbix,创建Zookeeper 监控模板,创建监控项目
创建主机监控,配置如下
查看监控指标:
5.Zabbix监控Zookeeper模板
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>2.0</version>
<date>2016-01-19T09:32:17Z</date>
<groups>
<group>
<name>测试组</name>
</group>
</groups>
<templates>
<template>
<template>Template JMX Zookeeper Service</template>
<name>Template JMX Zookeeper Service</name>
<description/>
<groups>
<group>
<name>测试组</name>
</group>
</groups>
<applications>
<application>
<name>Zookeeper Basic Monitor</name>
</application>
<application>
<name>Zookeeper Follower Monitor</name>
</application>
<application>
<name>Zookeeper Leader Monitor</name>
</application>
</applications>
<items>
<item>
<name>AvgRequestLatency of the Server As Follower</name>
<type>16</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>jmx["org.apache.ZooKeeperService:name0=ReplicatedServer_id{$ZKID},name1=replica.{$ZKID},name2=Follower",AvgRequestLatency]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor/>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name>Zookeeper Follower Monitor</name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
</item>
</items>
<discovery_rules/>
<macros/>
<templates/>
<screens/>
</template>
</templates>
</zabbix_export>