<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獲得性能數據的兩個基本類別:

    1. 檢查性能數據

    2. 插件性能數據

    檢查性能數據是與主機或服務檢查的實際執行相關的內部數據。這可能包括諸如服務檢查延遲(即服務檢查從其計劃的執行時間到“延遲”的時間)以及主機或服務檢查執行的秒數。這種類型的性能數據可用于所有執行的檢查。在$ HOSTEXECUTIONTIME $$ SERVICEEXECUTIONTIME $ 可以用來確定一個主機或服務檢查正在運行的秒數和$ HOSTLATENCY $$ SERVICELATENCY $宏可以用于確定如何“遲到”定期調度主機或服務檢查了。

    插件性能數據是特定于用于執行主機或服務檢查的插件的外部數據。特定于插件的數據可以包括諸如數據包丟失百分比,可用磁盤空間,處理器負載,當前用戶數等之類的信息-基本上是插件執行時所測量的任何類型的度量。特定于插件的性能數據是可選的,并非所有插件都支持。可以使用$ HOSTPERFDATA $$ SERVICEPERFDATA $ 獲取特定于插件的性能數據(如果有)。繼續閱讀以獲取有關插件如何將性能數據返回到Nagios Core以便包含在$ HOSTPERFDATA $和$ SERVICEPERFDATA $宏中的更多信息。

    插件性能數據

    Nagios Core插件至少必須返回一行人類可讀的文本,以指示某種類型的可測量數據的狀態。例如,check_ping插件可能返回一行文本,如下所示:

    PING正常-數據包丟失= 0%,RTA = 0.80 ms

    使用這種簡單的輸出類型,整個文本行都可以在$ HOSTOUTPUT $或$ SERVICEOUTPUT $ 宏中使用(取決于此插件是用作主機檢查還是服務檢查)。

    插件可以通過以下方式返回可選的性能數據:發送通常會被人們正常閱讀的普通文本字符串,然后發送豎線字符(|),然后是包含一個或多個性能數據指標的字符串。讓我們以check_ping插件為例,并假設它已得到增強,可以返回丟包百分比和平均往返時間作為性能數據指標。插件的示例輸出可能如下所示:

    PING OK-封包丟失= 0%,RTA = 0.80 ms | percent_packet_loss = 0,rta = 0.80

    當Nagios Core看到此插件輸出格式時,它將把輸出分為兩部分:

    1. 豎線字符之前的所有內容均被視為“常規”插件輸出,并將存儲在$ HOSTOUTPUT $或$ SERVICEOUTPUT $宏中

    2. 豎線字符之后的所有內容均被視為特定于插件的性能數據,并將存儲在$ HOSTPERFDATA $或$ SERVICEPERFDATA $宏中

    在上面的示例中,$ HOSTOUTPUT $或$ SERVICEOUTPUT $宏將包含“ Ping ok- 數據包丟失= 0%,RTA = 0.80 ms ”(不帶引號),而$ HOSTPERFDATA $或$ SERVICEPERFDATA $宏將包含“ percent_packet_loss = 0,rta = 0.80 “(不帶引號)。

    插件API文檔中所述,可以從插件獲取多行性能數據(以及常規文本輸出)。

    注意:Nagios Core守護程序不會直接處理插件性能數據,因此它實際上并不關心性能數據的外觀。效果數據的格式或內容實際上并沒有任何固有的限制。但是,如果您使用外部插件來處理性能數據(即PerfParse),則插件可能期望插件以特定格式返回性能數據。有關更多信息,請查看插件隨附的文檔。

    處理性能數據

    如果要處理Nagios Core和插件提供的性能數據,則需要執行以下操作:

    1. 啟用process_performance_data選項。

    2. 配置Nagios Core,以便將性能數據寫入文件和/或通過執行命令進行處理。

    繼續閱讀有關如何通過寫入文件或執行命令來處理性能數據的信息。

    使用命令處理性能數據

    處理性能數據的最靈活方法是讓Nagios Core執行(指定的)命令來處理或重定向數據,以供外部應用程序稍后處理。Nagios Core執行以處理主機和服務性能數據的命令分別由host_perfdata_commandservice_perfdata_command選項確定。

    下面顯示了一個示例命令定義,該命令定義將服務檢查性能數據重定向到文本文件,以供另一個應用程序稍后處理:

    定義命令{
    command_name存儲服務性能數據
    command_line / bin / echo -e“ $ LASTSERVICECHECK $ \ t $ HOSTNAME $ \ t $ SERVICEDESC $ \ t $ SERVICESTATE $ \ t $ SERVICEATTEMPT $ \ t $ SERVICESTATETYPE $ \ t $ SERVICEEXECUTIONTIME $ \ t $ SERVICELATENCY $ \ t $ SERVICEOUTPUT $ \ t $ SERVICEPERFDATA $“ >> /usr/local/nagios/var/service-perfdata.dat
    }

    提示:此方法雖然靈活,但具有相對較高的CPU開銷。如果您要處理大量主機和服務的性能數據,則可能需要Nagios Core將性能數據寫入文件中。下一部分將介紹此方法。

    將性能數據寫入文件

    您可以讓Nagios Core使用host_perfdata_fileservice_perfdata_file選項將所有主機和服務性能數據直接寫入文本文件。主機和服務性能數據寫入這些文件的格式由host_perfdata_file_templateservice_perfdata_file_template選項確定。

    服務性能數據的文件格式模板示例可能如下所示:

    service_perfdata_file_template = [SERVICEPERFDATA] \ t $ TIMET $ \ t $ HOSTNAME $ \ t $ SERVICEDESC $ \ t $ SERVICEEXECUTIONTIME $ \ t $ SERVICELATENCY $ \ t $ SERVICEOUTPUT $ \ t $ SERVICEPERFDATA $

    默認情況下,文本文件將以“附加”模式打開。如果需要將模式更改為“寫入”或“非阻塞讀取/寫入”(在寫入管道時很有用),則可以使用host_perfdata_file_modeservice_perfdata_file_mode選項。

    另外,您可以讓Nagios Core定期執行命令,以使用host_perfdata_file_processing_commandservice_perfdata_file_processing_command選項來對性能數據文件進行外圍處理(例如,旋轉它們)。這些命令的執行間隔分別由host_perfdata_file_processing_intervalservice_perfdata_file_processing_interval選項控制。

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

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


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