試驗環境: php
LAMP環境 (LNMP環境已經成功了,爲了不干擾,我另外一臺LAMP主機) mysql
### 我在作實驗以前,做了時間同步,不知道這個有木有影響,一塊兒說一下吧! sql
yum -y install ntpdate vim
ntpdate time.windows.com windows
hwclock -w 瀏覽器
### 163的郵箱被報垃圾郵件的機率太大,我沒用163的郵箱發,而是用的139的郵箱 bash
軟件版本以下: 服務器
httpd-2.4.16 測試
mysql-5.6.26 3d
php-5.6.13
zabbix-3.0.4
配置好zabbix的服務器,這個是我用源碼編譯的LAMP環境搭建的
首先,註冊一個139的郵箱,並開啓IMAP/SMTP服務
在zabbix服務端安裝mailx
yum -y install mailx
配置mailx,發件郵箱,等信息以下:
vim /etc/mail.rc # 在最後,追加以下內容:
set from=15939390015@139.com smtp=smtp.139.com
set smtp-auth-user=15939390015@139.com smtp-auth-password=[登陸密碼]
set smtp-auth=login
嘗試直接使用mail命令發送郵件到本身的郵箱
echo "This is from 192.168.31.37" | mail -s "test" pywx4@qq.com
編寫發郵件腳本以下:
#!/bin/bash
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${message}" | mail -s "${subject}" $1 >> /tmp/sendmail.log 2>&1
[root@gan37 ~]# cat sendmail.sh
#!/bin/bash
echo "$1" >> /tmp/test.txt
echo "$2" >> /tmp/test.txt
echo "$3" >> /tmp/test.txt
echo "$3" | mail -s "$2" $1 >> /tmp/sendmail.log 2>&1
[root@gan37 ~]# touch /tmp/sendmail.log
[root@gan37 ~]# chown zabbix.zabbix !$
chown zabbix.zabbix /tmp/sendmail.log
[root@gan37 ~]# touch /tmp/test.txt
[root@gan37 ~]# chown zabbix.zabbix !$
chown zabbix.zabbix /tmp/test.txt
[root@gan37 ~]# chown zabbix.zabbix sendmail.sh
[root@gan37 ~]# ls -l sendmail.sh
-rw-r--r-- 1 zabbix zabbix 147 Nov 4 13:02 sendmail.sh
[root@gan37 ~]# chmod +x sendmail.sh
[root@gan37 ~]#
使用腳本再次發郵件嘗試:
chmod +x sendmail.sh
[root@gan37 ~]# ./sendmail.sh pywx4@qq.com "Test Again" "I come again,can you see me"
將腳本移動到一個便於管理的目錄,這裏我就放在了zabbix安裝目錄下了
[root@gan37 ~]# mkdir /usr/local/zabbix/alertscripts
[root@gan37 ~]# mv sendmail.sh !$
mv sendmail.sh /usr/local/zabbix/alertscripts
[root@gan37 ~]# ls -l !$
ls -l /usr/local/zabbix/alertscripts
total 4
-rwxr-xr-x 1 zabbix zabbix 147 Nov 4 13:02 sendmail.sh
[root@gan37 ~]#
設置zabbix_server.conf 告知其郵件發送腳本位置
vim /usr/local/zabbix/etc/zabbix_server.conf
修改AlterScriptsPath爲以下值
AlterScrtipsPath=/usr/local/zabbix/alertscripts
保存退出,並重啓zabbix_server
service zabbix_server restart
在瀏覽器中設置zabbix郵件報警:
管理-->報警媒介-->建立媒體類型
填寫內容以下:
名稱: Mailx
類型:腳本
腳本名稱:sendmail.sh # 如alertscripts目錄中的文件名稱一致
腳本參數: {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
而後將報警媒介與帳戶綁定
管理---> 用戶 ---> Admin ---> 報警媒介 ---> 添加
而後點擊更新,再次進入,肯定Mailx報警媒介已於Admin綁定
配置zabbix_server啓動報警機制
配置---> 動做 ---> Report problems to Zabbix administrators ---> 操做 ---> 編輯 --> 發送到用戶 ---> 選擇Admin (這裏我講持續時間改成了60s) ---> 更新
修改完之後,使這個樣子的:
再次點擊更新,而後啓用動做
到這裏,郵件報警 已配置完成,讓咱們來測試一下吧!!!
在zabbix服務器中,中止本地agentd
[root@gan37 zabbix]# service zabbix_agentd stop
等一會!大概10分鐘吧