主機環境 redhat6.5 64位php
實驗環境 服務端1 ip172.25.25.1 主機名:server1.example.commysql
服務端2 ip172.25.25.2 主機名:server2.example.com linux
安裝包 alert-agent-4.1.3.1-linux-x64.tar.gzweb
fping-2.4b2-16.el6.x86_64.rpmsql
iksemel-1.4-2.el6.x86_64.rpm數據庫
iksemel-utils-1.4-2.el6.x86_64.rpmvim
php-bcmath-5.3.3-26.el6.x86_64.rpmsocket
php-mbstring-5.3.3-26.el6.x86_64.rpmide
zabbix-2.4.5-1.el6.x86_64.rpm測試
zabbix-agent-2.4.5-1.el6.x86_64.rpm
zabbix-get-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-2.4.5-1.el6.noarch.rpm
zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
防火牆狀態:關閉
Selinux狀態:Disabled
1.Zabbix的安裝及簡單的配置
服務端1
A)安裝zabbix
[root@sever1 zabbix]# yum install zabbix-2.4.5-1.el6.x86_64.rpmzabbix-agent-2.4.5-1.el6.x86_64.rpm zabbix-get-2.4.5-1.el6.x86_64.rpmzabbix-server-2.4.5-1.el6.x86_64.rpm zabbix-server-mysql-2.4.5-1.el6.x86_64.rpmzabbix-web-2.4.5-1.el6.noarch.rpm zabbix-web-mysql-2.4.5-1.el6.noarch.rpmfping-2.4b2-16.el6.x86_64.rpm iksemel-1.4-2.el6.x86_64.rpm iksemel-utils-1.4-2.el6.x86_64.rpm php-* -y #安裝zabbix
B)配置mysql數據庫
[root@server1 ~]# mysql -predhat
mysql> create database zabbix1 character set utf8 collateutf8_bin;
Query OK, 1 row affected (0.00 sec) #建立zabbix數據庫
mysql> grant all privileges on zabbix1.* to zabbix@localhostidentified by 'redhat';
Query OK, 0 rows affected (0.00 sec) #給zabbix數據庫受權
mysql> Ctrl-C -- exit!
[root@server1 ~]# mysql -uzabbix -predhat #用新建立的用戶測試登錄
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| zabbix1 |
+--------------------+
2 rows in set (0.00 sec)
mysql> Ctrl-C -- exit!
[root@server1 mysql]# cd/usr/share/doc/zabbix-server-mysql-2.4.5/create/
[root@server1 create]# ls
data.sql p_w_picpaths.sql schema.sql
#將文件導入數據庫
[root@server1 create]# mysql -uzabbix -predhat zabbix1<schema.sql
[root@server1 create]# mysql -uzabbix -predhat zabbix1<p_w_picpaths.sql
[root@server1 create]# mysql -uzabbix -predhat zabbix1 <data.sql
[root@server1 zabbix]# cd /etc/httpd/conf.d/
C)配置zabbix server和zabbix agent
[root@server1 conf.d]# vim zabbix.conf #修改時區
php_value date.timezoneAsia/Shanghai
[root@server1 create]# cd /etc/zabbix/
[root@server1 zabbix]# vim zabbix_server.conf #將zabbix數據庫的信息添加進去
DBName=zabbix1 DBUser=zabbix DBPassword=redhat
[root@server1 zabbix]# vim zabbix_agentd.conf #修改主機名
Hostname=server1.example.com
D)啓動zabbix-serverzabbix-agent httpd
[root@server1 conf.d]# /etc/init.d/zabbix-server start
Starting Zabbix server: [ OK ]
[root@server1 zabbix]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
[root@server1 conf.d]# /etc/init.d/httpd start
Starting httpd: [ OK ]
E)訪問172.25.25.1/zabbix
如圖:點擊next
如圖: 數據庫名字,用戶,密碼(剛纔在數據庫裏新建的),點擊Test Connection檢測是否鏈接數據庫(ok表示已鏈接),點擊next
Name能夠隨意填寫,點擊next
以後點擊finsh,登錄:用戶名 :Admin 密碼:zabbix
登錄進去,如圖:
2.在server中添加agent主機
服務端2
A)安裝zabbixagent、配置zabbix agent及開啓
[root@server2 zabbix]# yum install -yzabbix-2.4.5-1.el6.x86_64.rpm zabbix-agent-2.4.5-1.el6.x86_64.rpm -y
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# vim zabbix_agentd.conf
Server=172.25.25.1 #zabbixserver端ip ServerActive=172.25.25.1 Hostname=server2.example.com #本機主機名
[root@server2 zabbix]# /etc/init.d/zabbix-agent start
Starting Zabbix agent: [ OK ]
B)將zabbix agent主機添加到zabbix zerver
點擊Configure->Actions 如圖,在Event source中選擇Auto registration(自動註冊),點擊Create action
如圖,做以下設置:Action中name 自定義 ,Conditions選項卡保持默認
Operation選項卡點擊Add添加
添加結果以下:Add host:自動註冊主機添加到 hosts 列表
Add to host groups:自動註冊主機加入linux servers 組(組名能夠自定義)
Link totemplates:自動註冊主機應用模板 Template OS linux
點擊 Configuration -> Hosts 能夠看到新加的主機:
3.在server中添加agent的服務監控項
利用 zabbix 自帶的監控模版,以 http 和mysqld服務爲例
服務端2
A)配置開啓http和mysql服務
[root@server2 zabbix]# /etc/init.d/httpd start #開啓httpd
Starting httpd: [ OK ]
[root@server2 zabbix]# /etc/init.d/mysqld start #開啓mysqld
Starting mysqld: [ OK ]
[root@server2 zabbix]# mysql -predhat
mysql> grant select on *.* to wen@localhost identified by'redhat';
Query OK, 0 rows affected (0.00 sec) #建立本地用戶,並給其權限
mysql> Ctrl-C -- exit!
在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何獲取 mysql服務的各類信息,並在/var/lib/zabbix 目錄中新建「.my.cnf」文件,用以指定zabbix agent 如何登錄數據庫,能夠在 zabbix_server.conf 文件中找到密碼。
[root@server2 zabbix]# cd zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# mkdir /var/lib/zabbix #建立目錄
[root@server2 zabbix_agentd.d]# cd /var/lib/zabbix/
[root@server2 zabbix]# vim .my.cnf #編寫文件,以下
[mysql] host=localhost user=wen #剛建立的用戶 password=redhat #用戶wen的密碼 socket=/var/lib/mysql/mysql.sock [mysqldadmin] host=localhost user=wen password=redhat socket=/var/lib/mysql/mysql.sock
[root@server2 zabbix]# /etc/init.d/zabbix-agent restart #重啓服務
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]
B)添加模版 httpd服務和mysql服務
點擊Configuration -> Hosts -> server2.example.com-> Templates 選擇須要的模版添加,如圖:
點擊server2.example.com的Items,就出現了http服務,如圖;
http服務沒有圖形,mysql能夠查看圖形。
點擊server2.example.com的Graphs如圖:
點擊進去,如圖:
如圖:
4.Zabbix的報警
服務端1
A)Email報警方式
建議禁用不使用的報警方式,點擊Administration->Media types,如圖:
點擊Email進行設置,如圖:
點擊 Administration -> Users->Zabbix administrators的User,進入 Admin 管理員Media 選項卡,進行以下配置:
測試
[root@server2 mnt]# /etc/init.d/httpd stop #停掉服務端2的http服務
Stopping httpd: [ OK ]
因爲QQ 郵箱作的實驗,server1.example.com 是沒有域名解析的,會被 QQ郵箱擋掉,因此須要設置 QQ 郵箱反垃圾白名單,把zabbix@server1example.com 發件地址加入地址白名單。
B)110雲告警方式
將110雲告警添加到zabbix的報警中,官方文檔寫的很詳細,能夠參考官方文檔進行配置。
[root@server1 mnt]# tar zxfalert-agent-4.1.3.1-linux-x64.tar.gz -C /usr/lib/zabbix/alertscripts/ #解壓到指定目錄
[root@server1 mnt]# cd /usr/lib/zabbix/alertscripts/
[root@server1 alertscripts]# ls
alert-agent
[root@server1 alertscripts]# cpalert-agent/plugin/zabbix-plugin/110monitor .
[root@server1 alertscripts]# chown -R zabbix.zabbix * #x修改權限
[root@server1 alertscripts]# ll
total 8
-rwxr-xr-x 1 zabbix zabbix 559 Nov 1 19:39 110monitor
drwxr-xr-x 8 zabbix zabbix 4096 May 15 2015 alert-agent
點擊 Administration -> Media types,點擊Createmedia type, 建立110雲告警,如圖:
點擊 Administration -> Users->Zabbix administrators的User, 在 Admin 用戶的Media 選項卡中配置
點擊 Configuration -> Actions,點擊Triggers,編輯默認的 Report problems to Zabbix administrators,以下:
Conditions選項卡保持默認便可,點擊Operatins選項卡
測試
[root@server2 mnt]# /etc/init.d/httpd stop #停掉服務端2的http服務
Stopping httpd: [ OK ]
如圖: