![](/img/trans.png)
[英]Best Way to Aggregate Log Files from Multiple Remote Windows Servers
[英]Best way of monitoring multiple log files
我需要知道什么是监控适合我需要的多个日志文件的最佳工具。
我需要的:
我收集了一些工具,它们是:
来自这些的日志来源:
如果您希望偶尔扫描单个主机上的多个日志文件,那么lnav应该可以正常工作。
- 一次发送和监控多个日志文件
lnav 直接处理主机上的日志文件,它不是消费文件的服务。 它还能够一次监控多个日志并将消息整理到一个视图中。 (注意:@xav 上面有一条评论说 lnav 不解析文件,这是不正确的,我不知道他们从哪里得到这种印象。)
- 支持实时查看
lnav 在大多数操作中以“实时”方式工作。 它总是轮询文件以获取新数据。 例如,如果有一个搜索活动,任何新数据都将在加载时进行搜索。
- 尽可能更好的图形用户界面
lnav 是一个基于文本的用户界面,但它仍然相当友好。 有在线帮助、制表符补全、语法高亮、命令预览等。
- 能够搜索或过滤日志
可以使用与 perl 兼容的正则表达式 (PCRE)、时间和/或日志级别来搜索和过滤日志。 加载新数据时会自动应用过滤器。 下一个版本 v0.9.1 将使用 SQL 表达式进行过滤。
您还可以使用 SQLite SQL 来分析日志消息。 例如,如果您想查找从 Apache web 访问日志中传输的最大字节的 URI,您可以执行:
SELECT cs_uri_stem, max(sc_bytes) AS max_bytes
FROM access_log
GROUP BY cs_uri_stem
ORDER BY max_bytes desc
- 尽可能以最小的努力进行设置
lnav 有 几种内置的日志格式,并且会自动检测给定日志文件的正确格式。 如果不支持格式, 您可以编写描述格式的 JSON 文件。 使用 lnav 几乎总是只需要运行:
$ lnav /path/to/logs/
我终于找到了适合我需要的那个。
如果有人想使用相同的解决方案,我会分享这个。
感谢sourav19 ,我听从了你的建议,尽管我花了 8-10 个小时来安装和配置所有东西,但这确实是我想要的。
我不得不购买一个 Digital Ocean droplet,花了我 20 美元才能获得 4 GB 的 RAM,但我认为它比购买其他过于昂贵的日志监控应用程序便宜得多。
在安装 docker 之前,我们必须启用虚拟私有云 (VPC),我们将为我们的 docker 容器使用提供的IP地址,以便它们可以相互通信。
我使用了一个 dockerized ELK,链接在这里
我们需要做的就是将 dockerized ELK 克隆到我们的服务器,然后在克隆的文件夹中创建 go,然后构建 Dockerfile
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 \
-v /var/log:/var/lib/elasticsearch --name elk sebp/elk
然后,打开kibana,在网站上, HTTP://your_site:5601
之后,将 Filebeat 安装到具有您要监视的日志文件的另一台服务器上,该 Filebeat 将按照此说明将日志发送到 Kibana,然后在此处进行配置。
如果一切正常,我们将在 Kibana 中看到日志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.