企業級分佈式監控系統--zabbix

1.Zabbix簡介

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

2.zabbix安裝

zabbix重要的不是部署,而是學會操做使用,因此推薦你們進行一鍵部署。git

手動部署可參考官方文檔:https://www.zabbix.com/documentation/3.4/zh/manual/installation/install_from_packagesgithub

一鍵部署可參考:https://github.com/BillWang139967/zabbix_managerweb

docker上一鍵部署:https://github.com/BillWang139967/zabbix_install/wiki/server_dockerdocker

 

3.工做原理

一個監控系統運行的大概的流程是這樣的:數據庫

  zabbix agent須要安裝到被監控的主機上,它負責按期收集各項數據,併發送到zabbix server端,zabbix server將數據存儲到數據庫中,zabbix web根據數據在前端進行展示和繪圖。這裏agent收集數據分爲主動和被動兩種模式:服務器

  主動:agent請求server獲取主動的監控項列表,並主動將監控項內須要檢測的數據提交給server/proxy網絡

     被動:server向agent請求獲取監控項的數據,agent返回數據。架構

4.監控功能

主機的性能監控、網絡設備性能監控、數據庫性能監控、多種告警方式、詳細的報表圖表繪製併發

監控主機zabbix有專用的agent,能夠監控Linux,Windows,FreeBSD等 。

監控網絡設備zabbix經過SNMP,ssh(很少用)

可監控對象

  • 設備:服務器,路由器,交換機
  • 軟件:OS,網絡,應用程序
  • 主機性能指標監控
  • 故障監控: down機,服務不可用,主機不可達

5.監控系統架構

C/S架構   
       客戶端/服務器端,這種架構適合規模較小,處於同一地域的環境

C/P/S

     客戶端/代理端/服務器端/,這種適用於大規模系統

6.Zabbix系統架構

7.Zabbix組件構成

Server

  Zabbix server 是監控代理程序報告系統可用性、系統完成整性和統計信息的核心組件。Zabbix Server是全部配置信息、統計信息和操做數據的核心存儲器。

數據庫存儲

  全部配置信息和Zabbix收集到的數據都被存儲在數據庫中。

Web界面

  爲了從任何地方和任何平臺都輕鬆的訪問Zabbix,Zabbix提供了基於Web的界面。該界面是Zabbix Server的一部分,一般(但不必定)跟Zabbix Server運行在同一臺物理機器上。 

Proxy代理服務器

  Zabbix proxy 能夠替Zabbix Server收集性能和可用性數據。Proxy代理服務器是Zabbix軟件可選擇部署的一部分;固然,Proxy代理服務器能夠幫助單臺Zabbix Server分擔負載壓力。

Agent監控代理

  Zabbix agents監控代理 部署在監控目標上,可以主動監控本地資源和應用程序,並將收集到的數據報告給Zabbix Server。

數據流

  此外,瞭解Zabbix內部的數據流一樣很重要。爲了建立一個監控項用於採集數據,必須先建立一個主機。轉換到Zabbix功能的其餘部分,你必須先有一個監控項來建立觸發器,你必須有一個觸發器來建立動做。 所以,若是你想收到X服務器CPU負載太高的告警,你必須先爲X服務器建立一個主機實體並關聯一個用於對CPU進行監控的監控項,而後若是CPU負載過高便會激活觸發器,接着會執行一個動做,給你發送告警郵件。雖然看起來有不少步驟,可是使用模板的話能夠會很簡單。同時,這個設計能夠建立一個很是靈活的配置。

 

8.zabbix監控環境中基本概念

  一、主機(host):要監控的網絡設備,可由IP或DNS名稱指定;

  二、主機組(host group):主機的邏輯容器,能夠包含主機和模板,但同一個組織內的主機和模板不能互相連接;主機組一般在給用戶或用戶組指派監控權限時使用;

  三、監控項(item):一個特定監控指標的相關的數據;這些數據來自於被監控對象;item是zabbix進行數據收集的核心,相對某個監控對象,每一個item都由"key"標識;

  四、觸發器(trigger):一個表達式,用於評估某監控對象的特定item內接收到的數據是否在合理範圍內,也就是閾值;接收的數據量大於閾值時,觸發器狀態將從"OK"轉變爲"Problem",當數據再次恢復到合理範圍,又轉變爲"OK";

  五、事件(event):觸發一個值得關注的事情,好比觸發器狀態轉變,新的agent或從新上線的agent的自動註冊等;

  六、動做(action):指對於特定事件事先定義的處理方法,如發送通知,什麼時候執行操做;

  七、報警升級(escalation):發送警報或者執行遠程命令的自定義方案,如每隔5分鐘發送一次警報,共發送5次等;

  八、媒介(media):發送通知的手段或者通道,如Email、Jabber或者SMS等;

  九、通知(notification):經過選定的媒介向用戶發送的有關某事件的信息;

  十、遠程命令(remote command):預約義的命令,可在被監控主機處於某特定條件下時自動執行;

  十一、模板(template):用於快速定義被監控主機的預設條目集合,一般包含了item、trigger、graph、screen、application以及low-level discovery rule;模板能夠直接連接至某個主機;

  十二、應用(application):一組item的集合;

  1三、web場景(web scennario):用於檢測web站點可用性的一個活多個HTTP請求;

  1四、前端(frontend):Zabbix的web接口;

相關文章
相關標籤/搜索