centos

Filebeat如何与Logstash协同工作在CentOS

小樊
46
2025-03-23 16:14:33
栏目: 智能运维

Filebeat和Logstash是Elastic Stack(以前称为ELK Stack)中的两个关键组件,它们通常一起使用以收集、处理和转发日志数据。以下是在CentOS上配置Filebeat与Logstash协同工作的步骤:

1. 安装Elastic Stack

首先,你需要安装Elasticsearch、Logstash和Kibana。你可以从Elastic官方网站下载适用于CentOS的安装包。

安装Elasticsearch

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch

安装Logstash

sudo apt-get install logstash

安装Kibana

sudo apt-get install kibana

2. 配置Filebeat

Filebeat用于收集日志文件并将其发送到Logstash或Elasticsearch。

安装Filebeat

sudo apt-get install filebeat

配置Filebeat

编辑Filebeat配置文件 /etc/filebeat/filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log

output.logstash:
  hosts: ["localhost:5044"]

这个配置告诉Filebeat收集 /var/log/*.log 目录下的所有日志文件,并将它们发送到运行在 localhost:5044 的Logstash实例。

3. 配置Logstash

Logstash用于处理从Filebeat接收到的日志数据。

编辑Logstash配置文件

创建一个新的Logstash配置文件 /etc/logstash/conf.d/filebeat.conf

input {
  beats {
    port => 5044
  }
}

filter {
  # 在这里添加你的过滤器配置
  # 例如,解析JSON日志:
  # json {
  #   source => "message"
  # }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "filebeat-%{+YYYY.MM.dd}"
  }
}

这个配置告诉Logstash从 localhost:5044 接收数据,并将处理后的数据发送到Elasticsearch。

4. 启动服务

启动并启用Elasticsearch、Logstash和Kibana服务:

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

sudo systemctl start logstash
sudo systemctl enable logstash

sudo systemctl start kibana
sudo systemctl enable kibana

5. 验证配置

确保所有服务都在运行:

sudo systemctl status elasticsearch
sudo systemctl status logstash
sudo systemctl status kibana

检查Filebeat是否正在发送数据到Logstash:

sudo filebeat modules enable system
sudo filebeat setup
sudo systemctl restart filebeat

查看Logstash日志以确保它正在接收数据:

sudo tail -f /var/log/logstash/logstash-plain.log

通过这些步骤,你应该能够在CentOS上成功配置Filebeat与Logstash协同工作。根据你的具体需求,你可能需要调整配置文件中的路径、端口和其他设置。

0
看了该问题的人还看了