Nagios服務(wù)器的自我監(jiān)控實現(xiàn)
Nagios服務(wù)器的自我監(jiān)控實現(xiàn)有倆種方法,實現(xiàn)都能簡單!
圖-Nagios
Nagios服務(wù)器的自我監(jiān)控實現(xiàn)
要實現(xiàn)資源和服務(wù)兩個方面的監(jiān)控,需要配置服務(wù)器端(nagios server)及被監(jiān)控端(NRPE-nagios remote plugin
executor).為了能順利地、有條理的部署nagios監(jiān)控平臺,一個好的工作風格是在nagios
server自身實現(xiàn)服務(wù)和資源的監(jiān)控,然后再在其他監(jiān)控端部署nrpe,從nagios
server端用check_nrpe測試通過后,再在nagios
server配置文件中逐一增加監(jiān)控項目。當然如果只是監(jiān)控服務(wù)而不監(jiān)控主機資源,則被監(jiān)控端不做任何nrpe的安裝。為了方便初學(xué)者更容易上手和成功,
我們就從簡單的步驟開始。
自我監(jiān)控實現(xiàn):配置郵件發(fā)送功能 因為報警郵件發(fā)送給用戶郵箱后,監(jiān)控系統(tǒng)本身沒有必要接受別的郵件服務(wù)器發(fā)送的郵件,因此只需要使用服務(wù)器本身自帶的sendmail來發(fā)送報警信息即可。用sendmail的另外一個目的就是簡便。
如果系統(tǒng)是redhat 或 centos ,只需執(zhí)行 service sendmail start
啟動守護進程,然后再用dns服務(wù)器給它一個合法的域名(即A記錄),馬上就可以用mail命令來發(fā)送測試郵件到你的某個電子郵箱里了。收到測試郵件,就
說明郵件系統(tǒng)配置結(jié)束,是不是很容易呢?這里給一個發(fā)送郵件的例子:
mail -s "This is sery's nagios test mail" sery@163.com
#p#
自我監(jiān)控實現(xiàn):測試短信發(fā)送
正常情況下,沒有任何服務(wù)器能向手機發(fā)送短消息的,要到達這個目的,得花錢購買短信服務(wù)(也有些人運用飛信一類的方式來達到這個目的,個人覺得對于運營
網(wǎng)站不是太靠譜)。要是在幾年前,自己申請短信通道還是有可能的,2005年以后似乎門檻提高了很多。當你付費成功后,短信服務(wù)商會給你提供入口及加密關(guān)
鍵字;然后我們自己寫個腳本就可以發(fā)送短信。以下是我的服務(wù)器用perl寫的腳本:
- #!/usr/bin/perl -w
- use strict;
- use LWP::Simple;
- use URI::Escape;
- use Digest::MD5;
- my ($mobile, $content) = @ARGV;
- my $log_control = 1;
- my $key = 'Ysdbyhd6T';
- my $souce_content = substr($mobile, 0, 8) . substr($mobile, -10, 10) . $key;
- my $md5 = Digest::MD5->new;
- $md5->add($souce_content);
- my $result_conent = uc($md5->hexdigest);
- my
- $url =
- "http://http.asp.sh.cn/MT.do?Username=sery&Password=([-BVG'0&Mobile=$mobile&Content=$content&Keyword=$result_conent";
- my $result = get $url;
- if($log_control) {
- my $fh;
- open($fh, '>> /var/log/sms.log') or die "can't open log: $!";
- print $fh join(' ', time, $result, "n");
- close $fh;
- }
(以上腳本有宇捷提供) 說明: 1、my $key = 'Ysdbyhd6T'' 短信服務(wù)商給的驗證關(guān)鍵字。 2、my $url="….." 短信服務(wù)商給的用戶名、密碼以及短信服務(wù)商的訪問接口(url)全包括在這里了。
我們把這個文件放在目錄 /usr/local/bin/ 下面,把它命名為 sms_send.pl ,用命令 chomod +x
/usr/local/bin/sms.pl
給與它執(zhí)行權(quán)限。這個腳本在各種各樣的unix、linux下都可以正常工作,nagios報警短信發(fā)送就是靠它了。如果讀者也打算拿這個腳本發(fā)送短信的
話,只要改一下key值和url值就可以直接使用。
接下來就是驗證是否可以發(fā)送短信,執(zhí)行命令行
/usr/local/bin/sms.pl 13300108888 "It is a test"
,回車后數(shù)秒鐘,你的手機應(yīng)該能收到帶有內(nèi)容"It is a
test"的短信息。為了保證短信服務(wù)的可靠性,我做了一個策略:每天下午6點定時給我發(fā)一個通知短信;告訴我短信發(fā)送是正常的,也是該下班回家了。做
法:執(zhí)行 crontab -e 然后輸入行 00 18 * * * /usr/local/bin/sms.pl 13300108888
"It is Ok" 。
通過閱讀文章,我們明白了Nagios服務(wù)器的自我監(jiān)控實現(xiàn)的兩種途徑:郵箱和手機短信
【編輯推薦】
- 限制Nagios報警次數(shù)用escalations
- Nagios監(jiān)控服務(wù)器的配置
- Nagios監(jiān)控Windows客戶端
- Ubuntu下安裝運行Nagios
- 運維監(jiān)控Nagios:啟動服務(wù)
- Nagios遠程監(jiān)控軟件的裝置與設(shè)置裝備
- nagios報警通過飛信