<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jojo's blog--快樂憂傷都與你同在
    為夢(mèng)想而來,為自由而生。 性情若水,風(fēng)起水興,風(fēng)息水止,故時(shí)而激蕩,時(shí)又清平……
    posts - 11,  comments - 30,  trackbacks - 0

    Nagios的插件是真正工作在檢測(cè)服務(wù)和主機(jī)工作的第一線的真正英雄,沒有他,nagios系統(tǒng)只是一個(gè)空殼而已.因此,在安裝了nagios平臺(tái)之后的第一件事情就是將插件安裝上去。

    nagios主頁下載了最新的nagios官方插件,本文中用到的是nagios-plugins-1.4.9.tar.gz

    解壓

    tar xzf nagios-plugins-1.4.9.tar.gz

    編譯

    ./configure --prefix=prefix

    #變量prefix 為安裝目錄,例如/usr/local/nagios

    安裝

    make

    make install

    檢查

    ls /usr/local/nagios/libexec

    如果安裝成功的話,你可以看到在這個(gè)目錄下有很多可執(zhí)行程序或者腳本,名稱類似:check_icmp。

    經(jīng)過上述4個(gè)步驟,nagios的腳本就宣告安裝成功,但是如何讓這些腳本工作起來呢?nagios并沒有提供每個(gè)監(jiān)控程序的腳本的說明文檔,想了解這些腳本如何工作的話,需要通過--h參數(shù),顯示其使用方法和參數(shù)。例如:

    ./check_icmp --h

    Usage: check_icmp [options] [-H] host1 host2 hostn

    Options:

    -h, --help Print detailed help screen

    -V, --version Print version information

    -H specify a target -w warning threshold (currently 200.000ms,0%)

    -c critical threshold (currently 500000.000ms,80%)

    -n number of packets to send (currently 5)

    -i max packet interval (currently 80.000ms)

    -I max target interval (currently 0.000ms)

    -m number of alive hosts required for success

    -l TTL on outgoing packets (currently 0)

    -t timeout value (seconds, currently 10)

    -b icmp packet size (currenly ignored)

    -v verbose

    ...


    根據(jù)提示的方法,可以在命令行中嘗試使用一下:

    ./check_icmp -H www.baidu.com

    OK - www.baidu.com: rta 33.632ms, lost 0%|rta=33.632ms;200.000;500.000;0; pl=0%;40;80;;


    可以看到狀態(tài)值“OK”,以及一些詳細(xì)的數(shù)據(jù)信息。

    經(jīng)過了上述實(shí)驗(yàn),說明這些插件都是可以獨(dú)立使用的,那在nagios之中,是如何調(diào)用這些插件的呢?如果要加入?yún)?shù)又需要用哪種格式呢?

    首 先,要了解這些插件會(huì)被nagios用在什么地方。nagios有很多個(gè)cfg文件,用來定義各式各樣的信息,其中hosts.cfg和 services.cfg(一般是這兩個(gè),也可能是其他定義主機(jī)和服務(wù)的配置文件)是用來定義主機(jī)和服務(wù)的信息的。這些插件就被使用在這里。例如,我在 services.cfg中定義個(gè)一需要監(jiān)控的SSH服務(wù),名稱為TestSSH:

    define service {

    host_name TestSSH

    service_description check_ssh

     ……

    check_command check_ssh

    }

    host_name 項(xiàng)說明該服務(wù)所在的主機(jī)名,service_description項(xiàng)為服務(wù)的說明信息,這項(xiàng)的內(nèi)容會(huì)顯示在nagios頁面中,所以要盡量簡(jiǎn)短明確。 check_command項(xiàng)說明要使用的命令,這個(gè)例子中的命令check_ssh就是在一個(gè)插件了。這個(gè)服務(wù)定義,明確了nagios在需要監(jiān)控的內(nèi) 容和監(jiān)控的手段,及用check_ssh插件來監(jiān)控主機(jī)TestSSH上的ssh服務(wù)。

    除了直接使用插件來做check_command項(xiàng)的參數(shù)以外,還可以使用自己定義的命令來。例如,我定義一個(gè)需要監(jiān)控的主機(jī),名字是test.VN:

    define host {

    host_name test.VN

    alias test.VN

    address 192.168.0.1
    ……

    check_command check-host-alive

     ……

    }


    在此例中,check_command項(xiàng)的參數(shù)“check-host-alive”并非一個(gè)插件,而是在commands.cfg文件中定義的一個(gè)命令。其實(shí)他的本質(zhì)也是插件,只不過,他把插件加工包裝了。我們來看一下在commands.cfg中對(duì)這個(gè)命令的定義:

    # 'check-host-alive' command definition

    define command{

    command_name check-host-alive

    command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1

    }


    在這個(gè)定義中,可以看到,命令名稱就定義為“check-host-alive”,命令實(shí)際的操作定義為藍(lán)色部分。我們對(duì)應(yīng)check_ping的說明來分析一下這個(gè)操作的意圖。

    check_ping 用法:

    check_ping -H <host_address> -w <wrta>,<wpl>% -c <crta>,<cpl>%
     [-p packets] [-t timeout] [-4|-6]


    首先,$USER1$這個(gè)參數(shù)在resource.cfg中定義,這個(gè)值會(huì)指向插件的目錄(如:/usr/local/nagios/libexec)。“-H $HOSTADDRESS$” 是定義目標(biāo)主機(jī)的地址,這個(gè)地址在hosts.cfg中定義了(如:www.baidu.com 或者 192.168.0.1)。“-w 3000.0,80%” 其中-w說明后面的一對(duì)值對(duì)應(yīng)的是“WARNING”狀態(tài),“80%”是其臨界值。“-c 5000.0,100%” 其中“-c”說明后面的一對(duì)值對(duì)應(yīng)的是" CRITICAL",“100%”是其臨界值。“-p 1”說明每次探測(cè)發(fā)送一個(gè)包。

    有很多朋友問我這樣的問題,如何監(jiān)聽非默認(rèn)端口的服務(wù)。下面我就舉例說明一下這個(gè)問題:
    例如:現(xiàn)需檢查的一個(gè)運(yùn)行在8080端口上的http服務(wù)。那么我們可以對(duì)commands.cfg文件中對(duì)關(guān)于check_http的聲明做如下修改(紅色部分為添加的內(nèi)容)。

    # 'check_http' command definition

    define command{

    command_name check_http

    command_line $USER1$/check_http -H $HOSTADDRESS$ -p $ARG1$

    }


    其中$ARG1$是指在調(diào)用這個(gè)命令的時(shí)候,命令后面的第一個(gè)參數(shù)。

    再把services.cfg中,對(duì)應(yīng)服務(wù)的檢測(cè)命令后面加一個(gè)參數(shù):

    define service {

    host_name ...

    ...

    check_command check_http!8080

    }


    這樣就可以對(duì)8080端口的http服務(wù)進(jìn)行監(jiān)控了。如果你要添加多個(gè)參數(shù)的時(shí)候,也可以類似操作。

    綜上,插件的安裝和調(diào)用方法也就舉例介紹完畢了,大家在使用中也可以使用自己寫的檢測(cè)腳本來完成比較特殊的檢測(cè)功能。
    posted on 2009-05-13 13:45 Blog of JoJo 閱讀(69) 評(píng)論(0)  編輯  收藏 所屬分類: 每日一記

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章分類

    文章檔案

    新聞分類

    新聞檔案

    相冊(cè)

    收藏夾

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产午夜精品理论片| 亚洲人成网7777777国产| 亚洲国产午夜福利在线播放| 亚洲国产av无码精品| 亚洲国产精品VA在线看黑人 | 成人免费无码精品国产电影| 亚洲第一黄片大全| 久久久久久亚洲精品中文字幕| 亚洲精品高清国产麻豆专区| 亚洲欧美中文日韩视频| 国产精品久久久久久亚洲小说| 三年片免费高清版| 91嫩草免费国产永久入口| 午夜小视频免费观看| 亚洲无码黄色网址| 在线观看亚洲人成网站| 亚洲JLZZJLZZ少妇| 在线观看免费无码视频| 国产99视频精品免费观看7| 亚洲 自拍 另类小说综合图区| 亚洲成在人线av| 亚洲私人无码综合久久网| 国产免费牲交视频免费播放| 在线免费中文字幕| 国产免费131美女视频| 亚洲色图在线播放| 亚洲AV无码成人网站在线观看| 最近更新免费中文字幕大全| 野花高清在线观看免费3中文| 亚洲国产精品不卡毛片a在线| 亚洲精品视频在线免费| 特级毛片全部免费播放| 中文字幕成人免费视频| 亚洲男人第一无码aⅴ网站| 亚洲女人初试黑人巨高清| 一级特级aaaa毛片免费观看 | 成人黄18免费视频| 亚洲AV无码一区二区二三区软件| 亚洲无mate20pro麻豆| a毛片免费在线观看| 国产美女做a免费视频软件|