<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    被動檢查

    介紹

    在大多數情況下,您將使用Nagios Core通過定期安排的活動檢查來監視主機和服務。主動檢查可經常用于“輪詢”設備或服務以獲取狀態信息。Nagios Core還支持一種被動而非主動監視主機和服務的方法。被動檢查的主要功能如下:

    • 被動檢查由外部應用程序/進程啟動和執行
    • 被動檢查結果將提交給Nagios Core進行處理

    主動檢查和被動檢查之間的主要區別在于,主動檢查由Nagios Core發起和執行,而被動檢查則由外部應用程序執行。

    用于被動檢查

    被動檢查對于監視以下服務很有用:

    • 本質上是異步的,無法通過定期輪詢其狀態進行有效監控
    • 位于防火墻后面,無法從監視主機主動檢查

    可以被動監視的異步服務示例包括SNMP陷阱和安全警報。您永遠不會知道在給定的時間段內將收到多少個陷阱或警報,因此僅每隔幾分鐘監視一次它們的狀態是不可行的。

    在配置分布式冗余監視安裝時,還會使用被動檢查。

    被動檢查

    被動檢查的工作方式

    以下是被動檢查的工作原理。

    1. 外部應用程序檢查主機或服務的狀態。
    2. 外部應用程序將檢查結果寫入外部命令文件
    3. 下次Nagios Core讀取外部命令文件時,它將把所有被動檢查的結果放入隊列中,以供以后處理。 在Nagios Core 4之前,用于存儲主動檢查結果的隊列也用于存儲被動檢查的結果。
    4. Nagios Core將定期執行檢查結果收割者事件并掃描檢查結果隊列。隊列中找到的每個服務檢查結果都以相同的方式處理-不管檢查是主動還是被動。Nagios Core可能會根據檢查結果信息發出通知,日志警報等。

    主動和被動檢查結果的處理基本相同。這允許將來自外部應用程序的狀態信息與Nagios Core無縫集成。

    啟用被動檢查

    為了在Nagios Core中啟用被動檢查,您需要執行以下操作:

    如果要全局禁用被動檢查的處理,請將accept_passive_service_checks指令設置為0。

    如果只想對幾個主機或服務禁用被動檢查,請在主機和/或服務定義中使用passive_checks_enabled指令來執行此操作。

    提交被動服務檢查結果

    外部應用程序可以通過將PROCESS_SERVICE_CHECK_RESULT 外部命令寫入外部命令文件來將被動服務檢查結果提交給Nagios Core 。

    該命令的格式如下:

    [<時間戳>] PROCESS_SERVICE_CHECK_RESULT; <主機名>; <svc_description>; <返回代碼>; <plugin_output>

    哪里…

    • timestamp是執行(或提交)服務檢查的time_t格式的時間(自UNIX時代以來的秒數)。請注意右括號后的單個空格。

    • host_name是服務定義中與服務關聯的主機的簡稱

    • svc_description是服務定義中指定的服務描述

    • return_code是支票的返回碼(0 = OK,1 = WARNING,2 = CRITICAL,3 = UNKNOWN)

    • plugin_output是服務檢查的文本輸出(即插件輸出)

      注意:必須先在Nagios Core中定義服務,然后才能為其提交被動檢查結果!對于最后一次(重新)啟動之前尚未配置的服務,Nagios Core將忽略所有檢查結果。

      提示:有關易失性服務的文檔中提供了有關如何向Nagios提交被動服務檢查結果的shell腳本示例。

    提交被動主機檢查結果

    外部應用程序可以通過將PROCESS_HOST_CHECK_RESULT外部命令寫入外部命令文件來將被動主機檢查結果提交給Nagios Core。

    該命令的格式如下:

    [<時間戳>] PROCESS_HOST_CHECK_RESULT; <主機名>; <主機狀態>; <插件輸出>

    哪里…

    • timestamp是執行(或提交)主機檢查的time_t格式的時間(自UNIX時代以來的秒數)。請注意右括號后的單個空格。

    • host_name是主機的簡稱(在主機定義中定義)

    • host_status是主機的狀態(0 = UP,1 = DOWN,2 = UNREACHABLE)

    • plugin_output是主機檢查的文本輸出

      注意:必須先在Nagios Core中定義主機,然后才能為其提交被動檢查結果!Nagios Core將忽略上次(重新)啟動之前尚未配置的主機的所有檢查結果。

    被動檢查和東道國

    與主動主機檢查不同,Nagios Core不會(默認)通過被動檢查嘗試確定主機是DOWN還是UNREACHABLE。而是,Nagios Core將被動檢查結果作為主機所處的實際狀態,并且不會嘗試使用可達性邏輯來確定主機的實際狀態。如果您要從遠程主機提交被動檢查,或者您具有父/子主機關系不同的分布式監視設置,則可能會導致問題。

    您可以告訴Nagios Core通過使用translate_passive_host_checks變量將DOWN / UNREACHABLE被動檢查結果狀態轉換為它們的“適當”狀態。有關如何工作的更多信息,請參見此處

    注意:除非啟用了active_host_checks_are_soft選項,否則被動主機檢查通常被視為HARD狀態

    從遠程主機提交被動檢查結果

    NSCA插件

    如果與Nagios Core駐留在同一主機上的應用程序正在發送被動主機或服務檢查結果,則它可以簡單地將結果直接寫入外部命令文件,如上所述。但是,遠程主機上的應用程序無法做到這一點。

    為了允許遠程主機將被動檢查結果發送到監視主機,可以使用NSCANRDP插件。NSCA插件包括在Nagios Core主機上運行的守護程序和從遠程主機執行的客戶端。守護程序將偵聽來自遠程客戶端的連接,對提交的結果執行一些基本的驗證,然后將檢查結果直接寫入外部命令文件(如上所述)。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类