Nagios警告郵件的特殊配置
Nagios警告郵件的特殊配置
nagios發警告郵件是採用本機的smtp服務,可以檢視commands.cfg中關於發郵件的命令的定義,使用本機的mail命令,這就需要開啟本機的smtp服務,
為了安全可以在防火牆上設定拒絕其他的機器連本機的25號埠
現在我們的網路裡面有一個郵件伺服器,所以要求使用這臺現有的郵件伺服器,不開啟本機的smtp服務,這就需要重新定義命令使用第三方軟體sendEmail.
首先我們當然要在郵件伺服器上新建一個賬戶用來做發郵件的賬戶
這裡郵件伺服器的地址為 mail.test.com
用來發郵件的帳號 nagios@test.com
SMTP驗證的使用者名稱 nagios
密碼 p#3isoda
以下就來介紹一下sendEmail這個軟體的使用.
下載地址
sendEmail-v1.55.tar.gz[/
軟體十分小,是一個透過命令來發smtp郵件的程式.安裝也十分簡單(檢視其README檔案即可).
解壓縮tar –zxvf sendEmail-v1.55.tar.gz
cd sendEmail-v1.55
將可執行程式複製cp sendEmail /usr/local/bin
然後給確認確實它具有執行許可權
ll /usr/local/bin/sendEmail
-rwxr-xr-x 1 root root 77882 11-03 14:23 /usr/local/bin/sendEmail
這樣程式就裝好了,使用也很簡單.直接執行sendEmail就會顯示詳細的用法
先看一個典型的例子
/usr/local/bin/sendEmail –f nagios@test.com –t yahoon@test.com –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 nagios@test.com –t yahoon@test.com –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda
有關sendEmail的用法就講到這裡
既然nagios要使用sendEmail來發警告郵件,那麼就要修改commands.cfg中關於發郵件的命令的定義,我們現在來修改notify-by-email這個命令,如下(注意其中粗體的部分)
# 'notify-by-email' command definition
define command{
command_name notify-by-email
command_line /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s mail.test.com -u "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu nagios -xp p#3isoda
}
send_email() {
/usr/local/bin/sendEmail -t $CONTACTEMAIL -f nagios@nagios.com -s 192.168.1.70 -xu nagios -xp Sinolife2008 -u "$HOSTNAME $SERVICEDESC ($NOTIFICATIONTYPE $SERVICESTATE)" -m "***** Nagios監控中心通知 *****\n\n通知型別: $NOTIFICATIONTYPE\n監控服務: $SERVICEDESC\n監控主機: $HOSTNAME\nIP地址: $HOSTADDRESS\n服務狀態: $SERVICESTATE\n日期/時間:$LONGDATETIME\n附加資訊: $SERVICEOUTPUT" -o message-charset=utf8
}
注:其實sendEmail是一個十分有用的程式,我們在這個地方用了它,其實別的地方也可以用,
典型的好處就是你不需要每臺機器都裝sendmail,開啟smtp服務.直接用現成的一臺郵件伺服器就行了,
這無疑很大的加強了系統的安全性,也節約了資源.
nagios發警告郵件是採用本機的smtp服務,可以檢視commands.cfg中關於發郵件的命令的定義,使用本機的mail命令,這就需要開啟本機的smtp服務,
為了安全可以在防火牆上設定拒絕其他的機器連本機的25號埠
現在我們的網路裡面有一個郵件伺服器,所以要求使用這臺現有的郵件伺服器,不開啟本機的smtp服務,這就需要重新定義命令使用第三方軟體sendEmail.
首先我們當然要在郵件伺服器上新建一個賬戶用來做發郵件的賬戶
這裡郵件伺服器的地址為 mail.test.com
用來發郵件的帳號 nagios@test.com
SMTP驗證的使用者名稱 nagios
密碼 p#3isoda
以下就來介紹一下sendEmail這個軟體的使用.
下載地址
sendEmail-v1.55.tar.gz[/
軟體十分小,是一個透過命令來發smtp郵件的程式.安裝也十分簡單(檢視其README檔案即可).
解壓縮tar –zxvf sendEmail-v1.55.tar.gz
cd sendEmail-v1.55
將可執行程式複製cp sendEmail /usr/local/bin
然後給確認確實它具有執行許可權
ll /usr/local/bin/sendEmail
-rwxr-xr-x 1 root root 77882 11-03 14:23 /usr/local/bin/sendEmail
這樣程式就裝好了,使用也很簡單.直接執行sendEmail就會顯示詳細的用法
先看一個典型的例子
/usr/local/bin/sendEmail –f nagios@test.com –t yahoon@test.com –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 nagios@test.com –t yahoon@test.com –s mail.test.com –u “from nagios” –xu nagios –xp p#3isoda
有關sendEmail的用法就講到這裡
既然nagios要使用sendEmail來發警告郵件,那麼就要修改commands.cfg中關於發郵件的命令的定義,我們現在來修改notify-by-email這個命令,如下(注意其中粗體的部分)
# 'notify-by-email' command definition
define command{
command_name notify-by-email
command_line /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/local/bin/sendEmail -f nagios@test.com -t $CONTACTEMAIL$ -s mail.test.com -u "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu nagios -xp p#3isoda
}
send_email() {
/usr/local/bin/sendEmail -t $CONTACTEMAIL -f nagios@nagios.com -s 192.168.1.70 -xu nagios -xp Sinolife2008 -u "$HOSTNAME $SERVICEDESC ($NOTIFICATIONTYPE $SERVICESTATE)" -m "***** Nagios監控中心通知 *****\n\n通知型別: $NOTIFICATIONTYPE\n監控服務: $SERVICEDESC\n監控主機: $HOSTNAME\nIP地址: $HOSTADDRESS\n服務狀態: $SERVICESTATE\n日期/時間:$LONGDATETIME\n附加資訊: $SERVICEOUTPUT" -o message-charset=utf8
}
注:其實sendEmail是一個十分有用的程式,我們在這個地方用了它,其實別的地方也可以用,
典型的好處就是你不需要每臺機器都裝sendmail,開啟smtp服務.直接用現成的一臺郵件伺服器就行了,
這無疑很大的加強了系統的安全性,也節約了資源.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2097974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Laravel 郵件配置Laravel
- sql 郵件配置SQL
- seafile QQ郵件的配置
- 警告:蘋果App商店成最新垃圾郵件目標蘋果APP
- linux下發郵件的配置Linux
- 郵件客戶端的配置使用客戶端
- PbootCMS郵件配置修改發件人資訊boot
- 谷歌郵箱,配置傳送郵件密碼谷歌密碼
- prometheus配置MySQL郵件報警PrometheusMySql
- Alertmanager傳送告警郵件配置
- spring boot配置QQ郵箱傳送郵件Spring Boot
- Mantis基本配置及郵件伺服器配置伺服器
- 如何在Mac郵件客戶端配置使用S/MIME郵件證書Mac客戶端
- 【Grafana】告警配置併傳送郵件Grafana
- 為GitLab配置郵件服務Gitlab
- 配置mail使用SMTP傳送郵件AI
- 高校郵件系統配置相關
- rails4.2.6配置傳送郵件AI
- zabbix 配置傳送郵件報警
- EM配置Oracle郵件自動告警Oracle
- 配置ActionMailer使用GMail傳送郵件AI
- 郵件伺服器配置和管理伺服器
- laravel 傳送郵件以及引數配置Laravel
- jenkins郵件報警機制配置Jenkins
- 郵件營銷用純文字郵件還是html郵件HTML
- 郵件開發:接收解析郵件
- 特殊需求的配置
- 配置linux使用mail傳送郵件到163郵箱LinuxAI
- 郵件開發:複雜郵件的一個示例
- win10 如何找到郵件顯示配置檔案 window10怎麼檢視郵件配置檔案Win10
- gitlab配置郵件通知功能操作記錄Gitlab
- 配置郵件客戶端(無SSL/TLS加密)客戶端TLS加密
- 如何在極狐GitLab 配置 郵件功能Gitlab
- 發郵件的例子
- 郵件的傳送
- ubuntu下nagios配置UbuntuiOS
- nagios安裝配置iOS
- ECMall如何支援SSL連線郵件伺服器的配置伺服器