zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。php
zabbix能監視各類網絡參數,保證服務器系統的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各類問題。前端
zabbix的主要特色:node
- 安裝與配置簡單,學習成本低mysql
- 支持多語言(包括中文)web
- 免費開源sql
- 自動發現服務器與網絡設備數據庫
- 分佈式監視以及WEB集中管理功能apache
- 能夠無agent監視vim
- 用戶安全認證和柔軟的受權方式安全
- 經過WEB界面設置或查看監視結果
- email等通知功能
Zabbix Server:負責接受agent發送的報告信息的核心組件,全部配置、統計數據及操做數據均由其組織進行。
Database storage:專用於存儲全部配置信息,以及由zabbix收集的數據
Web interface:zabbix的gui接口,一般與Server運行在同一臺主機上。
Proxy:可選組件,經常使用於分佈監控環境中,代理Server收集部分被監控端的監控數據並統一發往Server端。
Agent:部署在被監控主機上,負責收集本地數據併發往Server端或proxy端。
主機(host):要監控的網絡設備,可由IP或DNS名稱指定
主機組(host group):主機的邏輯容器,能夠包含主機和模版,但同一組內的主機和模版不能互相連接;主機組一般在給用戶或用戶組指派監控權限時使用。
監控項(item):一個特定監控指標的相關數據,這些數據來自被監控對象;item是zabbix進行數據收集的核心,沒有item,將沒有數據;相對某監控對象來講,每一個item都由key進行標識。
觸發器(trigger):一個表達式,用於評估某監控對象的某特定item內所接收到的數據是否在合理範圍內,即閥值;接受到的數據量大於閥值時,觸發器狀態從「OK」轉變爲「problem」,當數據再次回到合理範圍時,其狀態將從「problem」轉換到「ok」。
事件(event):即發生一個值得關注的事情,例如觸發器的狀態轉變,新的agent或從新上線的agent的自動註冊等。
動做(action):指對特定時間事先定義的處理方法,經過包含操做(如發送通知)和條件(什麼時候執行操做);
報警升級(escalation):發送報警或執行遠程命令的自定義方案,如每隔5分鐘發送一次報警,共發送5次等。
媒介(media):發送通知的手段或通道,如email,jabber或sms,script等。
通知(notification):經過選定的媒介向用戶發送的有關某事件的信息
遠程命令(remote command):預約義的命令,可在被監控主機處於某特定條件下自動執行
模版(template):用於快速定義被監控主機的預設條目集合,一般包含了項目,觸發器,圖形,應用集等等,模版能夠直接連接至單個主機。
應用(application):一組item的集合
Web場景(web scennario):用於檢測web站點可用性的一個或多個http請求
前端(frontend):zabbix的web接口
系統環境:
[root@varnish ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@varnish ~]# uname -r 2.6.32-504.el6.x86_64 [root@varnish ~]# uname -m x86_64
準備數據庫
[root@node1 ~]# yum -y install mysql-server [root@node1 ~]# service mysqld start
鏈接數據庫,建立zabbix數據庫和用戶
[root@node1 ~]# mysql mysql> CREATE DATABASE zabbix CHARACTER SETutf8; mysql> GRANT ALL on zabbix.* TO'zbxuser'@'172.16.%.%' IDENTIFIED BY 'zbxpass'; mysql> FLUSH PRIVILEGES;
zabbix安裝:zabbix服務器端,web管理界面,被監控端(本身監控本身)
[root@node1 zabbix-2.4.5]#yum -y install zabbix-server-2.4.5-1.el6.x86_64.rpmzabbix-server-mysql-2.4.5-1.el6.x86_64.rpm zabbix-get-2.4.5-1.el6.x86_64.rpmzabbix-2.4.5-1.el6.x86_64.rpm zabbix-web-2.4.5-1.el6.noarch.rpmzabbix-web-mysql-2.4.5-1.el6.noarch.rpm zabbix-agent-2.4.5-1.el6.x86_64.rpmzabbix-sender-2.4.5-1.el6.x86_64.rpm
將所需的軟件包放到本地指定路徑,統一使用yum命令安裝。
安裝完成/etc/zabbix/目錄下出現以下文件
[root@node1 zabbix-2.4.5]# ll /etc/zabbix/ total 32 drwxr-x--- 2 apache apache 4096 May 26 21:03 web -rw-r--r-- 1 root root 7904 Apr 23 11:13 zabbix_agentd.conf drwxr-xr-x 2 root root 4096 May 26 21:03 zabbix_agentd.d -rw-r----- 1 root zabbix 13543 Apr 23 11:13 zabbix_server.conf
導入zabbix數據庫
[root@node1 zabbix-2.4.5]# cd/usr/share/doc/zabbix-server-mysql-2.4.5/create/ [root@node1 create]# mysql zabbix < schema.sql [root@node1 create]# mysql zabbix < p_w_picpaths.sql [root@node1 create]# mysql zabbix < data.sql
導入完成登陸數據庫查看,就會出現一堆的表
mysql> use zabbix; mysql> show tables; +-----------------------+ | Tables_in_zabbix | +-----------------------+ | acknowledges | | actions | | alerts | | application_template | 內容有截取…… | users_groups | | usrgrp | | valuemaps | +-----------------------+ 104 rows in set (0.00 sec)
修改zabbix配置文件,指定數據庫相關操做。
[root@node1 ~]# vim /etc/zabbix/zabbix_server.conf 73 DBHost=172.16.4.100 83 DBName=zabbix 99 DBUser=zbxuser 108 DBPassword=zbxpass 116 DBSocket=/tmp/mysql.sock
說明:前面的數字是行號
設置完成啓動zabbix服務
[root@node1 ~]# service zabbix-server start [root@node1 ~]# netstat -lntp | grep 10051 tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 37241/zabbix_server tcp 0 0 :::10051 :::* LISTEN 37241/zabbix_server
配置以前須要在php.ini配置文件中指明時區:
[root@node1 ~]# vim /etc/php.ini date.timezone = Asia/Shanghai [root@node1 ~]# service httpd restart
輸入zabbix服務器的地址,後面加上zabbix就能夠打開zabbix的web頁面
檢查環境,是否知足安裝要求
測試與數據庫的鏈接
設置鏈接zabbix服務器的相關信息
檢測設置有沒有問題,沒有問題就安裝
表示安裝完成了,配置文件時/etc/zabbix/web/zabbix.conf.php
這個時候就能夠登陸了,用戶名admin,密碼zabbix
登陸後出現以下頁面,表示web頁面正常
Monitoring:與「監控」功能相關的頁面大多都在此處,如graphs、triggers、screens、及maps等。
Inventory:主機資產清單。
Reports:提供強大且直觀報告功能。
Configuration:監控系統的全部配置功能均位於此處,例如定義主機組、模版、主機等。
Administration:與zabbix自身相關功能,如認證方法、用戶、權限、腳本、媒介類型、審計、通知及全局配置等。
修改agent配置文件,設置zabbix服務器地址
[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf 85 Server=127.0.0.1,172.16.4.100 #設置zabbix服務器端地址 126 ServerActive=127.0.0.1,172.16.4.100 #主動發起請求給服務器端,服務器端的地址 137 Hostname=node1 #主動聯繫zabbix服務器時,告訴服務器的主機名,需全局惟一
設置完成啓動服務
[root@node1 ~]# service zabbix-agent start [root@node1 ~]# netstat -lntp | grep 10050 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 38376/zabbix_agentd tcp 0 0 :::10050 :::* LISTEN 38376/zabbix_agentd
web界面設置,在configuration--> hosts 中,點擊disabled便可啓用對本機的監控
監控成功以下所示:
查看出圖:在monitoring --> graphs中選擇對應的主機和對應的graph便可看到圖形,只不過因爲監控時間太短尚未生成圖形
還能夠經過monitoring --> screens查看圖形信息
點擊zabbix的web頁面最上方的profile就能夠打開中文選擇頁面
選擇中文
設置完成以後會到首頁查看一些本來英文顯示的內容都已經顯示爲了中文
情況以下:
解決方法:複製Windows主機的一種中文字體到zabbix服務器
使用Xftp上傳字體到zabbix服務器,複製字體到/usr/share/zabbix/fonts/目錄,後綴須要修改成ttf
[root@node1 ~]# cp simsun.ttc/usr/share/zabbix/fonts/simsun.ttf
修改zabbix的配置文件,應用複製的字體
[root@node1 ~]# vim/usr/share/zabbix/include/defines.inc.php //define('ZBX_FONT_NAME', 'graphfont'); define('ZBX_FONT_NAME', 'simsun'); //define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name define('ZBX_GRAPH_FONT_NAME', 'simsun'); // font file name
設置完成以後,只須要刷新web頁面,就能夠看到圖片中的中文正常顯示了
相關內容:
(1)Zabbix2.4.5安裝配置:http://ximenfeibing.blog.51cto.com/8809812/1670988
(2)Zabbix客戶端監控+報警:http://ximenfeibing.blog.51cto.com/8809812/1670999
(3)Zabbix宏設置:http://ximenfeibing.blog.51cto.com/8809812/1671024
(4)使用zabbix監控web:http://ximenfeibing.blog.51cto.com/8809812/1671032
(4)Zabbix用戶參數配置:http://ximenfeibing.blog.51cto.com/8809812/1671039
(6)Zabbix模版+網絡發現:http://ximenfeibing.blog.51cto.com/8809812/1671041
(7)Zabbix分佈式監控proxy實現:http://ximenfeibing.blog.51cto.com/8809812/1671048