使用Filebeat将日志发送到本地Elasticsearch
Filebeat是一款开源的轻量级日志数据收集器,它可以用于将日志数据从不同来源发送到Elasticsearch或其他后端存储系统。通过Filebeat,您可以实现将应用程序生成的日志发送到本地Elasticsearch集群。
要将日志发送到本地Elasticsearch,您需要按照以下步骤进行操作:
安装和配置Filebeat:根据您的操作系统,从Elastic官方网站下载并安装Filebeat。然后,您需要编辑Filebeat的配置文件,该文件通常位于/etc/filebeat/filebeat.yml。在配置文件中,您需要指定要收集的日志路径和日志类型,并将输出设置为Elasticsearch。
配置Elasticsearch连接:在Filebeat的配置文件中,您需要指定连接到本地Elasticsearch集群的详细信息。这包括指定Elasticsearch的主机和端口。如果您的Elasticsearch需要身份验证或使用SSL/TLS加密,请相应地配置Filebeat以进行连接。
配置日志路径:在Filebeat的配置文件中,您需要指定要收集的日志文件的路径。您可以使用通配符或正则表达式来匹配多个日志文件。确保您有适当的权限来读取这些日志文件。
启动Filebeat服务:完成配置后,启动Filebeat服务以开始收集和发送日志数据。您可以使用命令行或系统服务管理工具来启动和管理Filebeat服务。
检查数据到达:在Filebeat运行时,它将收集并发送日志数据到Elasticsearch。您可以使用Elasticsearch的REST API或Kibana来检查数据是否成功到达Elasticsearch,并执行搜索和分析操作。
请注意,上述步骤提供了一个概述,并且实际设置和配置可能因您的环境和要求而有所不同。建议参考Filebeat的官方文档以获取详细的配置和使用说明。
自从引入Beats以来,我们可以使用不同的代理来收集和传递数据给Elasticsearch。
Filebeat是一种轻量级代理,可以专门收集日志、指标、审计事件等数据,并将其发送到Elasticsearch或Logstash进行索引。
正如您已经了解的那样,Filebeat的使用方式类似于Logstash,但它具有一个重要的优势。事实上,Logstash需要JVM(Java虚拟机)来运行,这会导致显着的内存消耗,特别是在涉及多个管道和高级过滤时。由于Filebeat是用Go语言编写的,它可以原生地在给定的操作系统上运行,无论是容器还是虚拟机,而无需安装运行时平台。它的轻量级特性允许用户在不必扩展目标应用程序的情况下扩展日志收集和传输过程。
在这里,有两个主要的概念需要理解,即harvesters(收割机)和inputs(输入)。这些组件共同工作,用于跟踪文件并将事件数据发送到指定的输出。
一个harvester负责读取单个文件的内容。每个文件都由harvester逐行读取,然后将内容传输给输出。
输入也称为prospector(探查器),负责管理harvester并发现所有要读取的源。它是要在配置文件中首先设置的内容。
在开始之前,请确保Elasticsearch和Kibana正在您的计算机上运行。如果不是这样,请阅读如何使用Docker Compose在本地启动Elasticsearch和Kibana的文章。您还需要根据您的发行版从官方网站下载Filebeat。
一旦我们的环境准备好,我们将在filebeat.yml文件中配置我们的prospector。默认情况下,已经提到了一个输入配置。我们需要将其设置为true以启用它,这将检查所提到的文件夹,并为每个发现的文件创建一个harvester。
接下来,转到输出部分,检查指定的主机和连接到Elasticsearch的端口。顺便提一句,我们使用的是禁用了安全性的Elasticsearch。它应该是这样的:
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
如果您的部署启用了安全性,则需要提供其他信息。
output.elasticsearch:
hosts: ["localhost:9200"]
protocol: "https"
username: "elastic"
password: "your-password"
ssl:
enabled: true
ca_trusted_fingerprint: "your_fingerprint"
就像我们对Metricbeat所做的那样,我们可以使用以下命令测试是否一切都配置良好:
./filebeat test config
./filebeat test output
一切似乎都很完美,所以让我们通过运行以下命令来运行设置阶段:
./filebeat setup
在这里,Filebeat将连接到输出,并开始创建传送数据所需的所有资源和工件。该过程正在创建索引和索引模式,并加载一些仪表板(此操作可能需要一些时间)。转到Kibana,检查是否创建了资产。
现在,我们通过运行以下命令启动Filebeat:
./filebeat -e
注意:-e是可选的,输出到标准错误,而不是配置的日志输出。
您可以在日志中看到,已经为找到的每个文件生成了一个收集器。我们应该把一些日志发送给Elasticsearch。在Kibana的“发现”部分查看。
- 点赞
- 收藏
- 关注作者
评论(0)