• Zabbix实战-简易教程--中间件ZooKeeper监控


    一、监控思路

    通过zabbix trapper方式监控,之前看到网友们都是通过定时任务进行主动上传数据,但是,zabbix还有另外一神器--自动发现,也能达到同样的功能。

    二、实现步骤

    1、准备脚本

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

    2、安装依赖包

    #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
    

      

    3、实现原理

    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 常用四字命令:

     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 重置服务器的统计信息
    

      

    4、配置agent端

      安装:将脚本zookeeper-monitor-lld.py放置在/etc/zabbix/externalscripts目录下

      配置文件中添加:

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

      

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

    特别注意地方!!!配置发现规则,设置数据发送间隔,很重要!!!

    6、应用模板,查看数据

    7、设置触发器

  • 相关阅读:
    hdu6315 Naive Operations
    noi.ac #525 神树的权值
    JSOI2018 潜入行动
    GXOI/GZOI2019 旅行者
    Educational Codeforces Round #67
    [六省联考2017] 分手是祝愿
    NOI2014 随机数生成器
    NOI2012 随机数生成器
    USACO19JAN Redistricting
    HNOI2015 菜肴制作
  • 原文地址:https://www.cnblogs.com/skyflask/p/11737263.html
Copyright © 2020-2023  润新知