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進行日志分析。