1、zabbix 監控架構
zabbix的監控架構在實際監控架構中,zabbix根據網絡環境、監控規模等架構: server-client 、server-proxy-client。
1、server-client架構也是zabbix的最簡單的架構,監控機和被監控機之間不經過任何代理 ,直接由zabbix server和zabbix agentd之間進行數據交互。適用於網絡比較簡單,設備比較少的監控環境 。
2、server-proxy-client架構其中proxy是server、client之間溝通的一個橋樑,proxy本身沒有前端,而且其本身並不存放數據,只是將agentd發來的數據暫時存放,而後再提交給server 。一般適用於跨機房、跨網絡的中型網絡架構的監控 master-node-client
普通監控:
分佈式監控:
2、Zabbix 優點
- 開源,無軟件成本投入
- Server 對設備性能要求低
- 支持設備多,自帶多種監控模板
- 支持分佈式集中管理,有自動發現功能,可以實現自動化監控
- 當監控的 item 比較多服務器隊列比較大時可以採用被動狀態,被監控客戶端主動 從server 端去下載需要監控的item 然後取數據上傳到 server 端。 這種方式對服務器的負載比較小。
- Api 的支持,方便與其他系統結合
3、Zabbix 缺點
需在被監控主機上安裝 agent,所有數據都存在數據庫裏, 產生的數據很大,瓶頸主要在數據庫。
4、Zabbix 監控系統監控對象
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-qvS8mgFH-1584967260896)(assets/1564965053542.png)]
IPMI:智能平臺管理接口(Intelligent Platform Management Interface)IPMI 能夠橫跨不同的操作系統、固件和硬件平臺,可以智能的監視、控制和自動回報大量服務器的運作狀況,以降低服務器系統成本。
SNMP:網絡管理協議(SNMP) 是專門設計用於在 IP 網絡管理網絡節點(服務器、工作站、路由器、交換機等)的一種標準協議,它是一種應用層協議。
5、監控區別
1.nagios圖形不是特別好,也可以安裝圖形插件,但是也不怎麼好看
2.nagios一般情況下如果需要圖形可以和cacti配合使用
3.cacti的監控是輪詢監控,效率低,圖形相對nagios比較好看
4.zabbix和nagios因爲是併發監控,對cpu的要求更高
5.zabbix在性能和功能上都強大很多
6.zabbix的圖形相當漂亮
7.支持多種監控方式 zabbix-agent snmp 等等
8.支持分佈式監控,能監控的agent非常多
9.zabbix有圖形的web配置界面,配置簡潔
10.zabbix支持自動發現功能
6、Zabbix監控方式
被動模式
主動模式
1、Server
Zabbix server 是agent程序報告系統可用性、系統完整性和統計數據的核心組件,是所有配置信息、統計信息和操作數據的核心存儲器。
2、數據庫存儲
所有配置信息和Zabbix收集到的數據都被存儲在數據庫中。
3、Web界面
爲了從任何地方和任何平臺都可以輕鬆的訪問Zabbix, 我們提供基於Web的Zabbix界面。該界面是Zabbix Server的一部分,通常跟Zabbix Server運行在同一臺物理機器上。
4、Proxy 代理服務器
Zabbix proxy 可以替Zabbix Server收集性能和可用性數據。
Zabbix Proxy是一個可以從一個或多個受監控設備收集監控數據,並將信息發送到Zabbix
sever,基本上是代server工作的。所有收集的數據都在本地進行緩存,然後傳送到proxy所屬的Zabbix sever。
部署Proxy是可選的,但是可能非常有益於分散單個Zabbix sever的負載。
如果只有proxy收集數據,sever上的進程就會減少CPU消耗和磁盤I / O負載。 Zabbix
proxy是完成遠程區域、分支機構、沒有本地管理員的網絡的集中監控的理想解決方案. Zabbix proxy需要使用獨立的數據庫。
5、Agent監控代理
Zabbix agents監控代理 部署在監控目標上,能夠主動監控本地資源和應用程序,並將收集到的數據報告給Zabbix Server。
6、數據流
監控方面,爲了創建一個監控項(item)用於採集數據,必須先創建一個主機(host)。告警方面,在監控項裏創建觸發器(trigger),通過觸發器(trigger)來觸發告警動作(action)。 因此,如果你想收到Server XCPU負載過高的告警,你必須: 1. 爲Server 創建一個host並關聯一個用於對CPU進行監控的監控項(Item)。 2. 創建一個觸發器Trigger,設置成當CPU負載過高時會觸發 3. Trigger被觸發,發送告警郵件 。
4、Zabbix常用術語的含義
1、主機 (host)
- 一臺你想監控的網絡設備,用IP或域名錶示
2、主機組 (host group)
- 主機的邏輯組;它包含主機和模板。一個主機組裏的主機和模板之間並沒有任何直接的關聯。通常在給不同用戶組的主機分配權限時候使用主機組。
3、監控項 (item)
- 你想要接收的主機的特定數據,一個度量數據。
4、觸發器 (trigger)
- 一個被用於定義問題閾值和“評估”監控項接收到的數據的邏輯表達式
當接收到的數據高於閾值時,觸發器從“OK”變成“Problem”狀態。當接收到的數據低於閾值時,觸發器保留/返回一個“OK”的狀態。
5、動作 (action)
- 一個對事件做出反應的預定義的操作。
一個動作由操作(例如發出通知)和條件(當時操作正在發生)組成
6、媒介 (media)
- 發送告警通知的手段;告警通知的途徑
7、遠程命令 (remote command)
- 一個預定義好的,滿足一些條件的情況下,可以在被監控主機上自動執行的命令
8、模版 (template)
- 一組可以被應用到一個或多個主機上的實體(監控項,觸發器,圖形,應用,Web場景等)的集合
模版的任務就是加快對主機監控任務的實施;也可以使監控任務的批量修改更簡單。模版是直接關聯到每臺單獨的主機上。
9、web 場景 (web scenario)
- 利用一個或多個HTTP請求來檢查網站的可用性
10、前端 (frontend)
- Zabbix提供的web界面
11、Zabbix server
- Zabbix軟件實現監控的核心程序,主要功能是與Zabbix server和Agents進行交互、觸發器計算、發送告警通知;並將數據集中保存等
12、Zabbix agent
Zabbix agent部署在監控的目標上,主動監測本地的資源和應用(硬件,內存,處理器統計等)。
Zabbix agent收集本地的操作信息並將數據報告給Zabbix server用於進一步處理。一旦出現異常 (比如硬盤空間已滿或者有崩潰的服務進程), Zabbix server會主動警告管理員指定機器上的異常。