iT邦幫忙

0

nagios的send mail problem

最近小弟有在架設nagios,但是在寄警告信的那一部份卡了很久。在此想詢問利害的高手一些意見。
Ubuntu 10.04
Nagios 3.4.1
sendmail
當我使用下面這個指令測試後,會出現:Alert:... List:; syntax illegal for recipient addresses

/usr/sbin/sendmail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

想請問一下這該怎麼樣解決?
因為我主要是想要測能不能寄信,但這一關都沒過我想因該是沒辦法寄信。
確認後也真的寄不出警告信,再麻煩高手幫忙一下。感謝

2
bbhenry
iT邦新手 4 級 ‧ 2014-02-09 18:17:47
最佳解答

傳統的 Nagios 設定起來超麻煩,介紹你使用 OMD,他整合了所有 Open Source 界跟 Nagios 最速配的工具跟插件,99% 的設定也透過網頁就可以搞定。

http://blog.unicsolution.com/2013/11/best-monitoring-solution-omd-nagios.html

4
ganymede
iT邦好手 1 級 ‧ 2012-12-19 10:41:25

系統都和你說 "syntax illegal for recipient addresses" 這一個錯誤訊息了.

看更多先前的回應...收起先前的回應...

我知道是一個錯誤,但要去那裡修這個問題,解決這個訊號還請你指點明津。

ganymede iT邦好手 1 級 ‧ 2012-12-20 08:38:17 檢舉
  1. 檢查 sendmail 的 log, 看看是否因真的 email address 設定錯誤.
  2. 檢查 nagios 的相關欄位設定.
  3. 您是在 shell 裡執行這一個指令?? 若是, 請確認 shell 裡的環境變數裡是否有相對應的值? 可是很怪的是 shell 裡的環境變數是只有 $variable, 而不是 $variable$.
  1. 檢查 nagios 的相關欄位設定.

關於第二點想請問一下要從那裡查比較容易清楚,是要找檔案還是進mysql之類的?

順便問一下,我沒有什麼方試可以直接測試nagios email發警告信最直接的方式。有時候我改好但想測都要等,但等到後來結果是失敗。所以你那裡有什麼方法可以直接測試nagios的方法嗎?

ganymede iT邦好手 1 級 ‧ 2012-12-21 08:34:11 檢舉

關於上述的第二點, 就得靠您自己, 在下對 nagios 不熟, 不知道 nagios 相關的設定.
如果想測試, 您可以把 trigger level 設低一點, 讓系統去觸發該事件就可以測試了.

2
solomonqoo
iT邦新手 4 級 ‧ 2013-05-21 17:21:07

跟nagios的欄位設定完全無關。

大致可以猜到,是你的sendmail沒有設定好,nagios安裝好,如果你要外寄(非自已公司網域的email-address)或內寄(自已公司內部e-mail address), 你的nagios所在主機的sendmail以及公司內部mail server都要設定,如此才有可能寄出。

上面是標準的方式,但是後來我都不這麼作了,因為你如果要外寄到外面的e-mail address,你要讓你nagios所在的sendmail要能是一部可正式對外的mail server,除了25 port要開放外,說不定還要能被反查;不然就是要透過自已公 司的mail server,來relay來自你sendmail的信件,這樣都太麻煩了。所以建議你直接利用shell script編寫一個可smtp的小程式(類似廣告信程式),將naigos的變數代入,這樣可以寄信出去了(內部或外部)!,如果說你是要寄簡訊,例如使用TWSMS公司的簡訊服務,你可以編寫url post的小程式,直接使用80 port的方式,將簡訊post出去,這樣一來,都不需要網管的介入,你就可以順利的寄警告信以及發出簡訊。還滿簡單的。

我要發表回答

立即登入回答