sudo apt update
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 update
sudo apt install filebeat -y
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.10.0-amd64.deb
sudo dpkg -i filebeat-8.10.0-amd64.deb
配置文件路径:安装后,默认配置文件位于/etc/filebeat/filebeat.yml;模块配置目录为/etc/filebeat/modules.d/(预定义模块如system、nginx的配置文件存放于此)。
sudo nano /etc/filebeat/filebeat.yml
syslog)和Apache日志(access.log/error.log):filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
- /var/log/apache2/*.log
output.elasticsearch:
hosts: ["localhost:9200"]
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}" # 动态生成日期索引
output.logstash:
hosts: ["localhost:5044"]
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
ignore_older: 72h # 忽略72小时前的文件
exclude_lines: ["ERROR", "WARN"] # 排除包含ERROR/WARN的行
processors:
- add_cloud_metadata: ~ # 自动添加云提供商、区域、实例ID等信息
Filebeat提供system(系统日志)、nginx(Nginx日志)、mysql(MySQL日志)等预定义模块,一键配置常用日志收集:
sudo filebeat modules enable system # 启用系统日志模块
sudo filebeat modules enable nginx # 启用Nginx日志模块(需提前安装Nginx)
启用模块后,会自动生成对应配置文件(位于/etc/filebeat/modules.d/),无需手动编写inputs部分。
sudo systemctl start filebeat
sudo systemctl enable filebeat
sudo systemctl status filebeat
若显示active (running),则表示服务启动成功。sudo journalctl -u filebeat -f # 实时查看日志
curl -X GET "localhost:9200/_cat/indices?v" # 查看所有索引
若索引前缀为filebeat-(如filebeat-8.10.0-2025.10.08),则表示日志已成功发送。/var/log/syslog需root权限,可通过sudo chown调整或以root用户运行)。output.elasticsearch中配置ssl.certificate_authorities、username/password等参数(参考Elastic官方文档)。