1. 程式人生 > 實用技巧 >zabbix入門(一):zabbix概念

zabbix入門(一):zabbix概念

參考官方地址:https://www.zabbix.com/documentation/3.4/zh/manual

概述

對於大量的運維人員來說,每天面對的是大量的資料,但當某一條資料發生故障時,能否及時觀察到並定位問題處理成了一大難點。此時需要一個監控工具是有必要的,目前市面上主流的監控工具很多,此篇文件中只限於zabbix.

Zabbix 是一個企業級的分散式開源監控方案。

Zabbix是一款能夠監控各種網路引數以及伺服器健康性和完整性的軟體。Zabbix使用靈活的通知機制,允許使用者為幾乎任何事件配置基於郵件的告警。這樣可以快速反饋伺服器的問題。基於已儲存的資料,Zabbix提供了出色的報告和資料視覺化功能。這些功能使得Zabbix成為容量規劃的理想方案。

zabbix具體通過哪些通訊方式進行監控主機呢?主要有:

agent:使用特定代理程式進行監控,如果被監控物件支援對應的agent,推薦首選。
ssh/telnet:通過遠端控制協議進行通訊。
SNMP:通過SNMP協議與被監控物件進行通訊,通常使用在無法進行agent代理安裝裝置上
IPMI:通過IPMI介面進行監控,我們可以通過標準的IPMI硬體介面,監控被監控物件的物理特徵,比如電壓,溫度,風扇狀態,電源狀態等
JMX:通過JMX進行監控,JMX(Java Management Extensions,即Java管理擴充套件),通常在監控JVM虛擬機器時,推薦使用這種方法。

通常zabbix主要是由五大元件構成,其對應的功能如下:
zabbix-server : Zabbix-server 是agent程式報告系統可用性、系統完整性和統計資料的核心元件,是所有配置資訊、統計資訊和操作資料的核心儲存器。

zabbix-database : 所有配置資訊和Zabbix收集到的資料都被儲存在資料庫中。

zabbix-web : 基於Web的Zabbix介面,該介面是Zabbix Server的一部分,通常(但不一定)跟Zabbix Server執行在同一臺物理機器上。讓使用者更方便直觀管理監控主機

zabbix-agent : Zabbix-agents監控代理 ,部署在被監控目標上,能夠主動監控本地資源和應用程式,並將收集到的資料報告給Zabbix Server。

zabbix-proxy : Zabbix-proxy 為可選元件,可以替Zabbix Server收集效能和可用性資料。當然,Proxy代理伺服器也可以幫助單臺Zabbix Server分擔負載壓力。

zabbix的工作模式:
zabbix工作主要有主動被動兩種工作模式:

主動模式:agent端會將收集完的資料主動傳送給server端,管理員可以在agent端使用zabbix-sender工具來測試是否能夠向server端傳送資料

被動模式:agent端不主動向server端傳送資料,而是由server端主動向agent端拉取資料,管理員可以使用zabbix-get工具測試是否能夠從agent端拉取資料

zabbix的大體工作流程:

當監控規模變得很龐大時,我們可能需要監控的資料有很多,這時候我們如果要監控多臺主機,就會導致server的承載壓力大大的增加,這時候就會使用到zabbix-proxy這個元件啦,不僅分攤了監控壓力,也降低了監控工作的複雜度,因為zabbix支援分散式監控,可以把多臺被監控物件分成不同的區域,每個區域中設定一臺代理主機,區域內的每個被監控物件的資訊被agent採集,提交給代理主機,在這個區域內,代理主機的作用就相當於zabbix server,我們稱這些代理主機為zabbix proxy,zabbix proxy再將收集到的資訊統一提交給真正的zabbix server處理,這樣,zabbix proxy分攤了zabbix server的壓力,同時,也能監控裝置的相關引數。工作流程見下圖