nagios用第三方郵件服務器發送報警郵件

第三方軟件sendEmail.

我用的QQ郵箱

這裏郵件服務器的地址爲smtp.qq.com

用來發郵件的帳號[email protected]

SMTP驗證的用戶名 857474360 密碼:不便透露,哈哈

以下就來介紹一下sendEmail這個軟件的使用.

sendEmail的主頁http://caspian.dotconf.net/menu/Software/SendEmail/

軟件十分小,是一個通過命令來發smtp郵件的程序.安裝也十分簡單(查看其README文件即可).

解壓縮tar –zxvf sendEmail-v1.55.tar.gz

cd sendEmail-v1.55

將可執行程序複製cp sendEmail /bin

然後給確認確實它具有執行權限

ll /bin/sendEmail

這樣程序就裝好了,使用也很簡單.直接運行sendEmail就會顯示詳細的用法

先看一個典型的例子,僅僅是例子,看sendEmail的用法

/usr/local/bin/sendEmail –f [email protected] –t [email protected] –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda –m happy

解釋:

-f 表示發送者的郵箱

-t 表示接收者的郵箱

-s 表示SMTP服務器的域名或者ip

-u 表示郵件的主題

-xu 表示SMTP驗證的用戶名

-xp 表示SMTP驗證的密碼(注意,這個密碼貌似有限制,例如我用d!5neyland就不能被正確識別)

-m 表示郵件的內容

如果你不帶-m參數的話,就會提示你自行輸入

Reading message body from STDIN because the ‘-m’ option was not used.

If you are manually typing in a message:

- First line must be received within 60 seconds.

- End manual input with a CTRL-D on its own line

輸入完成後使用CTRL-D來結束

當然我們也可以將一個文件的內容作爲郵件的正文發出去的

那麼就可以使用:

cat 文件名| /usr/local/bin/sendEmail –f [email protected] –t [email protected] –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda

有關sendEmail的用法就講到這裏

既然nagios要使用sendEmail來發警告郵件,那麼就要修改commands.cfg中關於發郵件的命令的定義,我們現在來修改notify-by-email這個命令,如下(注意其中粗體的部分)

用nconf修改以下2個命令,大家根據實際情況改吧,別發我郵箱裏面了,受不了。

notify-host-by-email

改爲

/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/sendEmail -f [email protected] -t $CONTACTEMAIL$ -s smtp.qq.com -u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -xu 857474360 -xp 輸入密碼

notify-service-by-email

修改爲:

/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/sendEmail -f [email protected] -t $CONTACTEMAIL$ -s smtp.qq.com -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu 857474360 -xp 輸入密碼

改完後,用nconf 重啓nagios生效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章