想要用好zabbix進行監控,那麼我們首要需要了解下zabbix這個軟體的實現原理及它的架構。
重要元件說明:
1)zabbix server:負責接收agent傳送的報告資訊的核心元件,所有配置、統計資料及運算元據都由它組織進行;
2)database storage:專用於儲存所有配置資訊,以及由zabbix收集的資料;
3)web inte***ce:zabbix的gui介面;
4)proxy:可選元件,常用於監控節點很多的分布式環境中,**server收集部分資料**到server,可以減輕server的壓力;
5)agent:部署在被監控的主機上,負責收集主機本地資料如cpu、記憶體、資料庫等資料發往server端或proxy端;
另外,zabbix server、proxy、agent都有自己的配置檔案以及log檔案,重要的引數需要在這裡配置,後面會詳細說明。
乙個監控系統執行的大概的流程是這樣的:
agentd需要安裝到被監控的主機上,它負責定期收集各項資料,併發送到zabbix server端,zabbix server將資料儲存到資料庫中,zabbix web根據資料在前端進行展現和繪圖。這裡agentd收集資料分為主動和被動兩種模式:
主動:agent請求server獲取主動的監控項列表,並主動將監控項內需要檢測的資料提交給server/proxy
被動:server向agent請求獲取監控項的資料,agent返回資料。
【主動監測】通訊過程如下:
zabbix首先向serveractive配置的ip請求獲取active items,獲取並提交active tiems資料值server或者proxy。很多人會提出疑問:zabbix多久獲取一次active items?它會根據配置檔案中的refreshactivechecks的頻率進行,如果獲取失敗,那麼將會在60秒之後重試。分兩個部分:
獲取active items列表
agent開啟tcp連線(主動檢測變成agent開啟)
agent請求items檢測列表
server返回items列表
agent 處理響應
關閉tcp連線
agent開始收集資料
主動檢測提交資料過程如下:
agent建立tcp連線
agent提交items列表收集的資料
server處理資料,並返回響應狀態
關閉tcp連線
【被動監測】通訊過程如下:
server開啟乙個tcp連線
server傳送請求agent.ping\n
agent接收到請求並且響應
server處理接收到的資料1
關閉tcp連線
這裡,有人可以看出來,被動模式每次都需要開啟乙個tcp連線,這樣當監控項越來越多時,就會出現server端效能問題了。
還有人會問,那實際監控中是用主動的還是被動的呢?這裡主要涉及兩個地方:
1、新建監控專案時,選擇的是zabbix**還是zabbix端點**程式(主動式),前者是被動模式,後者是主動模式。
2、agentd配置檔案中startagents引數的設定,如果為0,表示禁止被動模式,否則開啟。一般建議不要設定為0,因為監控專案很多時,可以部分使用主動,部分使用被動模式。
二、常用的監控架構平台
1、server-agentd模式:
這個是最簡單的架構了,常用於監控主機比較少的情況下。
2、server-proxy-agentd模式:
這個常用於比較多的機器,使用proxy進行分布式監控,有效的減輕server端的壓力。
zabbix監控架構原理 linux技術
一 zabbix介紹 zabbix是一款企業級的監控軟體,可以監控的底層硬體包括主機,cpu,記憶體,交換機等資訊,同時也可以基於軟體層面做監控,包括程序,埠,檔案等狀態變化。二 zabbix監控架構及流程圖1.架構圖zabbix常見的監控方式agent,snmp,ipmazabbix採用serve...
Kafka架構原理詳解
kafka 儲存的訊息來自任意多被稱為 producer 生產者的程序。資料從而可以被發布到不同的 topic 主題下的不同 partition 分割槽。在乙個分區內,這些訊息被索引並連同時間戳儲存在一起。其它被稱為 consumer 消費者的程序可以從分割槽訂閱訊息。kafka 執行在乙個由一台或...
Spark架構及原理
原則一 避免建立重複的rdd 原則二 盡可能用同乙個rdd 原則三 對多次使用的rdd進行持久化 如何選擇一種最合適的持久化策略 原則四 盡量避免使用shuffle類運算元 原則五 使用map side預聚合的shuffle操作 groupbykey 和 reducebykey 原則六 使用高效能的...