ALM-13001 ZooKeeper可用连接数不足 本章节主要介绍ALM13001 ZooKeeper可用连接数不足。 告警解释 平滑次数为1,ZooKeeper可用连接数小于或等于阈值时,告警恢复;平滑次数大于1,ZooKeeper可用连接数小于或等于阈值的90%时,告警恢复。 告警属性 告警ID 告警级别 是否自动清除 13001 重要 是 告警参数 参数名称 参数含义 来源 产生告警的集群名称。 服务名 产生告警的服务名称。 角色名 产生告警的角色名称。 主机名 产生告警的主机名。 Trigger Condition 系统当前指标取值满足自定义的告警设置条件。 对系统的影响 ZooKeeper可用连接数不足,当连接率超过100%时无法处理外部连接。 可能原因 该节点ZooKeeper连接量过大,超过阈值。某些连接进程存在连接泄露,或配置的最大连接数不符合实际使用场景。 处理步骤 检查连接状态 1. 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,单击告警“ZooKeeper可用连接数不足”所在行的下拉菜单,在定位信息中确认告警上报的主机名所在的节点IP地址。 2. 获取ZooKeeper进程pid。以root用户登录到告警上报的节点,执行命令: pgrep f proczookeeper 。 3. 是否正常获取pid。 是,执行步骤 4。 否,执行步骤 15。 4. 获取所有与当前ZooKeeper实例连接的IP及连接数量,取连接数最多的前十个进行检查。根据获取到的pid值,执行命令 lsof igrep $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 值) 5. 获取节点IP与连接数是否成功。 是,执行步骤 6。 否,执行步骤 15。 6. 获取连接进程的端口号。根据获取到的pid与IP值,执行命令 lsof igrep $pid awk '{print $9}'cut d > f 2 grep $IP cut d : f 2 (pid与IP为上一步获取的pid值与IP值) 7. 获取端口号port成功。 是,执行步骤 8。 否,执行步骤 15。 8. 获取连接进程的进程号。依次登录到各IP,根据获取到的port号,执行命令 lsof igrep port 。($port为上一步获取端口号) 9. 获取进程号成功。 是,执行步骤10。 否,执行步骤 15。 10. 根据获取到的进程号,查看进程是否存在连接泄露。 是,执行步骤11。 否,执行步骤 12。 11. 将存在连接泄露的进程关掉,观察界面上告警是否消除。 是,处理完毕。 否,执行步骤 12。 12. 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 >ZooKeeper > 配置 > 全部配置 > quorumpeer > 性能”中,将“maxCnxns”的值根据实际情况调大。 13. 保存配置,并重启ZooKeeper服务。 14. 界面上告警是否消除。 是,处理完毕。 否,执行步骤 15。