zabbix發送報警的腳本


zabbix報警媒介:自定義腳本Custom alertscripts

郵件報警准備工作:安裝sendEmail

zabbix-server 的 配置文件 /etc/zabbix/zabbix_server.conf 中的參數 “AlertScriptsPath=/usr/lib/zabbix/alertscripts” 指zabbix-server可以調用的腳本

編寫zabbix發送報警的腳本:[root@localhost data]# vim /usr/lib/zabbix/alertscripts/sendmail.sh 

#!/bin/bash 
SMTP_server='smtp.test.com' # SMTP服務器
username='yunwei@test.com' # 發件人郵箱用戶名
password='qweryyui' # 發件人郵箱密碼
from_email_address='yunwei@test.com' # 發件人Email地址
to_email_address="$1" # 收件人Email地址,zabbix傳入的第一個參數
message_subject_utf8="$2" # 郵件標題,zabbix傳入的第二個參數
message_body_utf8="$3" # 郵件內容,zabbix傳入的第三個參數
# 轉換郵件標題為GB2312,解決郵件標題含有中文,收到郵件顯示亂碼的問題。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
# 轉換郵件內容為GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
# 發送郵件
sendEmail='/usr/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$messa
ge_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
echo "`date +"%F %T"` send to $to_email_address" >> /tmp/send.log

 

zabbix媒介類型包括mail、sms、自定義腳本,我們用的最多的還是腳本媒介,再次我們就不講另外兩個媒介了。當事件通知到腳本,會傳遞三個參數它,分別為$1(發送給誰) $2(標題) $3(內容)。

媒介配置
點擊administrator->media types->create media types

 

zabbix媒介配置

  • Name:觸發器名稱
  • Type: 介質類型
  • script name:腳本名稱(需要先定義AlertScriptsPath,mail.sh放在這個目錄下,寫絕對路徑沒用)
  • Enabled:狀態

 

配置AlertScriptsPath

# mkdir /usr/local/zabbix/alertscripts
# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts 監控腳本路徑這樣設置一條記錄。
腳本編寫
# cd /usr/local/zabbix/alertscripts
# vi mail.sh
     #!/bin/sh
     to=$1
     subject=$2
     body=$3
#/usr/local/bin/sendEmail -f root@test.com -t "$to" -s mail.test.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu root@test.com -x root -m "$body" 2&gt;&gt;/tmp/sendmail.log

 

注意腳本設置號以后要設置權限,否則無法執行:

chown zabbix.zabbix mail.sh
chmod +x mail.sh

 

用戶媒介
給用戶指定媒介:
*點擊Administration→Users->打開用戶屬性表單->在Media tab點擊Add

 

zabbix媒介配置
參數介紹

  • Type: 選擇媒介類型,這邊選自定義媒介
  • Send to:發送到哪,例如705754153@qq.com,他就是腳本中的$1
  • When active:報警時間限定,我們設置24小時不間斷監控。
  • Use if severity:嚴重性類型,只接收指定的類型,不想接受的,那我不勾選即可。
  • Status:媒介狀態Enabled – 啟用中.Disabled – 已禁用.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM