<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以獲得最佳性能

    介紹

    因此,您終于可以正常運行Nagios Core了,并且您想知道如何對其進行一些調整。當您開始監視大量(> 1,000)主機和服務時,可能需要調整Nagios Core以提高性能。以下是優化Nagios Core的幾點注意事項。

    優化技巧

    1. 使用MRTG 繪制性能統計圖為了跟蹤您的Nagios Core安裝隨時間推移處理負載的情況以及您的配置更改如何影響它,您應該使用MRTG繪制幾個重要的統計圖。在調整Nagios Core安裝的性能時,這確實非常有用。有關如何執行此操作的信息,請參見此處

    2. 使用大型安裝調整 啟用use_large_installation_tweaks選項可能會為您提供更好的性能。在此處閱讀有關此選項的更多信息。

    3. 禁用環境宏 宏通常可作為環境變量用于檢查,通知,事件處理程序等命令。在大型Nagios Core安裝中,這可能會成為問題,因為它會消耗一些額外的內存,并且(更重要的是)會占用更多的CPU。如果您的腳本不需要將宏作為環境變量進行訪問(例如,在命令行上傳遞所有必需的宏),則不需要此功能。您可以使用enable_environment_macros選項阻止將宏作為環境變量使用。

    4. 檢查結果收割頻率check_result_reaper_frequency變量決定了Nagios的核心應該是如何頻繁地檢查主機和服務檢查結果需要被處理。它花費在處理這些結果上的最大時間由最大收割時間決定(請參見下文)。如果收割頻率太高(太少),則主機和服務檢查的延遲可能會很高。從Nagios Core 4開始,核心工作人員一收到主動檢查結果,便將其反饋到Nagios Core的主要流程中。結果,此變量對活動的檢查結果無效。它仍然適用于被動檢查結果。

    5. 最大收割時間max_check_result_reaper_time變量決定的時間Nagios的核心守護進程可以移動到其他的東西,然后再到處理主機和服務檢查結果的最大數量-就像執行新的主機和服務檢查。太高的值可能導致主機和服務檢查的較大延遲。太低的值可能具有相同的效果。如果您遇到高延遲,請調整此變量并查看其具有的帽子效果。同樣,您應該對統計信息進行制圖,以便做出此確定。從Nagios Core 4開始,核心工作人員會在收到主動檢查結果后立即將其返回到主要的Nagios Core流程。結果,此變量對活動的檢查結果無效。它仍然適用于被動檢查結果。

    6. 檢查服務等待時間以確定最大并發檢查的最佳值 Nagios Core可以將最大并發執行服務檢查的數量限制為您使用max_concurrent_checks選項指定的值。這很好,因為它使您可以控制Nagios Core將在監視主機上施加多少負載,但同時也會降低速度。如果大多數服務檢查(通過extinfo CGI)看到高延遲值(> 10或15秒)),您可能正在餓死Nagios Core所需的支票。那不是Nagios Core的錯-這是你的錯。在理想條件下,所有服務檢查的等待時間都為0,這意味著它們將在計劃執行的確切時間執行。但是,某些檢查具有較小的等待時間值是正常的。我建議在使用-s命令行參數運行Nagios Core并將其加倍時,采用報告的最大并發檢查的最小數量。不斷增加直到服務的平均檢查延遲很低為止。有關服務檢查計劃的更多信息,請參見此處

    7. 盡可能使用被動檢查 處理被動服務檢查結果所需的開銷比“正常”主動檢查要低得多,因此,如果您要監視大量服務,請使用該信息。應該注意的是,被動服務檢查僅在您有一些外部應用程序進行某種類型的監視或報告時才真正有用,因此,如果讓Nagios Core完成所有工作,這將無濟于事。

    8. 避免使用解釋性插件 可以大大減少監視主機負載的一件事是使用編譯(C / C ++等)插件,而不是解釋性腳本(Perl等)插件。盡管Perl腳本等易于編寫且運行良好,但如果您進行了大量服務檢查,則在每個執行實例中對它們進行編譯/解釋的事實會大大增加監視主機的負載。如果要使用Perl插件,請考慮使用perlcc(1)(屬于標準Perl發行版的實用程序)將它們編譯為真正的可執行文件。

    9. 優化主機檢查命令 如果使用check_ping插件檢查主機狀態,您會發現,如果將檢查分手,主機檢查將更快地執行。與其在主機定義中將max_attempts值指定為1并讓check_ping插件向主機發送10個ICMP數據包,不如max_attempts設置為更快值設置為10,每次僅發送1個ICMP數據包。這是由于Nagios Core在執行一次插件后通常可以確定主機的狀態,因此您希望盡快進行第一次檢查。在某些情況下,此方法確實存在陷阱(例如,響應速度較慢的主機可能被認為已關閉),但是如果使用該方法,則可以更快地進行主機檢查。另一種選擇是使用更快的插件(即check_fping)作為host_check_command而不是check_ping。

    10. 安排定期的主機檢查 安排主機的定期檢查實際上可以幫助Nagios Core提升性能。這是由于緩存的檢查邏輯的工作方式(請參閱下文)。在使用Nagios Core 3之前,定期進行主機檢查通常會導致性能下降。情況不再如此,因為主機檢查是并行運行的,就像服務檢查一樣。要安排對主機的定期檢查,請將主機定義中check_interval偽指令設置為大于0的值。

    11. 啟用緩存的主機檢查 從Nagios Core 3開始,按需主機檢查可以從緩存中受益。每當Nagios Core檢測到服務狀態更改時,便會執行按需主機檢查。執行這些按需檢查是因為Nagios Core想要知道與服務關聯的主機是否已更改狀態。通過啟用緩存的主機檢查,可以優化性能。在某些情況下,Nagios Core可能能夠使用主機的舊/緩存狀態,而不是實際執行主機檢查命令。這樣可以加快速度并減少監視服務器上的負載。為了使緩存的檢查有效,您需要安排對主機的定期檢查(請參見上文)。有關緩存檢查的更多信息,請參見此處

    12. 不要使用攻擊性主機檢查 除非您在Nagios Core識別主機恢復方面遇到問題,否則建議不要啟用use_aggressive_host_checking選項。關閉此選項,主機檢查將更快地執行,從而更快地處理服務檢查結果。但是,在某些情況下,關閉主機恢復可能會丟失。例如,如果主機恢復并且與該主機關聯的所有服務都處于非OK狀態(并且不在不同的非OK狀態之間“擺動”),Nagios Core可能會錯過該主機已恢復的事實。少數人可能需要啟用此選項,但大多數人不需要,除非您認為必要,否則我建議不要使用它。

    13. 優化硬件以獲得最佳性能 注意:除非:1)您正在監視成千上萬的服務,2)您要對性能數據進行大量的后處理等,否則硬件性能應該不是問題。系統配置和硬件設置將直接影響您的操作系統的性能,因此它們將影響Nagios Core的性能。您可以對硬盤進行最常見的硬件優化。CPU和內存速度顯然是影響性能的因素,但是磁盤訪問將成為您最大的瓶頸。不要將插件,狀態日志等存儲在慢速驅動器(即舊的IDE驅動器或NFS掛載)上。如果有,請使用SSD。您還可以將RAMdisk用于object.cache和status.dat以提高加載速度。對于IDE / Linux用戶的重要說明是,許多Linux安裝都不會嘗試優化磁盤訪問。如果您不更改磁盤訪問參數(使用類似hdparam),那么您將失去新IDE驅動器的許多快速功能。

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

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


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