前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >zookeeper监控告警

zookeeper监控告警

作者头像
三丰SanFeng
发布2018-01-16 15:57:57
3.1K1
发布2018-01-16 15:57:57
举报
文章被收录于专栏:三丰SanFeng三丰SanFeng

一、ZooKeeper简介

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

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

l 负载均衡

l 命名服务(Naming Service)

l 分布式通知/协调

l 集群管理与Master选举

l 分布式锁

zk环境搭建

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

Zookeeper集群搭建:https://cloud.tencent.com/developer/article/1021111

Zookeeper配置文件详解:https://cloud.tencent.com/developer/article/1021117

Zookeeper常用四字命令:https://cloud.tencent.com/developer/article/1021119

二、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监控告警框架,提供以下功能:

l CPU/MEM/LOAD的监控

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

l 单机连接数的峰值报警

l 单机 Watcher数的峰值报警

l 节点自检:是指对集群中每个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集群实时状态

clip_image002
clip_image002

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

Watch数

clip_image004
clip_image004

连接数

clip_image006
clip_image006

集群状态趋势图

clip_image008
clip_image008

新增监控集群

clip_image010
clip_image010

三、ZooKeeper告警

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

l ZooKeeper宕机告警

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

l 单机Watch数超过阀值告警

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-09-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、ZooKeeper简介
    • zk环境搭建
    • 二、ZooKeeper监控
    • 三、ZooKeeper告警
    相关产品与服务
    负载均衡
    负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档