Zabbix监控Zookeeper健康状况
非原創內容,轉自眄眄的閨蜜
首先最簡單的是監聽服務端口,在zabbix界面直接添加監控項 item: zookeeper.status key: net.tcp.listen[2181] ZooKeeper監控要點:內存使用量 ? ?ZooKeeper應當完全運行在內存中,不能使用到SWAP。Java?Heap大小不能超過可用內存。
Swap使用量 ? ?使用Swap會降低ZooKeeper的性能,設置vm.swappiness = 0
網絡帶寬占用 ? 如果發現ZooKeeper性能降低關注下網絡帶寬占用情況和丟包情況,通常情況下ZooKeeper是20%寫入80%讀入
磁盤使用量 ? ?ZooKeeper數據目錄使用情況需要注意
磁盤I/O ? ? ?ZooKeeper的磁盤寫入是異步的,所以不會存在很大的I/O請求,如果ZooKeeper和其他I/O密集型服務公用應該關注下磁盤I/O情況zk_avg/min/max_latency? ? 響應一個客戶端請求的時間,建議這個時間大于10個Tick就報警
zk_outstanding_requests? ? ? ? 排隊請求的數量,當ZooKeeper超過了它的處理能力時,這個值會增大,建議設置報警閥值為10
zk_packets_received? ? ? 接收到客戶端請求的包數量
zk_packets_sent? ? ? ? 發送給客戶單的包數量,主要是響應和通知
zk_max_file_descriptor_count ? 最大允許打開的文件數,由ulimit控制
zk_open_file_descriptor_count ? ?打開文件數量,當這個值大于允許值得85%時報警
Mode ? ? ? ? ? ? ? ?運行的角色,如果沒有加入集群就是standalone,加入集群式follower或者leader
zk_followers ? ? ? ? ?leader角色才會有這個輸出,集合中follower的個數。正常的值應該是集合成員的數量減1
zk_pending_syncs? ? ? ?leader角色才會有這個輸出,pending syncs的數量
zk_znode_count ? ? ? ? znodes的數量
zk_watch_count ? ? ? ? watches的數量
Java Heap Size ? ? ? ? ZooKeeper Java進程的 在服務器端我們可以通過命令查看這些項目: [root@localhost ~]#?echo ruok|nc 127.0.0.1 2181 imok [root@localhost ~]#?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? ? 1364 zk_min_latency? ? 0 zk_packets_received? ? 184218311 zk_packets_sent? ? 184995960 zk_num_alive_connections? ? 33 zk_outstanding_requests? ? 0 zk_server_state? ? leader zk_znode_count? ? 821128 zk_watch_count? ? 2346 zk_ephemerals_count? ? 47 zk_approximate_data_size? ? 62155934 zk_open_file_descriptor_count? ? 62 zk_max_file_descriptor_count? ? 4096 zk_followers? ? 2 zk_synced_followers? ? 2 zk_pending_syncs? ? 0 [root@localhost ~]# 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/1364 Received: 184218603 Sent: 184996253 Connections: 33 Outstanding: 0 Zxid: 0x40d1a259a Mode: leader Node count: 821136 接下來就是寫一個監控腳本來輸出這些參數的具體情況: cd /usr/local/zabbxi/share/script/ vi zookeeper_check1.sh #!/bin/bash echo mntr | nc 127.0.0.1 2181 | grep "$1" |awk '{print $2}' vi zookeeper_check2.sh #!/bin/bash echo srvr|nc 127.0.0.1 2181 | grep "$1" |awk '{print $2}' zabbix-agentd.comf里面加入key: vi /usr/local/zabbix/etc/zabbix_agentd.conf UserParameter=zookeeper1[*],/bin/sh /usr/local/zabbix/share/script/zookeeper_check1.sh $1 UserParameter=zookeeper2[*],/bin/sh /usr/local/zabbix/share/script/zookeeper_check2.sh $1 重啟zabbix客戶端 然后在zabbix界面添加監控項 ------------------------------------------------------------------------------------------------ ztwl配置實例: #!/bin/bash zk=`echo ruok|nc 127.0.0.1 2181` if [[ "$zk" == "imok" ]] ; thenecho 1 elseecho 0 fi?
UserParameter=zookeeper.status,/bin/sh /etc/zabbix/zookeeper_check.sh
轉載于:https://www.cnblogs.com/hh2737/p/8257419.html
總結
以上是生活随笔為你收集整理的Zabbix监控Zookeeper健康状况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaSE-21 字符编码简介
- 下一篇: 使用WGAN生成手写字体