告警解释
平滑次数为1,ZooKeeper可用连接数小于或等于阈值时,告警恢复;平滑次数大于1,ZooKeeper可用连接数小于或等于阈值的90%时,告警恢复。
告警属性
告警ID | 告警级别 | 是否自动清除 |
---|---|---|
13001 | 重要 | 是 |
告警参数
参数名称 | 参数含义 |
---|---|
来源 | 产生告警的集群名称。 |
服务名 | 产生告警的服务名称。 |
角色名 | 产生告警的角色名称。 |
主机名 | 产生告警的主机名。 |
Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
ZooKeeper可用连接数不足,当连接率超过100%时无法处理外部连接。
可能原因
该节点ZooKeeper连接量过大,超过阈值。某些连接进程存在连接泄露,或配置的最大连接数不符合实际使用场景。
处理步骤
检查连接状态
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,单击告警“ZooKeeper可用连接数不足”所在行的下拉菜单,在定位信息中确认告警上报的主机名所在的节点IP地址。
- 获取ZooKeeper进程pid。以root用户登录到告警上报的节点,执行命令: pgrep -f proc_zookeeper 。
- 是否正常获取pid。
- 是,执行步骤 4。
- 否,执行步骤 15。
-
获取所有与当前ZooKeeper实例连接的IP及连接数量,取连接数最多的前十个进行检查。根据获取到的pid值,执行命令
lsof -i|grep $pid | awk '{print $9}' | cut -d : -f 2 | cut -d \> -f 2 | awk '{a[$1]++} END {for(i in a){print i,a[i] | "sort -r -g -k 2"}}' | head -10
($pid 为上一步获取的 pid 值)
-
获取节点IP与连接数是否成功。
- 是,执行步骤 6。
- 否,执行步骤 15。
- 获取连接进程的端口号。根据获取到的pid与IP值,执行命令
lsof -i|grep $pid | awk '{print $9}'|cut -d \> -f 2 |grep $IP| cut -d : -f 2
(pid与IP为上一步获取的pid值与IP值) - 获取端口号port成功。
- 是,执行步骤 8。
- 否,执行步骤 15。
- 获取连接进程的进程号。依次登录到各IP,根据获取到的port号,执行命令 lsof -i|grep port 。($port为上一步获取端口号)
- 获取进程号成功。
- 是,执行步骤10。
- 否,执行步骤 15。
- 根据获取到的进程号,查看进程是否存在连接泄露。
- 是,执行步骤11。
- 否,执行步骤 12。
- 将存在连接泄露的进程关掉,观察界面上告警是否消除。
- 是,处理完毕。
- 否,执行步骤 12。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 >ZooKeeper > 配置 > 全部配置 > quorumpeer > 性能”中,将“maxCnxns”的值根据实际情况调大。
- 保存配置,并重启ZooKeeper服务。
- 界面上告警是否消除。
- 是,处理完毕。
- 否,执行步骤 15。
收集故障信息
- 在FusionInsight Manager界面,选择“运维 > 日志 > 下载”。
- 在“服务”中勾选待操作集群的“ZooKeeper”。
- 单击右上角的设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
- 请联系运维人员,并发送已收集的故障日志信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。