設置主機名:
vi /etc/hosts
10.0.0.252 zabbix-server
hostnamectl set-hostname
關閉防火牆:
systemctl stop firewalld.service
systemctl disable firewalld.service
關閉selinux:
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
配置yun源
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
安裝服務器端包
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server zabbix-get
啟動mariadb
systemctl start mariadb
systemctl enable mariadb
創建zabbix數據庫
mysqladmin -uroot password root
mysql -uroot -proot
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
退出
導入初始模式和數據
cd /usr/share/doc/zabbix-server-mysql-3.0.10/
zcat create.sql.gz |mysql -uroot -proot zabbix //執行后會自動創建zabbix庫及zabbix帳號(密碼也是zabbix)
vim /etc/zabbix/zabbix_server.conf
91:DBName=zabbix
107:DBUser=zabbix
115:DBPassword=zabbix
systemctl start zabbix-server
systemctl enable zabbix-server
vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300 //以下信息原來就有
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
#php_value date.timezone Europe/Riga
php_value date.timezone Asia/Shanghai //追加一條信息
保存退出
systemctl start httpd.service
systemctl enable httpd.service
瀏覽器打開http://10.0.0.252/zabbix/setup.php,進行圖形化安裝。按默認點擊即可。
登錄zabbix,管理員帳號/密碼:Admin/zabbix
zabbix3.0中文亂碼問題的解決:
1.將windows的c:\windows\fonts\msyh.ttf字體文件上傳到/usr/share/zabbix/fonts/目錄下
2.vim /usr/share/zabbix/include/defines.inc.php
#復制第93行,生成新行,將原來的行注釋掉。並將新行修改成以下內容:
define('ZBX_FONT_NAME','msyh');
#復制第45行,生成新行,將原來的行注釋掉。並將新行修改成以下內容:
define('ZBX_GRAPH_FONT_NAME', 'msyh'); //最好通過復制方式,否則容易導致無法打開zbx站點
如下圖:

保存退出。刷新瀏覽器即可解決中文亂碼問題。

安裝和配置客戶端:
客戶端是centos7.0:
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum -y install zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
Server=zabbix服務器IP
ServerActive=zabbix服務器IP
保存退出
systemctl enable zabbix-agent
systemctl start zabbix-agent
-------------------
客戶端是centos6.X系列:
1)
tar -xzf zabbix-2.4.5.tar.gz
cd zabbix-2.4.5
./configure --prefix=/usr/local/zabbix --enable-agent && make && make install && echo ok
2)
拷貝相關的配置文件到/etc下並進行相關配置修改:
添加zabbix用戶和組
groupadd -g 1001 zabbix
useradd -g zabbix -u1001 -s /sbin/nologin zabbix
3)
拷貝相關的配置文件到/etc下並進行相關配置修改
ln -s /usr/local/zabbix/etc/ /etc/zabbix
ln -s /usr/local/zabbix/bin/* /usr/bin/
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
chown -R zabbix:zabbix /usr/local/zabbix/
a).修改zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf
Server=zabbix服務端IP //被動模式
Hostname=zabbix服務端主機名 //顯示這個數據是由誰發送的,該主機名要與zabbix管理界面設置的主機名一致
保存退出
4)
添加開機啟動腳本
cp /opt/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
:wq
chmod u+x /etc/rc.d/init.d/zabbix_agentd
chkconfig zabbix_agentd on
/etc/init.d/zabbix_agentd start
配置郵件報警:
1.安裝郵件發送工具mailx
systemctl stop sendmail
systemctl stop postfix
systemctl disable sendmail
systemctl disable postfix
yum -y install mailx
2.配置mailx
vim /etc/mail.rc
文件末尾添加以下內容
set from="發件箱email地址"
set smtp-auth-user=發件箱email地址
set smtp-auth=login

3.使用mailx發郵件的方式
方式1:mailx -s "郵件標題" 收件箱Email < 包含正文的文件
方式2:cat 包含正文的文件 | mailx -s "郵件標題" 收件箱Email
方式3:echo "正文內容" | mailx -s "郵件標題" 收件箱Email
方式4:mailx -s "郵件標題" 收件箱Email,回車按CTRL+D發送
4.配置zabbix服務端郵件報警
1.點擊‘管理’——》報警媒介類型——》創建媒體類型

名稱:sendmail //名稱任意
類型:腳本
腳本名稱:sendmail.sh //名稱任意,存放於/usr/lib/zabbix/alertscripts (生產上的測試服放這:/usr/local/zabbix/share/zabbix/alertscripts)
腳本參數: //一定要寫,否則可能發送不成功
{ALERT.SENDTO} //照填,收件人變量
{ALERT.SUBJECT} //照填,郵件主題變量,變量值來源於‘動作’中的‘默認接收人’
{ALERT.MESSAGE} //照填,郵件正文變量,變量值來源於‘動作’中的‘默認信息’

2.修改zbx服務端配置文件&編寫腳本:
vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts //指定腳本的存儲路徑
保存退出。
cd /usr/lib/zabbix/alertscripts
vim sendmail.sh //編寫郵件腳本
#!/bin/sh
echo "$3" | sed s/'\r'//g | mailx -s "$2" $1
保存退出。
chmod u+x sendmail.sh && chown zabbix. sendmail.sh
3.修改admin用戶的報警媒介:
用戶默認是沒有設置報警媒介的,設置后就可以接收報警消息了。

管理——》報警媒介類型——》Admin——》報警媒介


填寫收件人及接收的報警級別:

點擊‘管理’——》‘用戶群組’——》點擊zbx administrators右邊的啟動調試模式:

配置——》動作——》創建動作:
默認接收人:故障級別:{TRIGGER.STATUS}。服務器:【{HOSTNAME1} 】 發生:{TRIGGER.NAME} 故障!
//默認接收人:相當於郵件的主題
//默認接收人:相當於郵件的主題
名稱:任意寫
默認信息:郵件的主題
告警主機:{HOSTNAME1}
告警等級:{TRIGGER.SEVERITY}
告警項目:{TRIGGER.KEY1}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
[系統告警Email,不必回復]
恢復郵件:
恢復主題:
服務器:【{HOSTNAME1}】故障已恢復。故障原因:{TRIGGER.NAME}
恢復信息:恢復郵件的正文。當故障恢復正常后也發郵件通知一下。
當出現以下提示時,表示‘操作’選項沒有設置。‘動作’與‘操作’這兩個選項都要設置完畢,才能成功建立‘動作’:

繼續設置:

點擊‘操作’——》編輯:

發送間隔:60秒
步驟:發送50次
發送到:admin用戶
僅使用:sendmail方式發送

修改zabbix服務端的監控項,將監控項的數據更新間隔調小些(如60秒),以便不必等待太長時間觀察是否會發送郵件:

測試報警:
systemctl stop zabbix-agent,關掉服務后,郵箱會收到報警:


1.告警事件出來后,由哪個zbx帳號通知運維(配置——》動作——》操作——》發送到用戶)
2.以哪種媒介(短信/郵件)通知運維(管理——》用戶——》報警媒介)
3.消息發到哪個運維帳號(管理——》用戶——》報警媒介)
4.消息的格式是怎樣的(配置——》動作)
5.消息的發送頻率是怎樣,由哪個程序去發送(配置——》動作——》操作)
6.郵件腳本的名字和存儲路徑(管理——》報警媒介類型)
7.故障恢復后是否發送恢復消息(配置——》動作)