Ubuntu
監控多個 linux 主機上的重要日誌文件?
我有幾台伺服器在 AWS 上執行,並讓 Nagios/Icinga 監控所有關鍵服務。
我們正在嘗試找出監控系統上所有日誌的最佳方式——以便我們立即通過電子郵件
system, DB, PHP, Apache, etc
了解問題(例如,Apache 昨天達到門檻值)。max_clients
我們只在服務關閉後查看目前日誌,而不是之前,這很糟糕。我是 Linux 管理的新手,線上搜尋後確定了以下選項:
- 用於監控日誌的Nagios 腳本- 問題是它們中的大多數一次檢查一個日誌文件以查找一個特定的正則表達式。為每個日誌文件安裝一項服務是不可擴展的(我什至不知道我們必須監控的所有日誌文件!)
- 諸如 logrobot.com 之類的服務——不過我不確定它的效果如何。
感謝您對以最少配置監控多台伺服器上所有這些日誌的最佳方式的建議。
不知道您必須監控多少伺服器/日誌,但有很多解決方案
小環境
使用 rsyslog 和您喜歡的前端(例如 LogAnalyzer http://loganalyzer.adiscon.com/)
更大的環境
我們從(+300 系統)監控我們的伺服器日誌,使用 beaver 作為 logshipper,logstash 作為索引器,elasticsearch 作為後端。該解決方案可擴展到
$$ insert random number here $$主機;)
基本上,您不應該(至少不僅)讀取同一主機上的日誌,而是使用某種日誌伺服器來集中伺服器的所有日誌。
我使用此設置來確保日誌在輸入後不會被更改。
此外,只需使用 logcheck 並讓它為您檢查日誌。
基本上,它會檢查您認為可以接受且可以忽略的行,並且只會向您發送您沒有事先告訴 logcheck 忽略的行。
您可以輕鬆地將其安裝在每台伺服器上。
對於圖形版本,計算有多少嚴重的日誌條目等
logzilla 是一個不錯的選擇,不再免費了。