您好,登錄后才能下訂單哦!
分布式系統監視工具Zabbix如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
對于運維人員來說,監控是非常重要的,因為如果想要保證線上業務整體能夠穩定運行,那么我們則需要實時關注與其相關的各項指標是否正常,而一個業務系統的背后,往往存在著很多的服務器、網絡設備等硬件資源,如果我們想要能夠更加方便的、集中的監控他們,我們則需要依靠一些外部的工具,而zabbix就是一個被廣泛使用的,可以實現集中監控管理的應用程序。
一、zabbix的特點
zabbix是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。這是百度百科上對zabbix上的一段定義,市面上的監控軟件很多,為什么選擇zabbix呢?先來看下其具有的特點:
1,自動發現服務器和網絡設備。
2,底層自動發現
3,分布式的監控體系和集中式的web管理
4,支持主動監控和被動監控模式
5,支持多種操作系統 Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X
6,高效的agent 支持 Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD,OS X, Tru64/OSF1, Windows NT4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista 環境
7,無agent監控等多種監控方法。
8,安全的用戶認證模式
9,靈活的用戶權限設置。
10,基于web的管理方法。
11,支持自由的自定義事件和郵件發送。
12,高水平的業務視圖監控資源。
13,支持日志審計。
組件
zabbix由以下幾個組件部分構成:
1、Zabbix Server:負責接收agent發送的報告信息的核心組件,所有配置,統計數據及操作數據均由其組織進行;
2、Database Storage:專用于存儲所有配置信息,以及由zabbix收集的數據;
3、Web interface:zabbix的GUI接口,通常與Server運行在同一臺主機上;
4、Proxy:可選組件,常用于分布監控環境中,代理Server收集部分被監控端的監控數據并統一發往Server端;
5、Agent:部署在被監控主機上,負責收集本地數據并發往Server端或Proxy端;
注:zabbix node也是 zabbix server的一種 。
進程
默認情況下zabbix包含5個程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另外一個zabbix_java_gateway是可選,這個需要另外安裝。下面來分別介紹下他們各自的作用。
zabbix_agentd客戶端守護進程,此進程收集客戶端數據,例如cpu負載、內存、硬盤使用情況等。
zabbix_getzabbix工具,單獨使用的命令,通常在server或者proxy端執行獲取遠程客戶端信息的命令。通常用戶排錯。例如在server端獲取不到客戶端的內存數據,我們可以使用zabbix_get獲取客戶端的內容的方式來做故障排查。
zabbix_senderzabbix工具,用于發送數據給server或者proxy,通常用于耗時比較長的檢查。很多檢查非常耗時間,導致zabbix超時。于是我們在腳本執行完畢之后,使用sender主動提交數據。zabbix_serverzabbix服務端守護進程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的數據最終都是提交到server備注:當然不是數據都是主動提交給zabbix_server,也有的是server主動去取數據。
zabbix_proxyzabbix代理守護進程。功能類似server,唯一不同的是它只是一個中轉站,它需要把收集到的數據提交/被提交到server里。為什么要用代理?代理是做什么的?賣個關子,請繼續關注運維生存時間zabbix教程系列。
zabbix_java_gatewayzabbix2.0之后引入的一個功能。顧名思義:Java網關,類似agentd,但是只用于Java方面。需要特別注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會給到server或者proxy。
下圖是zabbix的邏輯關系圖:
1、主機(host):要監控的網絡設備,可由IP或DNS名稱指定;
2、主機組(host group):主機的邏輯容器,可以包含主機和模板,但同一個組織內的主機和模板不能互相鏈接;主機組通常在給用戶或用戶組指派監控權限時使用;
3、監控項(item):一個特定監控指標的相關的數據;這些數據來自于被監控對象;item是zabbix進行數據收集的核心,相對某個監控對象,每個item都由”key”標識;
4、觸發器(trigger):一個表達式,用于評估某監控對象的特定item內接收到的數據是否在合理范圍內,也就是閾值;接收的數據量大于閾值時,觸發器狀態將從”OK”轉變為”Problem”,當數據再次恢復到合理范圍,又轉變為”OK”;
5、事件(event):觸發一個值得關注的事情,比如觸發器狀態轉變,新的agent或重新上線的agent的自動注冊等;
6、動作(action):指對于特定事件事先定義的處理方法,如發送通知,何時執行操作;
7、報警升級(escalation):發送警報或者執行遠程命令的自定義方案,如每隔5分鐘發送一次警報,共發送5次等;
8、媒介(media):發送通知的手段或者通道,如Email、Jabber或者SMS等;
9、通知(notification):通過選定的媒介向用戶發送的有關某事件的信息;
10、遠程命令(remote command):預定義的命令,可在被監控主機處于某特定條件下時自動執行;
11、模板(template):用于快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接鏈接至某個主機;
12、應用(application):一組item的集合;
13、web場景(web scennario):用于檢測web站點可用性的一個活多個HTTP請求;
14、前端(frontend):Zabbix的web接口;
下圖是一個zabbix的流程圖,其串聯了各術語之間的關系
在實際監控架構中,zabbix根據網絡環境、監控規模等 分了三種架構: server-client 、master-node-client、server-proxy-client三種 。
server-client架構
上圖是server-client架構,也是zabbix的最簡單的架構,監控機和被監控機之間不經過任何代理 ,直接由zabbix server和zabbix agentd之間進行數據交互。適用于網絡比較簡單,設備比較少的監控環境 。
server-proxy-client架構
上圖是server-proxy-client架構,其中proxy是server、client之間溝通的一個橋梁,proxy本身沒有前端,而且其本身并不存放數據,只是將agentd發來的數據暫時存放,而后再提交給server 。該架構經常是和master-node-client架構做比較的架構 ,一般適用于跨機房、跨網絡的中型網絡架構的監控。
master-node-client架構
上圖是master-node-client架構,該架構是zabbix最復雜的監控架構,適用于跨網絡、跨機房、設備較多的大型環境 。每個node同時也是一個server端,node下面可以接proxy,也可以直接接client 。node有自已的配置文件和數據庫,其要做的是將配置信息和監控數據向master同步,master的故障或損壞對node其下架構的完整性。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。