自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

運維監(jiān)控連載:開源監(jiān)控利器nagios實戰(zhàn)全解

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

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

運維監(jiān)控Nagios連載1:Nagios服務(wù)器的自我監(jiān)控實現(xiàn)

運維監(jiān)控Nagios連載2:部署apache服務(wù)器

運維監(jiān)控Nagios連載3:部署、配置Nagios服務(wù)

運維監(jiān)控Nagios連載4:Nagios監(jiān)控mysql服務(wù)器

運維監(jiān)控Nagios連載5:關(guān)鍵應(yīng)用監(jiān)控的重要策略

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

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

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

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

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

場景描述

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

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

機器名稱
角色
可查看狀態(tài)及接受報警信息的用戶
所需工具
Nagios服務(wù)器
監(jiān)控端
系統(tǒng)管理員(SA)
Apache、nagios、nagios plugin、sendmail、perl等
郵件服務(wù)器
被監(jiān)控端
系統(tǒng)管理員、郵件管理員
Nrpe、nagios plugin、自定義腳本等
數(shù)據(jù)庫服務(wù)器
被監(jiān)控端
系統(tǒng)管理員、dba
Nrpe、nagios plugin、自定義腳本等
Web服務(wù)器
被監(jiān)控端
系統(tǒng)管理員、webmaster
Nrpe、nagios plugin、自定義腳本等
Nfs共享服務(wù)器
被監(jiān)控端
系統(tǒng)管理員
Nrpe、nagios plugin、自定義腳本等
緩存服務(wù)器(squid)
被監(jiān)控端
系統(tǒng)管理員、webmaster
Nrpe、nagios plugin、自定義腳本等

    

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

 

#p#

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

要實現(xiàn)資源和服務(wù)兩個方面的監(jiān)控,需要配置服務(wù)器端(nagios server)及被監(jiān)控端(NRPE-nagios remote plugin executor).為了能順利地、有條理的部署nagios監(jiān)控平臺,一個好的工作風(fēng)格是在nagios server自身實現(xiàn)服務(wù)和資源的監(jiān)控,然后再在其他監(jiān)控端部署nrpe,從nagios server端用check_nrpe測試通過后,再在nagios server配置文件中逐一增加監(jiān)控項目。當(dāng)然如果只是監(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 < install.log

#p#

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

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

【編輯推薦】

  1. 開發(fā)者發(fā)行版:SUSE Linux Enterprise 11 RC4
  2. Linux系統(tǒng)管理技術(shù)手冊(中文第二版)
  3. 嵌入式系統(tǒng)Linux內(nèi)核開發(fā)實戰(zhàn)指南
責(zé)任編輯:張燕妮 來源: IT168
相關(guān)推薦

2012-02-22 22:21:15

nagios開源

2009-03-11 18:49:36

LinuxNagios運維監(jiān)控

2011-03-21 14:43:42

2011-03-23 14:43:07

Nagios監(jiān)控

2011-03-23 14:47:25

Nagios監(jiān)控

2009-03-11 18:40:49

LinuxNagiosapache

2011-03-23 14:43:09

2011-03-25 13:54:00

Nagios

2011-03-28 16:23:23

nagios開源監(jiān)控

2011-03-28 16:37:38

2014-07-22 10:06:43

運維監(jiān)控虛擬化

2016-04-06 10:02:23

手機微博運維監(jiān)控

2017-06-05 10:28:09

APM應(yīng)用性能管理聽云

2013-02-22 09:49:29

Nagios監(jiān)控性能評測

2020-12-30 08:09:46

運維Prometheus 監(jiān)控

2024-01-29 12:48:00

Jenkins監(jiān)控運維

2020-12-29 10:45:22

運維Prometheus-監(jiān)控

2017-09-11 19:01:13

宜信AIOps

2010-07-09 12:09:34

IT運維Mocha BSM摩卡軟件

2011-03-24 10:08:39

Nagios監(jiān)控oracle
點贊
收藏

51CTO技術(shù)棧公眾號