【问题标题】:Shipping logs to my local windows ELK/Logstash file from remote centos7 using filebeats使用 filebeats 从远程 centos7 将日志发送到我的本地 Windows ELK/Logstash 文件
【发布时间】:2021-09-10 13:50:10
【问题描述】:
我已经在我的本地 Windows 机器上配置并运行了 ELK 这三个组件。
我在远程 centos7 机器上有一个可用的日志文件,我想在 Filebeat 的帮助下将其从那里发送到本地窗口。我怎样才能做到这一点?
我已经在 rpm 的帮助下在 centos 上安装了 filebeat。
在配置文件中我做了以下更改
评论了 output.elasticsearch
和未注释的 output.logstash(我应该在这里给我的 windows 机器的哪个 Ip?如何获得那个 ip)
与
**filebeat.inputs:
【问题讨论】:
标签:
elasticsearch
logstash
elastic-stack
filebeat
elk
【解决方案1】:
数据的流向是:
Agent => logstash > elasticsearch
代理可能是beat 家人,而您使用的是filebeat 没关系。
你必须配置所有这些东西。
在 filebeat 上你必须配置 filebeat.yml
在logstash上你必须配置logstash.conf
在elasticsearch上你必须配置elasticsearch.yml
我个人会从logstash.conf开始
input
{
beats
{
port =>5044
}
}
filter
{
#I assume you just want the log to run into elasticsearch
}
output
{
elasticsearch
{
hosts => "(YOUR_ELASTICSEARCH_IP):9200"
index=>"insertindexname"
}
stdout
{
codec => rubydebug
}
}
这是一个非常简单的工作配置。这意味着,Logstash 将在端口5044 中侦听来自filebeat 的输入。解析数据时需要Filter。 Output 是您要存储数据的位置。我们使用elasticsearch output plugin,因为您想将其存储到elasticsearch。 stdout 对调试配置文件非常有帮助。添加这个你不会后悔的。 这将打印发送到 elasticsearch 的所有消息
filebeat.yml
filebeat.inputs:
- type: log
paths:
- /directory/of/your/file/file.log
output.logstash:
hosts: ["YOUR_LOGSTASH_IP:5044"]
这是一个非常简单的工作filebeat.yml。 paths 是您希望 logstash 收集文件的位置。
完成文件配置后,启动elasticsearch,然后启动logstash,然后启动filebeat。
有什么困难请告诉我