Zabbix實戰-簡易教程--中間件ZooKeeper監控

1、監控思路

經過zabbix trapper方式監控,以前看到網友們都是經過定時任務進行主動上傳數據,可是,zabbix還有另一神器--自動發現,也能達到一樣的功能。java

2、實現步驟

一、準備腳本node

https://github.com/loveqx/zabbix-doc/blob/master/zabbix-scripts/zabbix-template-zookeeper/zookeeper-monitor-lld.pypython

二、安裝依賴包git

#Centos6
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
#Centos7
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum install -y nc
yum install -y zabbix-sender

  

三、實現原理github

 

echo ruok|nc 127.0.0.1 2181
imok


echo mntr|nc 127.0.0.1 2181
zk_version 3.4.6-1569965, built on 02/20/2014 09:09 GMT
zk_avg_latency 0
zk_max_latency 6
zk_min_latency 0
zk_packets_received 93114
zk_packets_sent 93113
zk_num_alive_connections 4
zk_outstanding_requests 0
zk_server_state leader
zk_znode_count 29
zk_watch_count 0
zk_ephemerals_count 14
zk_approximate_data_size 1087
zk_open_file_descriptor_count 39
zk_max_file_descriptor_count 1000000
zk_followers 4
zk_synced_followers 4
zk_pending_syncs 0


echo srvr|nc 127.0.0.1 2181
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Latency min/avg/max: 0/0/6
Received: 93121
Sent: 93120
Connections: 4
Outstanding: 0
Zxid: 0x900000020
Mode: leader
Node count: 29

  

ZooKeeper 經常使用四字命令:web

 ZooKeeper 支持某些特定的四字命令字母與其的交互。它們大可能是查詢命令,用來獲取 ZooKeeper 服務的當前狀態及相關信息。用戶在客戶端能夠經過 telnet 或 nc 向 ZooKeeper 提交相應的命令服務器

1. 能夠經過命令:echo stat|nc 127.0.0.1 2181 輸出服務器的詳細信息:接收/發送包數量、鏈接數、模式(leader/follower)、節點總數、延遲。 全部客戶端的列表。
2. 使用echo ruok|nc 127.0.0.1 2181 測試服務是否處於正確運行狀態。若是正常返回"imok",不然返回空。
3. echo dump| nc 127.0.0.1 2181 ,列出未經處理的會話和臨時節點(只在leader上有效)。
4. echo kill | nc 127.0.0.1 2181 ,關掉server
5. echo conf | nc 127.0.0.1 2181 (New in 3.3.0)輸出相關服務配置的詳細信息。好比端口、zk數據及日誌配置路徑、最大鏈接數,session超時時間、serverId等
6. echo cons | nc 127.0.0.1 2181 ,(New in 3.3.0)列出全部鏈接到這臺服務器的客戶端鏈接/會話的詳細信息。包括「接受/發送」的包數量、session id 、操做延遲、最後的操做執行等信息。
7. echo envi |nc 127.0.0.1 2181 ,輸出關於服務器的環境詳細信息(不一樣於conf命令),好比host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin之類信息
8. echo reqs | nc 127.0.0.1 2181 ,列出未經處理的請求。
9. echo wchs | nc 127.0.0.1 2181 ,(New in 3.3.0)列出服務器watches的簡潔信息:鏈接總數、watching節點總數和watches總數
10. echo wchc | nc 127.0.0.1 2181 ,(New in 3.3.0)經過session分組,列出watch的全部節點,它的輸出是一個與 watch 相關的會話的節點列表。若是watches數量很大的話,將會產生很大的開銷,會影響性能,當心使用。
11. echo wchp | nc 127.0.0.1 2181 ,(New in 3.3.0)經過路徑分組,列出全部的 watch 的session id信息。它輸出一個與 session相關的路徑。若是watches數量很大的話,將會產生很大的開銷,會影響性能,當心使用。
12.echo mntr | nc localhost 2181  (New in 3.4.0)列出集羣的健康狀態。包括「接受/發送」的包數量、操做延遲、當前服務模式(leader/follower)、節點總數、watch總數、臨時節點總數。
13.echo srvr | nc localhost 2181 (New in 3.3.0)輸出服務器的詳細信息。zk版本、接收/發送包數量、鏈接數、模式(leader/follower)、節點總數。
14.echo crst | nc localhost 2181 (New in 3.3.0)重置當前這臺服務器全部鏈接/會話的統計信息
15.echo srst | nc localhost 2181 重置服務器的統計信息

  

 

四、配置agent端session

  安裝:將腳本zookeeper-monitor-lld.py放置在/etc/zabbix/externalscripts目錄下app

  配置文件中添加:性能

UserParameter=zookeeper.discovery,python /etc/zabbix/externalscripts/zookeeper-monitor-lld.py all

  

五、web配置模板(Template App For  Zookeeper Traper LLd)

 

 

特別注意地方!!!配置發現規則,設置數據發送間隔,很重要!!!

 

 

六、應用模板,查看數據

 

 

七、設置觸發器

相關文章
相關標籤/搜索