IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁系統(tǒng)集成網(wǎng)絡(luò)管理 → Nagios服務(wù)器的自我監(jiān)控實(shí)現(xiàn)

Nagios服務(wù)器的自我監(jiān)控實(shí)現(xiàn)

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  俗話說:工欲善其事,必先利其器.要做好系統(tǒng)管理,使自己的工作更輕松更有效的話,一個好的監(jiān)控工具是必不可少的了.在這里我向大家推薦一款我使用了4年多的、功能強(qiáng)大、可靈活定制的開源監(jiān)控利器——Nagios。

  首先,我們來看實(shí)際工作中需要監(jiān)控的對象有哪些?在這里我總結(jié)出2種類型的監(jiān)控對象:網(wǎng)絡(luò)服務(wù)監(jiān)控及主機(jī)資源監(jiān)控。網(wǎng)絡(luò)服務(wù)監(jiān)控可包括主機(jī)存活檢查、web服務(wù)監(jiān)控、ftp服務(wù)監(jiān)控、數(shù)據(jù)庫服務(wù)監(jiān)控、自定義服務(wù)監(jiān)控等;主機(jī)資源監(jiān)控可包括系統(tǒng)負(fù)載、當(dāng)前ip鏈接數(shù)、磁盤空間使用情況、當(dāng)前進(jìn)程數(shù)以及自定義的資源監(jiān)控等。

  其次,我們再來看nagios監(jiān)控的表現(xiàn)形式。監(jiān)控的主要目的是當(dāng)監(jiān)控的對象發(fā)生故障或資源緊張時及時通知相關(guān)人員,以便問題得到迅速的處理。追求的效果就是"在老板和客戶發(fā)現(xiàn)問題之前得到及時、有效的通知",假定故障通知來自老板,我想大家都不會很愉快的。Nagios為了方便我們的管理工作,提供了至少3種表現(xiàn)手段:

  1、web方式,即通過瀏覽器觀看被監(jiān)控的對象;如正常狀態(tài)下,其狀態(tài)(status)是以藍(lán)色填充并顯示一個OK。

  2、郵件通知,發(fā)生故障時,到達(dá)設(shè)定重試次數(shù)和探測間隔時間后發(fā)送郵件給管理員或相關(guān)人員,報告問題的大致情況。

  3、手機(jī)短信,這是非常有用和及時的功能了;晚上熟睡中,再也沒可能看web頁面或查閱郵件,可以一旦發(fā)生故障,手機(jī)短信卻能把你隨時喚醒。

  一般情況下,這3者是同時進(jìn)行的:上班時間開個瀏覽器看頁面顯示、打開郵件程序定時收取郵件、手機(jī)24小時在線。

  最后,我們以一個實(shí)際場景來展示nagios的強(qiáng)大功能,希望對大家的系統(tǒng)管理工作有所幫助。

  場景描述

  為了描述問題方便,我們假定有5個服務(wù)器要監(jiān)控(web服務(wù)器、數(shù)據(jù)庫服務(wù)器、郵件服務(wù)器、nfs文件共享服務(wù)器),需要對幾個服務(wù)器的服務(wù)進(jìn)行監(jiān)控,同時監(jiān)控每個服務(wù)器的資源使用情況,包括負(fù)載情況、磁盤分區(qū)使用情況、總進(jìn)程數(shù)、當(dāng)前ip連接數(shù)這個4個項(xiàng)目(當(dāng)然你也可以自己寫腳本監(jiān)控更多的資源對象)。這些服務(wù)器除了系統(tǒng)管理員而外,還有其他用戶(如程序員)對各自的服務(wù)器進(jìn)行維護(hù);當(dāng)發(fā)生故障的時候,維護(hù)網(wǎng)站的程序員能收到報警郵件和報警短信,而管理數(shù)據(jù)庫管理員則無需收到這些報警,同時維護(hù)程序的用戶可以以自己的帳號登陸監(jiān)控服務(wù)器,通過web方式察看自己所管服務(wù)器的狀態(tài)(只能看自己的而看不到別人管轄服務(wù)器的狀態(tài))。

  通過上面的描述,我們可以整理出下面的表格:

