1、什麼是zabbixphp
Zabbix是一個基於WEB界面的分佈式開源監控系統,主要組成部分:Zabbix_server、Zabbix_agent、Zabbix_proxy。;Zabbix能夠監控網絡和服務的監控情況。利用靈活的報警機制,容許用戶對事件發送基於Email或短信等方式進行報警;同時能夠利用存儲數據提供傑出的報告及圖形化方式。node
zabbix架構圖(馬哥教育):python
2、zabbix的特性mysql
數據採集:
web
支持SNMP(trapping及polling)、IPMI、JMX監控;sql
自定義檢測和間隔收集收據;數據庫
可用性及性能檢測;vim
server/proxy/agents性能;瀏覽器
數據存儲:服務器
數據存儲在數據庫中;
歷史數據可配置;
內置數據清理機制;
數據展現:
容許自定義建立多監控項視圖;
自定義的面板(screen)和報告;
網絡拓撲(network maps);
報警:
能夠自定義告警升級(escalation)、接收者及告警方式;
告警信息能夠配置並容許使用宏(macro)變量;
經過遠程命令實行自動化動做(action);
網絡自動發現:
自動發現網絡設備;
agent自動註冊;
自動發現文件系統、網卡設備、SNMP OID等;
3、安裝zabbix
zabbix須要數據庫來存儲數據;因此須要安裝mysql;建議數據庫與zabbix服務器安裝在不一樣的機器上
下面以yum安裝演示:
IP | 主機 | 描述 |
192.168.0.111 | node1.soul.com | zabbix_server |
192.168.0.112 | node2.soul.com | mysql |
192.168.0.113 | node3.soul.com | zabbix_agent |
#在node1上安裝zabbix_server [root@node1 ~]# yum -y install zabbix22 zabbix22-agent zabbix22-server zabbix22-server-mysql zabbix22-web zabbix22-web-mysql zabbix22-dbfiles-mysql [root@node1 ~]# rpm -ql zabbix22-server /etc/logrotate.d/zabbix-server /etc/rc.d/init.d/zabbix-server /etc/zabbix/alertscripts /etc/zabbix/externalscripts /etc/zabbix/zabbix_server.conf #能夠看到配置文件等安裝信息 [root@node1 ~]# rpm -ql zabbix22-dbfiles-mysql /usr/share/doc/zabbix22-dbfiles-mysql-2.2.1 /usr/share/doc/zabbix22-dbfiles-mysql-2.2.1/COPYING /usr/share/zabbix-mysql /usr/share/zabbix-mysql/data.sql /usr/share/zabbix-mysql/p_w_picpaths.sql /usr/share/zabbix-mysql/schema.sql #能夠查看到zabbix的數據庫文件 [root@node1 ~]# scp /usr/share/zabbix-mysql/{data.sql,p_w_picpaths.sql,schema.sql} node2:/tmp root@node2's password: data.sql 100% 948KB 947.6KB/s 00:00 p_w_picpaths.sql 100% 1932KB 1.9MB/s 00:00 schema.sql 100% 104KB 104.1KB/s 00:00 [root@node1 ~]# 複製到node2主機上
安裝mysql於node2主機:
[root@node2 ~]# yum -y install mysql mysql-server [root@node2 ~]# service mysqld start Starting mysqld: [ OK ] [root@node2 ~]# mysql> create database zabbix; Query OK, 1 row affected (0.00 sec) mysql> use zabbix; Database changed mysql> source /tmp/schema.sql mysql> source /tmp/p_w_picpaths.sql mysql> source /tmp/data.sql #建立數據庫;導入數據 mysql> grant all on zabbix.* to 'zbx'@'192.168.0.111' identified by 'zbxpass'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; #受權zabbix_server主機
配置node1上的zabbix_server啓動:
[root@node1 ~]# vim /etc/zabbix_server.conf #更改對應的數據庫信息便可 DBHost=192.168.0.112 DBName=zabbix DBUser=zbx DBPassword=zbxpass [root@node1 ~]# service zabbix-server start Starting Zabbix server: [ OK ] [root@node1 ~]# ss -tunl | grep 10051 tcp LISTEN 0 128 :::10051 :::* tcp LISTEN 0 128 *:10051 *:* #啓動成功 #啓動httpd [root@node1 ~]# service httpd start Starting httpd: [ OK ]
4、使用web管理界面配置zabbix
在瀏覽器中輸入:http://(你的zabbix_server地址)/zabbix
上述提示PHP問題;對應的修改/etc/php.ini重啓httpd;完成後retry測試所有OK便可
完成安裝後的界面。
Monitoring監控菜單:
Dashboard(儀表盤) | Overview(總覽) | WEB | Latest data(最新數據) | Triggers(觸發器) | Events(事件) | Graphs(圖形) | Screen(多屏) | Maps(拓撲圖) | IT Services。
Inventory主機資產清單使用的很少。
Reports報告菜單:
Status of Zabbix(Zabbix的狀態信息) | Avaliablity report(可用性報告) | Triggers top 100(前100個觸發數據) | Bar reports(柱形圖)。
Configuration配置菜單:
Host group(主機組) | Templates(模板) | Hosts(主機) | Maintenance(維護) | Actions(動做) | Screens(多屏) | Slide shows(幻燈片) | Maps(拓撲圖) | Discovery(自動發現) | IT services。
Administration管理菜單:
General(通用配置) | DM(zabbix_proxy) | Authentication(用戶認證) | Users(用戶管理) | Media types(媒介類型) | Scripts(腳本) | Audit(審計) | Queue(隊列) | Notifications(通知) | Installation(安裝)
具體參數:http://www.zabbix.com/documentation.php 選擇對應版本。
5、配置簡單的監控實例
在node3安裝zabbix_agent
[root@node3 ~]# yum -y install zabbix22 zabbix22-agent [root@node3 ~]# vim /etc/zabbix_agentd.conf #更改Server便可 Server=192.168.0.111 [root@node3 ~]# service zabbix-agent start Starting Zabbix agent: [ OK ] [root@node3 ~]# ss -tunl | grep 10050 tcp LISTEN 0 128 :::10050 :::* tcp LISTEN 0 128 *:10050 *:* #啓動成功
一、添加主機:create host
二、添加Items:create item
相似再添加一個CPU的監控。
三、建立Graphs:create graph
四、建立screen:create screen
添加完成後能夠在monitor中查看具體信息:
能夠在latest data中查看:
graph中查看:group和host中能夠選擇對應的主機等;graph中能夠選擇圖形信息
以上簡單的作到了CPU負載和網卡流量監控。
下面添加一個能夠自動報警發送郵件的機制:
五、添加一個media type
六、添加默認的帳戶zabbix的通知給本機的root:
七、添加一個trigger:
八、添加一個action:
其中macro的說明:https://www.zabbix.com/documentation/2.2/manual/appendix/macros/supported_by_location
Recovery message這項選擇後在恢復時也會對應的發郵件通知;其他還須要設定條件和具體的操做:
如今能夠查看監控:
很明顯有了閾值線。左下方顯示閾值的大小。
定義完成後能夠進行測試了。
能夠在monitor的dashboard面板查看到相關信息:
此時能夠看到事件已觸發;能夠查看下是否有郵件通知。
能夠查看到郵件通知信息;且內容與定義的相符。一條報警通知和一條恢復通知。到此;一些基本內容已配置完成和實現。
若有錯誤;懇請糾正。