zabbix報警媒介:自定義腳本Custom alertscripts
郵件報警準備工做:安裝sendEmailhtml
zabbix-server 的 配置文件 /etc/zabbix/zabbix_server.conf 中的參數 「AlertScriptsPath=/usr/lib/zabbix/alertscripts」 指zabbix-server能夠調用的腳本vim
編寫zabbix發送報警的腳本:[root@localhost data]# vim /usr/lib/zabbix/alertscripts/sendmail.sh bash
#!/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 typesui
zabbix媒介配置spa
- 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>>/tmp/sendmail.log
注意腳本設置號之後要設置權限,不然沒法執行:code
chown zabbix.zabbix mail.sh chmod +x mail.sh
用戶媒介
給用戶指定媒介:
*點擊Administration→Users->打開用戶屬性表單->在Media tab點擊Addserver
zabbix媒介配置
參數介紹htm
- Type: 選擇媒介類型,這邊選自定義媒介
- Send to:發送到哪,例如705754153@qq.com,他就是腳本中的$1
- When active:報警時間限定,咱們設置24小時不間斷監控。
- Use if severity:嚴重性類型,只接收指定的類型,不想接受的,那我不勾選便可。
- Status:媒介狀態Enabled – 啓用中.Disabled – 已禁用.