Nagios服務(wù)器的自我監(jiān)控

??? 配置好nagios和被監(jiān)控機(jī)器后,其在瀏覽器里的基本輸出與下圖類似:

Nagios服務(wù)器的自我監(jiān)控

  Nagios服務(wù)器的自我監(jiān)控實(shí)現(xiàn)

  要實(shí)現(xiàn)資源和服務(wù)兩個方面的監(jiān)控,需要配置服務(wù)器端(nagios server)及被監(jiān)控端(NRPE-nagios remote plugin executor).為了能順利地、有條理的部署nagios監(jiān)控平臺,一個好的工作風(fēng)格是在nagios server自身實(shí)現(xiàn)服務(wù)和資源的監(jiān)控,然后再在其他監(jiān)控端部署nrpe,從nagios server端用check_nrpe測試通過后,再在nagios server配置文件中逐一增加監(jiān)控項(xiàng)目。當(dāng)然如果只是監(jiān)控服務(wù)而不監(jiān)控主機(jī)資源,則被監(jiān)控端不做任何nrpe的安裝。為了方便初學(xué)者更容易上手和成功,我們就從簡單的步驟開始。

  自我監(jiān)控實(shí)現(xiàn):配置郵件發(fā)送功能

  因?yàn)閳缶]件發(fā)送給用戶郵箱后,監(jiān)控系統(tǒng)本身沒有必要接受別的郵件服務(wù)器發(fā)送的郵件,因此只需要使用服務(wù)器本身自帶的sendmail來發(fā)送報警信息即可。用sendmail的另外一個目的就是簡便。

  如果系統(tǒng)是redhat 或 centos ,只需執(zhí)行 service sendmail start 啟動守護(hù)進(jìn)程,然后再用dns服務(wù)器給它一個合法的域名(即A記錄),馬上就可以用mail命令來發(fā)送測試郵件到你的某個電子郵箱里了。收到測試郵件,就說明郵件系統(tǒng)配置結(jié)束,是不是很容易呢?這里給一個發(fā)送郵件的例子:

  ? mail? -s "This is sery's nagios test mail" [email protected] < install.log

  自我監(jiān)控實(shí)現(xiàn):測試短信發(fā)送

  正常情況下,沒有任何服務(wù)器能向手機(jī)發(fā)送短消息的,要到達(dá)這個目的,得花錢購買短信服務(wù)(也有些人運(yùn)用飛信一類的方式來達(dá)到這個目的,個人覺得對于運(yùn)營網(wǎng)站不是太靠譜)。要是在幾年前,自己申請短信通道還是有可能的,2005年以后似乎門檻提高了很多。當(dāng)你付費(fèi)成功后,短信服務(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ù)商給的驗(yàn)證關(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值就可以直接使用。

  接下來就是驗(yàn)證是否可以發(fā)送短信,執(zhí)行命令行 /usr/local/bin/sms.pl 13300108888? "It is a test" ,回車后數(shù)秒鐘,你的手機(jī)應(yīng)該能收到帶有內(nèi)容"It is a test"的短信息。為了保證短信服務(wù)的可靠性,我做了一個策略:每天下午6點(diǎn)定時給我發(fā)一個通知短信;告訴我短信發(fā)送是正常的,也是該下班回家了。做法:執(zhí)行 crontab -e 然后輸入行 00 18 * * * /usr/local/bin/sms.pl 13300108888? "It is Ok" 。

關(guān)鍵詞標(biāo)簽:Nagios服務(wù)器

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 路由器地址大全-各品牌路由設(shè)置地址 路由器地址大全-各品牌路由設(shè)置地址 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號、密碼 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號、密碼 Nslookup命令詳解-域名DNS診斷 Nslookup命令詳解-域名DNS診斷 站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件 站長裝備:十大網(wǎng)站管理員服務(wù)器工具軟件

相關(guān)下載

    人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號、密碼 路由器地址大全-各品牌路由設(shè)置地址 騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程 ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程 路由表說明(詳解route print) Nslookup命令詳解-域名DNS診斷 網(wǎng)管員實(shí)際工作的一天 網(wǎng)管必會!了解交換機(jī)控制端口流量