標籤:nagios圖表郵件 pnp4n_send_host_mail.pl pnp4n_send_service_mail.pl mail-sendmail
利用pnp4n_send_host_mail.pl和pnp4n_send_service_mail.pl外掛程式實現nagios監控資訊的圖表化的郵件發送。
注意:此功能是在nagios服務正常安裝,並安裝了pnp4nagios外掛程式的基礎上實現的;因此要先安裝好基本的nagios運行環境,這個可以參考本人相關的博文。
1.依賴包檢測安裝
#rpm -q perl perl-devel perl-libwww-perl perl-MIME-tools
#yum -y install perl perl-devel perl-libwww-perl perl-MIME-tools
Mail-Sendmail包可以從http://search.cpan.org/~mivkovic/Mail-Sendmail/進行下載,
並根據安裝包中的README說明進行安裝.
注意:這裡的Mail-Sendmail不是系統內建的sendmail服務!!!
#wget http://www.cpan.org/authors/id/M/MI/MIVKOVIC/Mail-Sendmail-0.79_16.tar.gz
#tar xzvf Mail-Sendmail-0.79_16.tar.gz
#cd Mail-Sendmail-0.79_16
#perl Makefile.PL
#make
#make install
注意:如果下載的Mail-Sendmail版本和本文給出的版本不同時,請用vim開啟安裝包的Sendmail.pm
尋找‘auth‘欄位,看是否有郵件認證功能.本人發現有的版本中沒有這個認證功能,那樣就沒法使用
使用者名稱密碼到SMTP服務上進行使用者驗證發郵件了。
2.安裝圖表郵件外掛程式
外掛程式可以到http://nagios.fm4dd.com/plugins中進行下載;
#wget http://nagios.fm4dd.com/howto/source/notification-pnp4n/pnp4n_send_service_mail.pl
#wget http://nagios.fm4dd.com/howto/source/notification-pnp4n/pnp4n_send_host_mail.pl
#cp pnp4n_send_service_mail.pl pnp4n_send_host_mail.pl nagios/libexec/
#chmod -R nagios.nagios nagios/libexec/
3.配置外掛程式
3.1配置nagios.cfg
enable_environment_macros=1
3.2配置圖表外掛程式
可以根據網站中說明進行配置;這裡簡要說明一下配置內容:
以pnp4n_send_service_mail.pl外掛程式為例
#vim pnp4n_send_service_mail.pl
#PNP4Nagios外掛程式所在的伺服器
my $test_host = "localhost";
#PNP4nagios外掛程式(nagios)上監控的服務
my $test_service = "HTTP";
#通過nagios網頁開啟的pnp4nagios監控圖的網頁地址(到pnp4nagios就好不要太細)
my $pnp4nagios_url = "http://127.0.0.1/pnp4nagios";
#nagios網頁設定了密碼登入的話在這裡給出登入資訊
my $pnp4nagios_auth = "true"; #nagios登入是否有認證;
my $server_port = "nagios.frank4dd.com:80"; #nagios首頁地址
my $auth_name = "Nagios Access"; #認證名(在http的conf.d下的pnp4nagios.conf中有)
my $web_user = "nagiosadmin"; #nagios使用者名稱
my $web_pass = "nagiospwd"; # $nagios密碼
#SMTP伺服器設定
my $o_smtphost = "smtp.163.com";#SMTP伺服器位址(可以用ip)
my $domain = "\@f163.com";
#指定logo圖片(不知道是幹啥用)
my $logofile = "/usr/local/nagios/share/images/logos/nagios.gif";
#指定發送郵件的使用者名稱密碼(預設是注釋的)
$mail{auth} = {user => "zhangsan", password => "123456", method => "LOGIN PLAIN", required =>1}
4.郵件測試
nagios/libexec/pnp4n_send_service_mail.pl -v -t -r [email protected] -f graph -u -l en
5.nagios命令配置
#vim command.cfg
修改郵件發送命令
define command{
command_name notify-service-by-email
command_line /usr/local/nagios/libexec/pnp4n_send_service_mail.pl \
-p "BAIDU Corporation" \
-c "$CONTACTEMAIL$" \
-f graph -u -l en
}
注:命令是在一行上的,這裡分成了多行.
接著修改nagios中定義的主機和服務的警示機制,實現nagios利用郵件自動警示
本文出自 “4699096” 部落格,請務必保留此出處http://4709096.blog.51cto.com/4699096/1703993
Nagios監控之圖表郵件實現