1. 程式人生 > >Zookeeper實現叢集和負載均衡---(5)Zabbix整合Zookeeper示例

Zookeeper實現叢集和負載均衡---(5)Zabbix整合Zookeeper示例

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[&quot;org.apache.ZooKeeperService:name0=ReplicatedServer_id{$ZKID},name1=replica.{$ZKID},name2=Follower&quot;,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>