zookeeper监控告警

一、ZooKeeper简介

ZooKeeper作为分布式系统中重要的组件,目前在业界使用越来越广泛,ZooKeeper的使用场景非常多,以下是几种典型的应用场景:

l  数据发布与订阅(配置中心)

l  负载均衡

l  命名服务(Naming Service)

l  分布式通知/协调

l  集群管理与Master选举

l  分布式锁

zk环境搭建

这里不详细说明,提供详细blog说明。

Zookeeper集群搭建:http://www.cnblogs.com/linuxbug/p/4840137.html

Zookeeper配置文件详解:http://www.cnblogs.com/linuxbug/p/4840136.html

Zookeeper常用四字命令:http://www.cnblogs.com/linuxbug/p/4840135.html

二、ZooKeeper监控

在部门内部,有不少应用已经强依赖ZooKeeper,ZooKeeper的工作状态直接影响它们的正常工作。先来看一看哪些因素对ZooKeeper正常工作有比较大的影响:

影响ZooKeeper工作的主要因素

l  用于zookeeper写事务日志的目录要有足够大小,并且强烈建议在单独的磁盘(挂载点)上,这是影响ZK性能最大因素之一。

l  连接数。

l  注册的Watcher数。

l  ZNode是否可读,可写。

l  ZK事件通知的延时是否过大。

针对监控平台的以上几点要求,部内内部选用了目前使用业界已经比较成熟的阿里开源ZooKeeper监控框架TaoKeeper。

TaoKeeper源码及搭建方法参考 https://github.com/alibaba/taokeeper

TaoKeeper介绍

TaoKeeper是阿里开源ZooKeeper监控告警框架,提供以下功能:

CPU/MEM/LOAD的监控

ZK日志目录所在磁盘剩余空间监控

单机连接数的峰值报警

单机 Watcher的峰值报警

节点自检:是指对集群中每个IP所在ZK节点上的PATH: /YINSHI.MONITOR.ALIVE.CHECK 定期进行三次如下流程 : 节点连接 - 数据发布 - 修改通知 - 获取数据 - 数据对比, 在指定的延时内,三次流程均成功视为该节点处于正常状态。

工作原理

Taokeeper通过SSH连接到ZooKeeper部署的机器上,再在上面执行ZooKeeper的四字命令来得到统计信息,再分析保存到mysql数据库中。
监控目标机器的负载,也是通过SSH连接到目标机器,再执行top等命令,再分析得到数据。

常见四字命令:

l  echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader

l  echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。

l  echo cons | nc 127.0.0.1 2181 列出所有连接到服务器的客户端的完全的连接/会话的详情。

l  echo wchs | nc 127.0.0.1 2181 列出服务器 watch 的详细信息。

注意事项

1 taokeeper通过ssh信道到访登录每台机器,需要打开ssh的password登陆方式,不然taokeeper运行时会出现authentication failed错误。打开方式如下:

l  对于contos机器(sshd版本为标准OpenSSL):需要把sshd配置文件中(本机为/etc/ssh/sshd_config.l)中PasswordAuthentication变量设置成yes;

l  对于suse机器(sshd版本为SSH Secure Shell):需要把sshd配置文件中(本机为/etc/ssh2/sshd2_config.l)中AllowedAuthentications变量加上password(AllowedAuthentications publickey,keyboard-interactive,password);

2 监控的每台机器需要安装nc命令(suse中叫netcat,可以直接做个软链到nc)

使用TaoKeeper,目前已建立起部门内ZooKeeper的监控视图

ZooKeeper集群实时状态

点击查看按钮可以查看具体信息

Watch数

连接数

集群状态趋势图

新增监控集群

三、ZooKeeper告警

TaoKeeper查看主要针对以下几个维度:

l  ZooKeeper宕机告警

l  单机连接数超过阀值告警

l  单机Watch数超过阀值告警

l  磁盘,CPU,内存超过阀值告警

或自己使用四字命令+nc写脚本去做告警也行,这里不再详述。

时间: 2024-10-12 05:38:04

zookeeper监控告警的相关文章

ZooKeeper监控(taokeeper)

http://jm.taobao.org/?p=1450 在公司内部,有不少应用已经强依赖zookeeper,zookeeper的工作状态直接影响它们的正常工作.目前开源世界中暂没有一个比较成熟的zookeeper-monitor, 于是开始zookeeper监控这块工作. 目前zookeeper-monitor能做哪些事情,讲到这个,首先来看看哪些因素对zookeeper正常工作比较大的影响: 用于zookeeper写日志的目录要有足够大小,并且强烈建议在单独的磁盘(挂载点)上,这是影响ZK性

