ALM-13001 ZooKeeper可用連接數不足
更新時間 2023-06-30 09:45:44
最近更新時間: 2023-06-30 09:45:44
分享文章
本章節主要介紹ALM-13001 ZooKeeper可用連接數不足。
告警解釋
平滑次數為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分鐘,單擊“下載”。 - 請聯系運維人員,并發送已收集的故障日志信息。
告警清除
此告警修復后,系統會自動清除此告警,無需手工清除。
參考信息
無。