近日新裝了zabbix3,官方支持中文,對於我這個英語渣來說實在是好消息,於是乎各方面配置完成,過程略去,簡單說下遇到的一個蜜汁問題。
自動報警郵件使用腳本:
cat /usr/local/zabbix/share/zabbix/alertscripts/send_mail.sh
#!/bin/bash export LANG=en_US.UTF-8 echo "$3" | mail -s "$2" $1
添加報警媒介類型,腳本參數
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
以上配置後發現,任何報警郵件發送過來後,我收到的郵件都是郵件正文變成了一個dat類型的附件,導致非常麻煩,而手動執行腳本並給三個參數發送出來的郵件完全正常。百思不得其解,整過過程折騰數日就快要放棄時,突然想到是否可能是linux/windows之間格式問題,於是乎測試一把將腳本內容修改如下
#!/bin/bash export LANG=en_US.UTF-8 to=$1 subject=$2 echo "$3" > /tmp/zabbix_mailbody_$$ dos2unix /tmp/zabbix_mailbody_$$ mail -s "$subject" "$to" < /tmp/zabbix_mailbody_$$ rm -f /tmp/zabbix_mailbody_$$
轉換後測試ok,報警郵件ok,天下太平。世界真美好