Zookeeper實現集羣和負載均衡---(4)Zabbix集成集羣監控

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/oMaverick1/article/details/50770295

1.前言
上一章描述了現有系統架構的詳細方案,本章節主要描述集羣監控描述。
2.Zabbix
  Zabbix是一個企業級的開源分佈式監控解決方案,由一個國外的團隊持續維護更新,軟件可以自由下載使用,運作團隊靠提供收費的技術支持贏利。Zabbix通過C/S模式採集數據,通過B/S模式在web端展示和配置。具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫性能監控、FTP等通用協議監控、多種告警方式、詳細的報表圖表繪製)支持自動發現網絡設備和服務器;支持分佈式,能集中展示、管理分佈式的監控點;擴展性強,server提供通用接口,可以自己開發完善各類監控。
 Zabbix支持多種網絡方式下的監控,可通過分佈式的方式部署和安裝監控代理,整個架構如(圖一、圖二)所示。
 這裏寫圖片描述
Zabbix的報警流程
這裏寫圖片描述
Zabbix支持10多個類型的監控方式,內置23個監控模板,可以實現對服務器或網絡設備的CPU、文件系統、內存、網卡、操作系統、性能、進程、系統安全、服務狀態、網站性能等等這些基本模塊進行監控。
除了這些我們能想得到的常見監控外,Zabbix也支持Zabbix Agent配置中通過“UserParameter”自定義的監控採集參數實現更多的監控項目。Zabbix也可以對支持JMX的程序的進行詳細的監控。
從上面的介紹可以看出,通過Zabbix監控的配置結合自定義的監控腳本,Zabbix可以靈活的擴展到各種應用服務等做出全面的監控。
3.Zabbix集成方式
1. 自定義的監控採集參數
Zabbix Agent配置中通過“UserParameter”自定義的監控採集參數實現更多的監控項目。比如我們想對基於linux系統的Mysql服務進行監控室,我們除了通過內置的linux監控模板監控基本狀態,我們可以通過對該臺機器的Zabbix Agent配置中的“UserParameter”參數來定義自定義監控採集項。
2. 自定義JMX監控模板
Zabbix 2.0 已經將 JMX 監控加入了系統中,本身不再依賴第三方工具。這是得對 Tomcat 應用以及其他 Java 應用的監控更加簡單。因此,Zabbix集成java程序的監控特別有優勢。
3. 利用Zabbix文件監控特性
應用系統實現數據的採集,並將監控項數據寫入文件,如judge.txt內。在測試主機的items中加入對應的監控項,監控項的屬相如:Name爲ZkConnectCunter,key爲“vfs.file.regmatch[judge.txt,1]”,Interval位30。意思是每30秒去檢測judge.txt內內容,若內容爲1,則返回值爲1,否則返回0,這樣來判斷應用系統的監控項,實現對應用系統監控項的自動監控。
4.Zabbix集成Zookeeper監控
Zookeeper 集羣的運行狀況是根據集羣運行的各項指標決定的。Zookeeper監控系統實現的目的是獲取監控指標數據,並檢查數據是否異常,異常時觸發報警,及時通知運維人員處理。
目前Zookeeper獲取監控指標已知的有兩種方式:
1、通過Zookeeper自帶的 four letter words command 獲取各種各樣的監控指標。
2、通過JMX Client連接Zookeeer對外提供的MBean來 獲取監控指標 (需要修改啓動腳本,使其支持遠程JMX連接)。
上述兩種獲取Zookeeper監控指標的結果都是一致的,調研Zabbix的結果可知,Zabbix顯然支持Zookeeper監控指標兩種獲取方式。
其中,四字命令的監控方式,可以通過在Agent上自定義增加監控指標項,利用腳本獲取數據,JMX監控方式,可以利用Zabbix集成JMX插件實現。
簡單列舉Zookeeper監控項:
集羣單機自檢
AliveServer/TotalServer 存活單機佔比
ClusterServer State 集羣單機狀態
ClusterServer LatencyAvg 集羣單機平均延遲
ClusterServer Connections 集羣單機連接數
ClusterServer NodeCount集羣節點目錄數
ClusterServer ClientLatencyAvg集羣節點客戶端延遲
ClusterServer WatcherCount集羣節點監聽數
RegisterService State ZK服務中心註冊服務狀態
考慮到Zookeeper的監控項較多,如果使用自定義監控項實現,不利於擴展,數據的獲取,特徵值提取,報警設置等操作較爲複雜,不利於擴展多臺機器。Zookeeper支持JMX監控的特性促使我們使用JMX方式實現,監控便捷易於擴展。其中,集羣自檢無法通過JMX實現,需要自定義監控項實現。
因此,Zookeeper的監控可以使用JMX方式實現,獲取數據,設置報警規則處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章