在 ELK 堆栈中调试 Filebeat
Posted
技术标签:
【中文标题】在 ELK 堆栈中调试 Filebeat【英文标题】:Debugging Filebeat in the ELK stack 【发布时间】:2018-04-14 20:22:56 【问题描述】:我的 ELK 系统出现了一些问题。客户端工作如下:
Filebeat -> Logstash --> Elastic --> Kibana
我们的部分日志不会从特定机器到达 Elastic。 我怀疑问题出在 Filebeat 中的日志收集中。
我试图在 Elastic 和 GitHub 网站上查找有关调试系统的信息,但我只找到了theselinks,上面写着:
默认情况下,Filebeat 将其所有输出发送到 syslog。当你跑 Filebeat 在前台,可以使用 -e 命令行标志来 而是将输出重定向到标准错误。例如:
filebeat -e 默认配置文件是filebeat.yml( 文件的位置因平台而异)。你可以使用不同的 通过指定 -c 标志来配置文件。例如:
filebeat -e -c myfilebeatconfig.yml
您可以增加 通过启用一个或多个调试选择器来调试消息。例如, 要查看已发布的事务,您可以使用以下命令启动 Filebeat 像这样发布选择器:
filebeat -e -d "发布"
如果你想要所有的调试输出(公平 警告,很多),你可以使用 *,像这样:
filebeat -e -d "*"
filebeat -e
没有显示我需要什么,其他选项提供了太多信息。有没有其他方法可以用这种特定的架构来调试我们的 ELK?或者还有其他命令行选项吗?
仅供参考:我已经尝试在我的机器上设置 FileBeat 服务,它在相同的 filebeat.yml
配置下表现出色。
【问题讨论】:
【参考方案1】:# The # character at the beginning of a line indicates a comment. Use
# comments to describe your configuration.
input
# The filter part of this file is commented out to indicate that it is
# optional.
# filter
#
#
output
您的logstash 配置中有这样的配置吗?如果是这样,任何输入问题(在您的情况下为 filebeat)都会出现在 logstash 日志中。我在我的 filebeat 日志上使用了 grok 过滤器,所以日志还告诉我它是否无法解析日志行。
【讨论】:
我解决了这个问题。稍后我会为它添加一个解决方案(我忘记了这篇文章,正如你所看到的那样并没有引起太多关注)但简而言之,一个 FileBeat 进程的收集无法处理我们文件夹中的流量 @Green 你能分享一下解决方案吗?我有兴趣显示原始日志 嘿@Gadelkareem 你可以检查这个线程,我在那里添加了我的解决方案。 ***.com/a/47459207/8868108以上是关于在 ELK 堆栈中调试 Filebeat的主要内容,如果未能解决你的问题,请参考以下文章