Filebeat是一款轻量级、占用服务资源非常少的数据收集引擎,适用于在CentOS上进行日志收集。Filebeat可以收集指定日志文件或位置的日志事件,并将它们转发到Elasticsearch或Logstash进行索引。
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.3-linux-x86_64.tar.gz
tar -xvf filebeat-8.11.3-linux-x86_64.tar.gz
filebeat.yml
,可以通过修改该文件来指定日志收集的路径和输出目标。例如:filebeat.inputs:
- type: log
paths:
- /var/log/*.log
output.logstash:
hosts: ["localhost:5044"]
nohup ./filebeat -e -c filebeat.yml > filebeat.log &
架构简介: ELK架构包括Elasticsearch、Logstash和Kibana。Filebeat常与Logstash配合使用,Filebeat收集日志后,通过Logstash进行进一步处理和分析,最终由Kibana进行可视化展示。
常见部署架构:
系统环境准备:
mkdir -p /var/log/elasticsearch
chmod -R 777 /var/log/elasticsearch
echo "vm.max_map_count=655360" >> /etc/sysctl.conf
sysctl -p
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
hostnamectl set-hostname docker
构建和启动ELK镜像:
# 构建Elasticsearch镜像
docker build -t elasticsearch .
# 构建Kibana镜像
docker build -t kibana .
# 构建Logstash镜像
docker build -t logstash .
# 构建Filebeat镜像
docker build -t filebeat .
启动ELK环境:
docker run -d --name elasticsearch -p 9200:9200 elasticsearch
docker run -d --name kibana -p 5601:5601 kibana
docker run -d --name logstash -p 5044:5044 logstash
docker run -d --name filebeat -p 5044:5044 filebeat
通过上述步骤,可以在CentOS上成功部署和应用Filebeat进行日志分析。