監控多個Linux主機上的重要日誌檔案?

監控多個Linux主機上的重要日誌檔案?

我有幾台伺服器在 AWS 上運行,並讓 Nagios/Icinga 監視所有關鍵服務。

我們正在嘗試找出監控系統上所有日誌的最佳方法,以便我們可以透過電子郵件立即system, DB, PHP, Apache, etc了解問題(例如 Apache 昨天達到了閾值)。max_clients目前我們只在服務宕機之後查看日誌,而不是之前查看日誌,這很糟糕。

我是 Linux 管理新手,在網路上搜尋後我發現了以下選項:

  1. Nagios 腳本監控日誌- 問題是大多數人一次檢查一個日誌檔案中的一個特定正規表示式。為每個日誌檔案安裝一項服務是不可擴展的(我什至不知道我們必須監視的所有日誌檔案!)
  2. 諸如 logrobot.com 之類的服務- 但我不確定這有多有效。

感謝您關於以最少的配置監視多個伺服器上的所有這些日誌的最佳方法的建議。

答案1

不知道您需要監控多少伺服器/日誌,但有許多解決方案

小環境

使用 rsyslog 和您喜歡的前端(例如 LogAnalyzerhttp://loganalyzer.adiscon.com/

更大的環境

我們使用 Beaver 作為 logshipper、logstash 作為索引器、elasticsearch 作為後端來監控(+300 個系統)的伺服器日誌。此解決方案可擴展到[在此處插入隨機數]主機;)

答案2

基本上,您不應該(至少不應該)讀取同一主機上的日誌,而是使用某種日誌伺服器來集中伺服器的所有日誌。

我使用此設定來確保日誌在輸入後不會被更改。

另外,只需使用 logcheck 並讓它為您檢查日誌。

基本上它是對您認為可接受且可以忽略的行進行檢查,並且僅向您發送您事先沒有告訴 logcheck 忽略的行。

您可以輕鬆地將其安裝在每台伺服器上。

對於圖形版本,計算有多少嚴重日誌條目等是

logzilla 是一個不錯的選擇,但認為不再免費了。

答案3

我花了幾天時間搜尋(“日誌管理解決方案”),我發現了我正在尋找的工具。以下 3 個工具是基於雲端的日誌記錄工具,易於設定和配置。他們將系統日誌和自訂日誌發送到他們的伺服器,儲存它們,讓您搜尋和設定正規表示式模式的電子郵件/網路鉤子警報。

  1. 紙跡- 迄今為止最簡單/最快的介面(如終端機上的 tail -f )。價格也非常實惠。不過,您必須花一些時間將其配置為自訂日誌記錄(apache、mysql、您的應用程式)。他們基於 Go 的日誌傳送程式(目前處於 Beta 版)記憶體效率非常高,我可以部署它必須透過 GIT 儲存庫監控的日誌檔案。
  2. 日誌條目- 也很簡單。透過「le」守護程式設定自訂日誌記錄是最簡單的。它有相當多的功能,這使得它與 papertrail 相比顯得臃腫。他們的免費計劃對於新創公司來說相當廣泛。
  3. 洛格利- 提供其他兩人所做的一切,但經歷這個過程相當複雜。他們的免費計劃不提供警報。

答案4

關於 logrobot.com,現在有一個免費版本,可以完全滿足您的需求,可以在此處下載:

http://www.logxray.com/logxray.zip

要使用它來解決您的問題,您可以透過以下方式運行 logxray:

./logxray localhost:emailing /apps/logxray autonda /var/log/messages 60m 'kernel|error|panic|fail' 'timed out' 1 2 -show error_check [電子郵件受保護]

若要監視多個日誌或特定目錄中的特定日誌:

./logxray 本機 /apps/logxray autoblz /var/日誌 60m '恐慌|錯誤' '.' 1 1 目錄錯誤監視-ndfoundn

http://www.logXray.com(有關如何使用該工具的更多資訊或文件)

相關內容