Nagios監控全解-手機短信
自我監控實現:測試短信發送
正常情況下,沒有任何服務器能向手機發送短消息的,要到達這個目的,得花錢購買短信服務(也有些人運用飛信一類的方式來達到這個目的,個人覺得對于運營網站不是太靠譜)。要是在幾年前,自己申請短信通道還是有可能的,2005年以后似乎門檻提高了很多。當你付費成功后,短信服務商會給你提供入口及加密關鍵字;然后我們自己寫個腳本就可以發送短信。以下是我的服務器用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'' 短信服務商給的驗證關鍵字。
2、my $url="….." 短信服務商給的用戶名、密碼以及短信服務商的訪問接口(url)全包括在這里了。
我們把這個文件放在目錄 /usr/local/bin/ 下面,把它命名為 sms_send.pl ,用命令 chomod +x /usr/local/bin/sms.pl 給與它執行權限。這個腳本在各種各樣的unix、linux下都可以正常工作,nagios報警短信發送就是靠它了。如果讀者也打算拿這個腳本發送短信的話,只要改一下key值和url值就可以直接使用。
接下來就是驗證是否可以發送短信,執行命令行 /usr/local/bin/sms.pl 13300108888 "It is a test" ,回車后數秒鐘,你的手機應該能收到帶有內容"It is a test"的短信息。為了保證短信服務的可靠性,我做了一個策略:每天下午6點定時給我發一個通知短信;告訴我短信發送是正常的,也是該下班回家了。做法:執行 crontab -e 然后輸入行
- 00 18 * * * /usr/local/bin/sms.pl 13300108888 "It is Ok" 。
本文講述的是:Nagios監控的表現形式手機短信 第一節:web方式
【編輯推薦】