Zabbix簡介
Zabbix是一款能夠監控各種網絡參數以及服務器健康性和完整性的軟件,是一個企業級的分布式開源監控方案。Zabbix使用靈活的通知機制,允許用戶為幾乎任何事件配置基於郵件的告警。這樣可以快速反饋服務器的問題。基於已存儲的數據,Zabbix提供了出色的報告和數據可視化功能。這些功能使得Zabbix成為容量規划的理想方案。
Zabbix支持主動輪詢和被動捕獲。Zabbix所有的報告、統計信息和配置參數都可以通過基於Web的前端頁面進行訪問。基於Web的前端頁面可以確保您從任何方面評估您的網絡狀態和服務器的健康性。適當的配置后,Zabbix可以在IT基礎架構監控方面扮演重要的角色。對於只有少量服務器的小型組織和擁有大量服務器的大型公司也同樣如此。
Zabbix是免費的。這意味着它的源代碼都是免費發行的,可供公眾任意使用。
Zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
agent 端:主機通過安裝agent方式采集數據。
server端:通過收集agent發送的數據,寫入數據庫(MySQL,ORACLE等),再通過php+apache在web前端展示
zabbix = cacti + nagios
• 優點:基於兩款工具優點於一身並更強大,實現企業級分布式監控。
• 缺點:2.2版本帶寬占用大但是升級到2.4版本后更節省了帶寬資源,其它再無發現。
zabbix監控功能
主機的性能監控、網絡設備性能監控、數據庫性能監控、多種告警方式、詳細的報表圖表繪制
監控主機zabbix有專用的agent,可以監控Linux,Windows,FreeBSD等
監控網絡設備zabbix通過SNMP,ssh(不多用)
可監控對象:
• 設備:服務器,路由器,交換機
• 軟件:OS,網絡,應用程序
• 主機性能指標監控
• 故障監控: down機,服務不可用,主機不可達
zabbix工作原理
zabbix agent需要安裝到被監控的主機上,它負責定期收集各項數據,並發送到zabbix server端,zabbix server將數據存儲到數據庫中,zabbix web根據數據在前端進行展現和繪圖。
這里agent收集數據分為主動和被動兩種模式:
主動:agent請求server獲取主動的監控項列表,並主動將監控項內需要檢測的數據提交給server/proxy
被動:server向agent請求獲取監控項的數據,agent返回數據。
zabbix監控環境中基本概念
1、主機(host):要監控的網絡設備,可由IP或DNS名稱指定;
2、主機組(host group):主機的邏輯容器,可以包含主機和模板,但同一個組織內的主機和模板不能互相鏈接;主機組
通常在給用戶或用戶組指派監控權限時使用;
3、監控項(item):一個特定監控指標的相關的數據;這些數據來自於被監控對象;item是zabbix進行數據收集的核心,
相對某個監控對象,每個item都由"key"標識;
4、觸發器(trigger):一個表達式,用於評估某監控對象的特定item內接收到的數據是否在合理范圍內,也就是閾值;接
收的數據量大於閾值時,觸發器狀態將從"OK"轉變為"Problem",當數據再次恢復到合理范圍,又轉變為"OK";
5、事件(event):觸發一個值得關注的事情,比如觸發器狀態轉變,新的agent或重新上線的agent的自動注冊等;
6、動作(action):指對於特定事件事先定義的處理方法,如發送通知,何時執行操作;
7、報警升級(escalation):發送警報或者執行遠程命令的自定義方案,如每隔5分鍾發送一次警報,共發送5次等;
8、媒介(media):發送通知的手段或者通道,如Email、Jabber或者SMS等
9、通知(notification):通過選定的媒介向用戶發送的有關某事件的信息;
10、遠程命令(remote command):預定義的命令,可在被監控主機處於某特定條件下時自動執行;
11、模板(template):用於快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接鏈接至某個主機;
12、應用(application):一組item的集合;
13、web場景(web scennario):用於檢測web站點可用性的一個活多個HTTP請求;
14、前端(frontend):Zabbix的web接口;
15、Zabbix API: Zabbix API允許你使用JSON RPC協議來創建、更新和獲取Zabbix對象(如主機、監控項、圖形和其他)信息或者執行任何其他的自定義的任務
16、Zabbix server:Zabbix軟件實現監控的核心程序,主要功能是與Zabbix proxies和Agents進行交互、觸發器計算、發送告警通知;並將數據集中保存等
17、Zabbix agent: 一個部署在監控對象上的,能夠主動監控本地資源和應用的程序
18、Zabbix proxy: 一個幫助Zabbix Server收集數據,分擔Zabbix Server的負載的程序
Zabbix安裝
第一步:安裝數據庫yum源
rpm -Uvh http:
//dev
.mysql.com
/get/mysql-community-release-el7-5
.noarch.rpm
第二部:安裝Mysql數據庫
yum install Mysql-com*-server -y
第二步:安裝zabbix4.0的源
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
出現錯誤:
錯誤:軟件包:zabbix-web-4.0.15-1.el7.noarch (zabbix)
需要:php-bcmath
錯誤:軟件包:zabbix-web-4.0.15-1.el7.noarch (zabbix)
需要:php-mbstring
您可以嘗試添加 --skip-broken 選項來解決該問題
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
第四步:安裝zabbix所需的組件
zabbix-server: yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-agent : yum install zabbix-agent zabbix-proxy : yum install zabbix-proxy
第五步:創建數據庫和用戶
#mysql -uroot -proot mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql> quit;
第六步:導入zabbix服務器所需要的表和數據
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix zabbix
第七步:編輯文件/etc/zabbix/zabbix_server.conf
DBPassword=zabbix
第八步:編輯文件設置時區/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Europe/Riga(打開注釋)
第九步:啟動服務和開機自啟
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
第十步:瀏覽器訪問
http://server_ip/zabbix
有亂碼方塊的解決辦法:
1.在windows下的C:\Windows\Fonts下找到宋體字文件simsun.ttc
上傳到linux服務器中
cd /usr/share/zabbix/assets/fonts
2.將原來的字體備份
mv graphfont.ttf graphfont.ttf.bak
3.把windows中的字體改名為graphfont.ttf
mv simsun.ttc graphfont.ttf
添加客戶端:
vim /etc/zabbix/zabbix_agentd.conf
修改以下參數:
Server=127.0.0.1(指向server端ip)
ServerActive=127.0.0.1(指向server端ip)
Hostname=Zabbix server