Zabbix 4.2 使用(三)Zabbix实现对Zookeeper节点监控

目录

 

1. 模板下载地址

2. 脚本说明

3. 安装

3.2 导入模板

4. Shell脚本实现方式

5. zookeeper JVM 监控 


1. 模板下载地址

本人改进后,只有python模板:

https://github.com/baiyang-hub/template_for_zabbix4.2.git

官方模板地址:

https://github.com/zabbix/zabbix-community-repos

该模板是官方推荐的模板

 

2. 脚本说明

该脚本采用python语言编写,数据收集方式采用外部检查,所为外部检查,简单理解为server将脚本发送到agent端进行执行(个人理解)

该脚本和shell   “echo mntr| nc ip port” 实现方式相同,文末会补充shell脚本实现方式(使用shell脚本,需要自己完善模板)

3. 安装

3.1 脚本安装

确保zabbix启动了外部检查

zabbix_server.conf 配置:ExternalScripts=/home/zabbix/externalscripts

修改脚本中ip和端口改为本机ip端口

 

3.2 导入模板

zabbix 页面上导入zbx_zookeeper_templates.xml 模板,然后新建主机,连接模板即可

图中为redis模板导入方式,zookeeper模板导入方式完全相同

其中 这俩对应的是集群检查,只有在zookeeper为集群,并且在leader节点会有,其他节点禁用掉这俩监控项

 

4. Shell脚本实现方式

可用监控项有如下,脚本中自己添加,实际内容和python监本监控项完全相同

['zk_version','zk_avg_latency','zk_max_latency','zk_min_latency','zk_packets_received','zk_packets_sent','zk_num_alive_connections','zk_outstanding_requests','zk_server_state','zk_znode_count','zk_watch_count','zk_ephemerals_count','zk_approximate_data_size','zk_open_file_descriptor_count','zk_max_file_descriptor_count','zk_followers','zk_synced_followers','zk_pending_syncs']
[root@mng-sys zabbix_agentd.d]# more zookeeper.*
::::::::::::::
zookeeper.conf
::::::::::::::
UserParameter=zookeeper[*],/etc/zabbix/zabbix_agentd.d/zookeeper.sh $1
::::::::::::::
zookeeper.sh
::::::::::::::
#!/bin/bash
#这个地址就随便配置一个集群地址就行
LEADER_ADDR="10.0.0.9 2181"
case $1 in 
        Connections)
                echo srvr | nc ${LEADER_ADDR} | grep Connections | awk '{print $2}'
        ;;

        sync)
                    All_node_num=`echo mntr| nc ${LEADER_ADDR} | grep zk_followers | awk '{print $2}'`
                    sync_node_num=`echo mntr| nc ${LEADER_ADDR} | grep zk_synced_followers| awk '{print $2}'`
                    pending_syncs=`echo mntr| nc ${LEADER_ADDR} | grep zk_pending_syncs | awk '{print $2}'`
                    if [ $All_node_num == $sync_node_num ];then
                                echo 0
                    else
                                echo $pending_syncs

                    fi
        ;;
        *|help)
                        echo '
                        使用下面参数
                        Concurrent : zk连接数
                        
                        注:改参数只有在集群环境生效,非集群环境sync无数据

                        sync : 同步状态,0表示同步正常,非0表示还有多个节点等待同步
                        '
        ;;
esac
[root@mng-sys zabbix_agentd.d]# 

5. zookeeper JVM 监控 

zookeeper为java编写,所以可以对jvm进行监控,gc 为默认jdk自带gc或者手动指定的gc

 zk添加jmx启动参数,IP改成zookeeper自己的IP

-Djava.rmi.server.hostname=本机ip -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.port=jmx端口

 导入zabbix-java 自带的jmx模板即可

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值