【云计算】监控 告警 怎么做

参考资料: 监控告警文章:http://www.open-open.com/lib/list/320?pn=0 Zabbix:http://www.open-open.com/lib/view/open1428628591140.html LinkedIn 部署和监控平台:glu:http://www.open-open.com/lib/view/open1444128078088.html Open-Falcon:来自小米的企业级监控系统:http://www.open-open.com/li

ZooKeeper监控

http://jm-blog.aliapp.com/?p=1450 在公司内部,有不少应用已经强依赖zookeeper,zookeeper的工作状态直接影响它们的正常工作.目前开源世界中暂没有一个比较成熟的zookeeper-monitor, 于是开始zookeeper监控这块工作. 目前zookeeper-monitor能做哪些事情,讲到这个,首先来看看哪些因素对zookeeper正常工作比较大的影响: 用于zookeeper写日志的目录要有足够大小,并且强烈建议在单独的磁盘(挂载点)上,这是

(转)Linux磁盘空间监控告警

Linux磁盘空间监控告警 原文:http://www.cnblogs.com/kerrycode/p/3415242.html Linux系统中需要监控磁盘各分区的使用情况,避免由于各种突发情况,造成磁盘空间被消耗殆尽的情况,例如某个分区被Oracle的归档日志耗尽,导致后续的日志文件无法归档,这时ORACLE数据库就会出现错误.监控磁盘空间的使用情况,其实有许多工具,例如Nagios等,其实最简单的还是使用Shell脚本.下面就介绍一下如何通过Shell脚本和Crontab作业结合来实现对磁

Spring Boot Admin 集成自定义监控告警

Spring Boot Admin 集成自定义监控告警 前言 Spring Boot Admin 是一个社区项目,可以用来监控和管理 Spring Boot 应用并且提供 UI,详细可以参考 官方文档. Spring Boot Admin 本身提供监控告警功能,但是默认只提供了 Hipchat.Slack 等国外流行的通讯软件的集成,虽然也有邮件通知,不过考虑到使用体检决定二次开发增加 钉钉 通知. 本文基于 Spring Boot Admin 目前最新版 1.5.7. 准备工作 Spring

SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -2(虚拟IP视角)

1.需求描述 我们知道Windows Cluster 都是多节点的,当虚拟IP漂移的时候,一般都是从一个节点漂移到另外一个节点.如果可以及时捕捉到旧节点信息是什么.新节点信息是什么对我们提供高可用的数据库服务很重要,只有捕捉到这些信息后才可以进一步检查相应的Job.账号,甚至是调整相应的应用服务等. 2.基本原理 在上一节<SQL Server Alwayson架构下 服务器 各虚拟IP漂移监控告警的功能实现 -1(服务器视角)>,我们实现了针对某一个节点的监控即这个节点是否有虚拟IP新增或消

分布式监控告警平台Centreon快速使用

一. Centreon概述 Centreon是一款功能强大的分布式IT监控系统,它通过第三方组件可以实现对网络.操作系统和应用程序的监控:首先,它是开源的,我们可以免费使用它:其次,它的底层采用nagios作为监控软件,同时nagios通过ndoutil模块将监控到的数据定时写入数据库中,而Centreon实时从数据库读取该数据并通过Web界面展现监控数据:,最后,我们可以通过Centreon管理和配置nagios,或者说Centreon就是nagios的一个管理配置工具,通过Centreon提

Zookeeper监控(Zabbix)

一直在弄监控,这些个中间件Zookeeper.Kafka......,平时也只知道一点皮毛,也就搭建部署过,没有真正的用过,一般都是大数据的同学在用,作为运维人员我需要对他做一个监控,由于对他不是知根知底,监控哪些指标就真的是一个大头了.经过不断的在网上搜集,看别人是怎么做的,做了以下一个基本的监控. 一.效果图 二.指标 监控最重要的就是数据,一切皆数据,有了数据想怎么监控就怎么监控.那么哪些数据是重要的?这些数据怎么获取?监控指标尤其重要. Zookeeper的监控指标(通过网上收集,等实际

zabbix监控告警Received empty response from Zabbix Agent Assuming that agent dropped connection

昨天想监控下tomcat,在网上找到,配置好后,重启了下Server,然后告警就来了 Received empty response from Zabbix Agent at [192.168.2.203]. Assuming that agent dropped connection 全是这种,还不是端口错误. 搞了好久,最后还是看日志搞定的. 日志里有这样 30305:20170426:123707.943 failed to accept an incoming connection: c