![监控多个 Linux 主机上的重要日志文件?](https://linux22.com/image/632649/%E7%9B%91%E6%8E%A7%E5%A4%9A%E4%B8%AA%20Linux%20%E4%B8%BB%E6%9C%BA%E4%B8%8A%E7%9A%84%E9%87%8D%E8%A6%81%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我在 AWS 上运行了一些服务器,并使用 Nagios/Icinga 对所有关键服务进行监控。
我们正在尝试找出监控system, DB, PHP, Apache, etc
系统上所有日志的最佳方法,以便我们通过电子邮件立即了解问题(例如,Apachemax_clients
昨天达到了阈值)。我们目前只在服务中断后查看日志,而不是在服务中断前查看日志,这很糟糕。
我是 Linux 管理新手,在网上搜索后我确定了以下选项:
- Nagios 脚本监控日志- 问题是它们大多数一次只检查一个日志文件中的一个特定正则表达式。为每个日志文件安装一个服务是不可扩展的(我甚至不知道我们必须监控的所有日志文件!)
- 诸如 logrobot.com 之类的服务- 但我不确定这有多有效。
感谢您就如何以最少的配置监控多台服务器上的所有这些日志的最佳方法提供建议。
答案1
不知道你需要监控多少服务器/日志,但有很多解决方案
小环境
使用 rsyslog 和你喜欢的前端(例如 LogAnalyzerhttp://loganalyzer.adiscon.com/)
大环境
我们从 (+300 系统) 监控我们的服务器日志,使用 beaver 作为日志发送器,使用 logstash 作为索引器,使用 elasticsearch 作为后端。此解决方案可扩展到 [在此处插入随机数] 台主机 ;)
答案2
基本上,您不应该(至少不应该仅仅)读取同一台主机上的日志,而是使用某种可以集中所有服务器日志的日志服务器。
我使用此设置来确保日志在输入后不会被更改。
此外,只需使用 logcheck 并让它为您检查日志。
基本上,它会检查您认为可以接受且可以忽略的行,并且仅向您发送那些您事先未告诉 logcheck 忽略的行。
您可以轻松地在每台服务器上安装它。
对于图形版本,计算有多少严重日志条目等
logzilla 是一个不错的选择,但不再免费了。
答案3
我花了几天时间搜索(“日志管理解决方案”),发现了我正在寻找的工具。以下 3 个工具是基于云的日志记录工具,易于设置和配置。它们将系统日志和自定义日志发送到其服务器,存储它们,让您搜索和设置正则表达式模式的电子邮件/webhook 警报。
- 纸质记录- 迄今为止最简单/最快的界面(如终端上的 tail -f)。价格也非常实惠。不过,您必须花一些时间对其进行配置以进行自定义日志记录(apache、mysql、您的应用程序)。他们的基于 Go 的日志发送器(截至今天为 Beta 版)非常节省内存,我可以通过 GIT 存储库部署它必须监控的日志文件。
- 日志条目- 也相当简单。通过他们的“le”守护进程设置自定义日志记录最为简单。它具有相当多的功能,这使得它与 papertrail 相比显得臃肿。他们的免费计划对于初创公司来说相当广泛。
- 洛格利- 提供其他两家公司提供的所有功能,但操作起来相当复杂。而且他们的免费计划不提供警报。
答案4
关于 logrobot.com,现在有一个免费版本,可以满足您的需要,您可以在此处下载:
http://www.logxray.com/logxray.zip
为了使用它来解决您的问题,您可以这样运行 logxray:
./logxray localhost:emailing /apps/logxray autonda /var/log/messages 60m'内核|错误|恐慌|失败''超时'1 2 -show error_check [电子邮件保护]
要监视特定目录内的多个日志或特定日志:
./logxray 本地主机 /apps/logxray autoblz /var/日志 60m ‘恐慌|错误’ ‘。” 1 1 directory_error_watch -ndfoundn
http://www.logXray.com(有关如何使用该工具的更多信息或文档)