Zabbix服務器操作
1、 安裝sendmail或postfix (郵件傳送代理MTA),本教程使用sendmail軟件。
(標注:如果直接使用外部郵箱發送郵件可以不需要配置sendmail或postfix,直接把這兩個軟件關掉,直接跳到第3步:配置mail即可實現)
[root@ssticentos65 ~]# yum -y install sendmail #在線yum安裝sendmail
[root@ssticentos65 ~]# /etc/init.d/sendmail start #啟動sendmail服務
[root@ssticentos65 ~]# /etc/init.d/sendmail status #查看sendmail啟動情況
sendmail dead but subsys locked #sendmail進程鎖住,原因是postfix服務啟動導致sendmail服務進程鎖住,需要關閉postfix服務。
sm-client (pid 1759) is running...
[root@ssticentos65 ~]# /etc/init.d/postfix stop #暫停postfix服務提示失敗,原因是postfix進程正在使用,需要使用kill命令殺掉postfix進程
Shutting down postfix: [FAILED]
[root@ssticentos65 ~]# /etc/init.d/postfix status #查看postfix服務可以查看到進程號
master (pid 1647) is running...
[root@ssticentos65 ~]# kill -9 1647 #殺掉postfix服務進程號
[root@ssticentos65 ~]# /etc/init.d/postfix status #查看postfix狀態
master dead but pid file exists
[root@ssticentos65 ~]# chkconfig postfix off #設置postfix開機不啟動
[root@ssticentos65 ~]# /etc/init.d/sendmail stop #暫停sendmail服務
Shutting down sm-client: [ OK ]
Shutting down sendmail: [FAILED]
[root@ssticentos65 ~]# /etc/init.d/sendmail start #啟動sendmail服務
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@ssticentos65 ~]#
2、安裝郵件發送工具mailx 。(郵件用戶代理MUA)
[root@ssticentos65 ~]# yum -y install mailx #在線安裝mailx
3、 配置mail
[root@ssticentos65 ~]# vim /etc/mail.rc
set from=lg1871212539@sina.com #新浪注冊的個人郵箱,用於zabbi服務端轉發郵件到指定郵箱
set smtp=smtp.sina.com #填寫新浪發送郵箱服務器地址smtp
set smtp-auth-user= lg1871212539 #新浪個人郵箱用戶
set smtp-auth-password=lg123456 #新浪個人郵箱密碼
set smtp-auth=login #登錄
#####################################
以下是qq郵箱配置方法:
set from=xxx@qq.com ---------------自己的郵箱
set smtp=smtp.qq.com ---------------郵件服務器
set smtp-auth-user=xxx@qq.com ---------------自己的郵箱
set smtp-auth-password=gdanhcvhdvsqbihd qq郵箱設置----賬戶-----POP3/SMTP服務 開啟后生成的密鑰文件輸入這里
set smtp-auth=login 默認格式
set smtp-use-starttls 默認格式
set ssl-verify=ignore 默認格式
set nss-config-dir=/etc/pki/nssdb/ 默認格式
4、測試郵件能否發送
#發送一份郵件到1873714157@qq.com 這個QQ郵箱(個人申請的QQ測試郵箱)
[root@ssticentos65 ~]# echo "test" | mail -s 'test linux' 1873714157@qq.com
5、編寫郵件發送腳本sendmail.sh
[root@ssticentos65 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/ #進入zabbix默認存放腳本路徑
[root@ssticentos65 alertscripts]# vim sendmail.sh #編寫發送郵件腳本
#!/bin/bash
# export LANG=zh_CN.UTF-8
to=$1
subject=$2
body=$3
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
[root@ssticentos65 ~]# touch /tmp/mailtmp.txt
[root@ssticentos65 ~]# chown zabbix.zabbix /tmp/mailtmp.txt
[root@ssticentos65 ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #sendmail.sh腳本修改所屬用戶和用戶組
[root@ssticentos65 ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #sendmail腳本賦予執行權限
[root@ssticentos65 ~]# ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #查看sendmail.sh腳本信息
-rwxr-xr-x. 1 zabbix zabbix 154 Jan 7 05:12 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
[root@ssticentos65 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf #配置zabbix_server.conf配置文件
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #這個修改成sendmail.sh腳本存放路徑
[root@ssticentos65 ~]# su zabbix #切換zabbix用戶
sh-4.1$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 1873714157@qq.com "test linux" "test" #zabbix用戶執行sendmail.sh腳本看是否有權限
Zabbix后台web介面配置
1、管理 ---- 報警媒介類型 ----- 創建媒介類型。
2、名稱可以隨便自己定義 ----- 類型選擇腳本 ----- 腳本名稱輸入上一步編寫的發送郵件的腳本名稱 ----
再添加以下3個參數,分別對應腳本需要的3個參數:收件人地址、主題、詳細內容:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
3、管理 ---- 用戶 ----- 選擇admin用戶。(自己創建一個用戶也可以)
4、報警媒介 ---- 添加。
5、類型輸入剛剛創建的報警媒介類型sendmail腳本 --- 輸入個人郵箱用於接收報警郵件 --- 啟動打勾 ---- 添加。
6、選擇更新。
7、權限設置(管理員用戶不用修改,權限默認所有服務器,如果要分類權限需要在用戶組進行控制)
8、配置 ---- 動作 ---- 創建動作。
9、動作 ---- 名稱自定義 --- 設置一條新的觸發條件 ---- 啟用 ---- 添加。(觸發條件需要根據實際情況設置)
觸發器 似 is unreachable for 5 minutes #根據主機觸發器 Template App Zabbix Agent: Zabbix agent on {HOST.NAME} is unreachable for 5 minutes 設置,主要監測zabbix_agentd客戶端連接情況。
10、定義操作。
默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
默認信息:
告警主機IP地址:{HOST.CONN}
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
11、定義恢復操作。
默認接收人:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
恢復信息:
告警主機IP地址:{HOST.CONN}
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
12、測試。
[root@ssticentos65 alertscripts]# /etc/init.d/zabbix_agentd stop #暫停zabbix_agentd客戶端服務