2014-12-05 134 views
0

如果您在遠程服務器上指定了插件命令,則可以執行腳本。
在插件命令下面的例子是get_disk使用NRPE執行遠程腳本

command[get_disk]=csript.exe c:\nagios\checks\check_disks_percentage_spave_used.vbs 

我想然而像NRPE遠程服務器到客戶端的服務器上執行腳本,無需使用任何插件命令上。
在遠程服務器上是這樣的:

check_nrpe -H 196.35.132.9 -t 60 -c 'csript.exe c:\\nagios\\checks\\check_disks_percentage_space_used.vbs' 
+0

這個問題是關於基礎設施的管理,不是一個編程話題的背後運行。 – 2014-12-05 12:13:00

回答

3

您可以按照以下步驟來運行從Nagios的命令監視遠程機器

  1. 讓只是說你有2臺機器,
  2. 從你想要監視的地方(將其稱爲主人)
  3. 你想監視的人(將其稱爲奴隸)
  4. 假設你在Linux和上位機Nagios的地點工作是「在/ usr /本地/ nagios的」
  5. 你的奴隸機也是Linux和NRPE的安裝位置是「在/ usr /本地/ nagios的」
  6. 把你腳本/插件/可執行文件在從屬機器@ usr/local/nagios/libexec位置。

    例如 - /usr/local/nagios/libexec/test.sh
    並賦予它可執行權限。
    使用chmod + X test.sh

  7. 編輯nrpe.cfg並且存在添加的命令作爲


VI的/ usr /本地/的nagios /等/ nrpe.cfg
附加以下行
命令[testScript] =/USR /本地/的nagios /的libexec/test.sh
告訴NRPE運行test.sh當它ř testScript命令eceives


8.重啓NRPE
9.轉到主機
10.編輯commands.cfg

VI的/ usr /本地/ Nagios的/等/objects/commands.cfg
並添加以下行

定義命令{
COMMAND_NAME check_nrpe
COMMAND_LINE在/ usr /本地/ Nagios的/的libexec/check_nrpe -H $ HOSTADDRESS $ -c $ ARG1 $
}
加入這個,現在掌握機器知道什麼是check_nrpe命令。

  • 添加服務

    定義服務{
    使用通用服務
    HOST_NAME web的NODE01
    SERVICE_DESCRIPTION計數的數目cmd in remote mc
    check_command check_nrpe!testScript
    }
    現在的nagios知道,它在從機,
    和從機調用testScript命令我們當從THI收到testScript命令運行「test.sh」
    定義S'在/ usr /本地/ nagios的/ libexec'的位置(點號。 7)

  • 現在從Nagios的嘗試之前,你可以直接調用NRPE命令檢查的一切都是由下面的命令

    在/ usr /本地/ Nagios的/的libexec/check_nrpe工作正常-H slave_IP_Address -c testScript
    PS這是完全相同的命令,Nagios將現場

  • +0

    謝謝@GKV,我最終做了這樣的事情。必須在125臺遠程(從機)機器上進行更改 – fredtma 2015-01-08 09:19:12

    +0

    11.添加服務...但在哪裏?這似乎通常被忽略的描述。我會想/usr/local/nagois/etc/servers/yourServer.cfg,但添加「定義服務」塊會導致nagios服務在該文件中加載失敗,導致nagios無法重新啓動。 – 2016-04-12 23:51:31

    +0

    向上投票投入答案。它實際上幫助我理解了Nagios是如何工作的:) – 2017-10-20 09:10:54