CentOS Filebeat 是一个轻量级的日志收集器,用于将日志文件或日志流发送到 Elasticsearch 或 Logstash。要实现实时日志传输,你需要按照以下步骤操作:
安装 Filebeat: 在 CentOS 上,你可以使用 YUM 包管理器安装 Filebeat。首先,运行以下命令以添加 Elastic 的官方 GPG 密钥:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
然后,创建一个新的 YUM 仓库文件:
sudo vi /etc/yum.repos.d/filebeat.repo
将以下内容粘贴到文件中,并根据你的 Elasticsearch 版本替换 <ELK_VERSION>:
[filebeat]
name=Elastic Filebeat repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
最后,运行以下命令安装 Filebeat:
sudo yum install filebeat
配置 Filebeat:
编辑 Filebeat 的主配置文件 /etc/filebeat/filebeat.yml,并根据你的需求进行相应的配置。例如,你可以指定要收集的日志文件或目录,以及输出目标(Elasticsearch 或 Logstash)。
以下是一个简单的示例配置,用于收集 /var/log/*.log 目录下的所有日志文件,并将它们发送到本地的 Elasticsearch 实例:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["localhost:9200"]
如果你希望将日志发送到 Logstash,可以将 output.elasticsearch 部分替换为以下内容:
output.logstash:
hosts: ["localhost:5044"]
启动并启用 Filebeat 服务: 运行以下命令启动 Filebeat 服务:
sudo systemctl start filebeat
要使 Filebeat 在系统启动时自动运行,请执行以下命令:
sudo systemctl enable filebeat
验证实时日志传输: 确保你的 Elasticsearch 或 Logstash 服务正在运行,并且可以从 Filebeat 访问。然后,检查日志文件或目录以查看 Filebeat 是否正在发送日志事件。在 Elasticsearch 中,你可以使用以下命令搜索所有文档:
curl -X GET "localhost:9200/_search?pretty"
在 Logstash 中,你可以查看控制台输出以检查接收到的日志事件。
通过以上步骤,你应该已经成功实现了 CentOS Filebeat 的实时日志传输功能。根据你的实际需求,你可能需要调整配置文件以满足特定的场景和需求。