zabbix中文手冊
https://www.zabbix.com/documentation/3.4/manual/php
Zabbix 是一個企業級的分佈式開源監控方案。 Zabbix是一款可以監控各類網絡參數以及服務器健康性和完整性的軟件。 Zabbix使用靈活的通知機制,提供了出色的報告和數據可視化功能 Zabbix支持主動輪詢和被動捕獲。 Zabbix基於Web的前端頁面進行訪問。 Zabbix是免費的。 特色: 數據收集 靈活的閥值定義 高度可配置化的告警 實時圖表繪製 Web監控功能 豐富的可視化選項 歷史數據存儲 配置簡單 使用模板 網絡發現 簡潔的Web界面 Zabbix API 權限管理系統 功能強大並易於擴展的監控代理 二進制代碼 爲複雜環境準備
zabbix agent:部署在被監控主機上,負責收集本地數據併發往server端或porxy端。 zabbix server:負責接收agent發送的報告信息的核心組件,全部配置信息、統計數據及操做數據都由其組織進行。 zabbix database:用於存儲全部zabbix的配置信息、監控數據的數據庫。 zabbix web:zabbix的web界面,經過web界面管理zabbix的配置以及查看zabbix相關的監控信息,能夠單獨部署在獨立的服務器上,是server的一部分,一般是在一臺物理機上,若使用使用SQLite則必須在一臺上。 zabbix proxy:用於分佈式監控環境中,zabbix proxy某程度上至關於server端,完成局部區域內的信息收集,最終統一發往server端。可幫server分擔負載壓力。 zabbix數據流: 爲了建立一個監控項用於採集數據,必須先建立一個主機。轉換到Zabbix功能的其餘部分,你必須先有一個監控項來建立觸發器,你必須有一個觸發器來建立動做。 所以,若是你想收到X服務器CPU負載太高的告警,你必須先爲X服務器建立一個主機實體並關聯一個用於對CPU進行監控的監控項,而後若是CPU負載過高便會激活觸發器,接着會執行一個動做,給你發送告警郵件。雖然看起來有不少步驟,可是使用模板的話能夠會很簡單。同時,這個設計能夠建立一個很是靈活的配置。
理論上,zabbix可以監控幾乎全部與業務相關的硬件資源。可是,能監控的前提是能相互間穩定通訊。而zabbix支持的協議以下。 agent:經過專用的代理程序進行監控,與常見的master/agent模型類型。若支持的話,優先選用agent。 ssh、telnet:經過遠程控制協議進行通訊。 SNMP:simple network management protocol,經過snmp協議進行監控,大部分網絡設備都支持這種協議,與常見的master/agent模型類型,通常是在這些設備中內置有snmp的agent。 IPMI:經過IPMI接口進行監控,來監控對象的物理特徵,如電壓,溫度等。 JMX:java management extensions,經過jmx監控jvm虛擬機。
被動(passive)模式和主動(active)模式 工做模式是對於agent端來講的。 當agent端將採集完的數據主動發往server端的模式爲主動模式。 當agent端等待server端來垃圾數據的模式爲被動過模式。 主動模式與被動模式在agent端並不衝突,能夠同時存在。 agent端使用zabbix_sender工具測試可否向server端發數據,server端使用zabbix_get工具測試可否從agent端拉取數據。
zabbix agent部署在被監控的主機上,由agent採集數據並報告給負責監控的中心主機,中心主機就是master/agent中的master; 負責監控的中心主機爲zabbix server,server將從agent端接收信息並存儲到zabbix database中; 管理員是從zabbix web支持的web GUI上查看各類監控信息的,而zabbix web是有php編寫,因此依賴與LAMP環境; zabbix server和zabbix web都須要與zabbix database相互通訊來獲取數據。 當監控規模很是龐大時,就須要用到分佈式監控,使用zabbix proxy做爲代理來接收agent的提交的數據信息,而後將數據統一發送給zabbix server處理,在局部proxy就至關於server。
主機 (host):要監控的網絡設備,用IP或DNS名錶示 主機組 (host group):主機的邏輯組;它包含主機和模板。一個主機組裏的主機和模板之間並無任何直接的關聯。一般在給不一樣用戶組的主機分配權限時候使用主機組。 監控項 (item):要接收的主機的特定數據,一個度量數據,某個監控指標。 鍵(key):想要獲取監控項對應的數據,就須要經過某個key去獲取,能夠把key固然調用命令的對應的命令別名。 觸發器 (trigger):一個被用於定義問題閾值和「評估」監控項接收到的數據的邏輯表達式。當接收到的數據高於閾值時,觸發器從「OK」變成「Problem」狀態。當接收到的數據低於閾值時,觸發器保留/返回一個「OK」的狀態。 事件 (event):單次發生的須要注意的事情,例如觸發器狀態改變或發現有監控代理自動註冊 異常 (problem):一個處在「異常」狀態的觸發器 動做 (action): 一個對事件作出反應的預約義的操做,由操做(例如發出通知)和條件(當時操做正在發生)組成 升級 (escalation): 一個在動做內執行操做的自定義場景; 發送通知/執行遠程命令的序列 媒介 (media):發送告警通知的手段;告警通知的途徑 通知 (notification):利用已選擇的媒體途徑把跟事件相關的信息發送給用戶 遠程命令 (remote command):一個預約義好的,知足一些條件的狀況下,能夠在被監控主機上自動執行的命令 模版 (template):一組能夠被應用到一個或多個主機上的實體(監控項,觸發器,圖形,聚合圖形,應用,LLD,Web場景)的集合,模版的任務就是加快對主機監控任務的實施;也可使監控任務的批量修改更簡單。模版是直接關聯到每臺單獨的主機上。 應用 (application):一組監控項組成的邏輯分組 web 場景 (web scenario):利用一個或多個HTTP請求來檢查網站的可用性 前端 (frontend):Zabbix提供的web界面 Zabbix API:Zabbix API容許你使用JSON RPC協議來建立、更新和獲取Zabbix對象(如主機、監控項、圖形和其餘)信息或者執行任何其餘的自定義的任務 Zabbix server:Zabbix軟件實現監控的核心程序,主要功能是與Zabbix proxies和Agents進行交互、觸發器計算、發送告警通知;並將數據集中保存等 Zabbix agent:一個部署在監控對象上的,可以主動監控本地資源和應用的程序 Zabbix proxy:一個幫助Zabbix Server收集數據,分擔Zabbix Server的負載的程序
1)配置倉庫html
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm(這是個配置倉庫的安裝包,會自動倉庫) 配置好倉庫後,使用yum install來進行安裝
2)zabbix server的安裝前端
yum install mariadb mariadb-libs mariadb-server zabbix-get zabbix-server-mysql.x86_64 ##(根據安裝的數據庫來選擇包) 初始化zabbix數據庫 安裝mysql數據 建立zabbix數據庫和用戶 MariaDB [(none)]> create database zabbix charset 'utf8'; MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'xm1234'; ##這裏設置的本地 MariaDB [(none)]> flush privileges; 初始化zabbix數據庫 經過rpm -ql zabbix-server-mysql找到create.sql.gz。 解壓獲得create.sql腳本 gunzip crete.sql.gz 進行初始化 mysql -uroot -p -Dzabbix < create.sql 查看初始狀況 msyql -uroot -p MariaDB [(none)]> use zabbix MariaDB [zabbix]> show tables; 根據須要配置/etc/zabbix-server.conf DBPassword= 啓動服務 systemctl start zabbix-server
3)zabbix proxy的安裝java
yum install zabbix-get zabbix-proxy-mysql.x86_64(根據安裝的數據庫來選擇包) 初始化配置和server差很少
4)zabbix web的安裝mysql
yum install zabbix-web.noarch zabbix-web-mysql ##依賴了不少包,包括httpd和php 初始化 建立lamp環境 安裝httpd和php(應該是在安裝zabbix-web時,由依賴關係的緣由如下都已安裝,僅須要配置啓動) yum install httpd php(php-fpm)php-mysql maradb mariadb-libs mariadb-server 啓動httpd systemctl enable httpd systemctl start httpd 啓動maradb 配置啓動php 兩種方法,選其一。 1)modules: yum install php php-mysql vim /etc/httpd/conf/httpd.conf 在文件尾部加兩行 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 添加修改下面行 <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> systemctl restart httpd 2)fastcgi: yum install php-fpm php-mysql vim /etc/httpd/conf/httpd.conf 在文件尾部加四行 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1 修改下面行 <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> systemctl restart httpd systemctl start php-fpm 配置/etc/httpd/conf.d/zabbix.conf vim /etc/httpd/conf.d/zabbix.conf 在文件頭部添加 <VirtualHost 192.168.213.175:80> servername zabbix-server documentroot /usr/share/zabbix 在文件尾部添加 </VirtualHost> 修改 php_value date.timezone Asia/Shanghai 重啓httpd服務 systemctl restart httpd
5)zabbix agent的安裝linux
agent 的運行 Zabbix agent運行在被監控主機上。 Zabbix agent在linux上以守護進程運行。 Zabbix agent是是設計在非root帳戶下的。它會以其餘任何非root用戶啓動的進程同樣的方式運行。因此,您可使用任意非root用戶運行agent,且不會產生任何問題。 若是您在’root’帳戶下運行,它將切換到硬編碼的「zabbix」用戶,該用戶必須存在於您的系統上。若是您只想以’root’方式運行proxy,您必須在proxy配額文件裏修改‘AllowRoot‘參數。 Zabbix agent成功退出時退出碼爲0,異常則退出碼爲1。 安裝 yum install zabbix-agent zabbix-sender 配置 vim /etc/zabbix/zabbix_agentd.conf| ##### Passive checks related ##被動監控相關配置 Server=IP1, IP2, ...##容許那臺服務器拉取當前服務器的數據,用於實現基於ip的訪問控制,若多個ip可用逗號隔開。 ListenPort=10050 ##server端訪問的監聽端口,默認爲10050 ListenIP=0.0.0.0 ##本地監聽的地址,默認爲0.0.0.0,表示監聽本地全部地址 StartAgents=3 ##用於指定預生成的agent進程數量 ##### Active checks related ##主動監控相關配置,agent端主動向server週期性發送數據; ServerActive=IP1[:port], IP2[:port], ... ##信息推送到那臺server服務器上,若多個ip可用逗號隔開。 Hostname=Unique_HOSTNAME ##指定當前主機名,用於server端的識別。 必須與服務器配置的監控主機的主機名稱保持一致; 啓動 systemctl start zabbix-agent
http://zabbix_web_ip/zabbix 1)進入安裝界面,點擊next step 2)進入check of pre-requisites,確認全部狀態都爲ok,點擊next step 3)進入configure DB connection,配置數據庫類型,ip,端口,數據庫名,用戶密碼,點擊next step 端口0表示使用默認端口3306 4)進入zabbix server details,配置ip地址,端口,servername,添加name,這個name是你在/etc/httpd/conf.d/zabbix.conf中配置的servername,點擊next step。 5)進入pre-installation summary,檢查,點next step 6)進程如install,點擊finish 7)進入登陸界面,默認username爲admin,password爲zabbix。 8)登陸後,能夠修改英文爲中文。 若出現部分字體不能顯示的狀況 1》確保/usr/share/zabbix/include/locales.inc.php 中的 'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true] 2》上傳你喜歡的字體文件到/usr/share/zabbix/fonts,文件是以.ttf結尾的,不是也修改爲。 編輯/usr/share/zabbix/include/defines.inc.php中的 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name define('ZBX_FONT_NAME', 'simkai'); 確保simkai是你上傳的字體文件的文件名