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、设置触发器

原文地址:https://www.cnblogs.com/skyflask/p/11737263.html

时间: 2024-10-02 10:07:05

Zabbix实战-简易教程--中间件ZooKeeper监控的相关文章

Zabbix实战-简易教程(7)--监控第一台host

一.安装 agent 1.1 Agent分布 1.2 Agent安装 基础模板安装方法: wget -qO- http://zbxinstall.188.com:10086/base/agent-install-2.2.4.sh |/bin/bash 二. web界面添加主机 安装agent后,在web界面上添加主机,选择模板或者添加监控项,等待几分钟后,就可以通过最新数据获取对应监控项数据了.下面以图文为主,进行第一台主机添加. 2.1 创建主机 configuration(配置)–>Host

zabbix实战-简易教程(1)

玩zabbix已经几年了,一直准备分享一些相关的使用心得,但是总是因为各种借口而拖延,最近准备重新整理,记录一些实际工作环境中的示例,希望能够帮助正在学习或者正在寻找这方面资料的朋友,也算是对自己学习的一些记录吧. 以下是大概内容: ====================一.总流程===================== 环境安装->添加hosts/items/模板->获取items->入库.存档->对比触发器阈值->触发报警->执行动作->触发器阈值恢复正常

Zabbix实战-简易教程--低层次发现(LLD)

一.概述 自动发现(LLD)提供了一种在为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动监控磁盘或网卡,而无需为每个磁盘或网卡手动创建监控项.(LLD) 此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控项.(根据正则过滤) 二.类型 在Zabbix中,支持六种类型的发现项目: 系统文件的发现: 网络接口的发现: CPU和CPU内核的发现 SNMP OID的发现 使用ODBC SQL查询的发现 Windows服务的发现 三.流程 发

Zabbix实战-简易教程--排错(持续收集中)

一.安装错误 1.zabbix 安装故障之无法跳到下一步 执行命令:chownnginx:nginx /var/lib/php/session/ -R 2.proxy上无法采集交换机数据 yum install net-snmp net-snmp-utils 3.2.2.4升级到3.0,提示缺少参数HistoryIndexCacheSize 21076:20160714:115534.776 [file:dbcache.c,line:2610] zbx_mem_realloc(): please

Zabbix实战-简易教程--宏变量(Macro)

一.概述 Zabbix支持许多在多种情况下使用的宏.宏是一个变量,由如下特殊语法标识:MACRO 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在一个的典型用途中,宏可以用于模板中.因此,模板的触发器可能命名为"{HOST.NAME}的mysql{#MYSQLPORT} 端口已宕掉,请注意查看!". 当这个模板应用在主机( 飞龙在天roledb-192.168.1.100)时,并且当触发器展示在监控页面上时,触发器的名称将解析为"飞龙在天roledb-192.16

Zabbix实战-简易教程(7)--添加item

一.术语 1.1 Item概念 Item是从主机里面获取的所有数据.通常情况下 item称为监控项,例如我们host加入了 zabbix 监控,我们需要监控它的内存.CPU信息,那么获取的CPU或内存的这个元素就是 item,也就是监控项. 每个item 由 key[参数1,参数2,参数3,参数n]组成. 比如:监控项中需要获取主机信息,则需要一个对应的监控 key:system.hostname.如果是获取网卡流量,那么获取网卡这个监控项需要 key:net.if.in 或者 net.if.o

Zabbix实战-简易教程--业务类

一.需求 项目要求对线上服务器进行监控,包括服务器本身状态.进程相关数据.业务相关数据. 服务器本身状态可以通过基础模板即可获取数据(CPU.内存.网络.磁盘): 进程相关数据,前面也有相关文章专门监控http://www.cnblogs.com/skyflask/articles/8007162.html 所以只剩下业务相关数据了.而业务数据需要紧贴业务,所以需要程序那边提供接口,把数据吐出来,然后我这边接受获取,进行监控. 于是,向程序提出需求,将你要监控的业务数据以json格式吐出来,剩下

Zabbix实战-简易教程--动作(Actions)--自动注册

一.概述 之前已经讲述了自动发现功能,自动注册和自动发现非常类似,但是比自动发现更精确.因为自动注册,是在Agent上自定义元数据,然后Agent将元数据发送给server进行匹配,如果匹配一致,则进行下一步的动作(添加主机.模板之类的操作),所以从流程上来说,主动注册比自动发现更加精确. 二.配置 1.指定服务器 在agent配置文件中指定Zabbix server - zabbix_agentd.conf ServerActive=1.0.0.1 如果你没有在zabbix_agentd.co

Zabbix实战-简易教程--告警屏蔽(Maintenances)

Zabbix Maintenance 一.Zabbix Maintenance(zabbix告警屏蔽) 很多时候,我们需要在某段时间更新维护线上环境,这个时候你是已知触发器会引发报警,所以此时你可以提前通过zabbix的维护模式来进行主动屏蔽报警. 配置也很简单,下面就进行详细讲解: 1.选择 配置管理-->告警屏蔽 2.创建,点击 创建维护区间 3.设置--告警屏蔽全局设置 4.设置--维护时长 5.设置--维护对象 6.效果图 总结: 1.处于维护中的主机,告警信息还是会报出来,但是不会触发