首先更新系统包列表,然后导入Elastic官方GPG密钥并添加APT仓库,最后安装Filebeat:
sudo apt update && sudo apt upgrade -y 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 注意:若需安装其他版本,可将
7.x替换为目标版本号(如8.x)。
Filebeat的主配置文件位于/etc/filebeat/filebeat.yml,需修改以下核心部分:
指定要收集的日志文件路径,支持通配符(如*.log)。例如,收集系统日志(syslog、auth.log)和Apache日志:
filebeat.inputs: - type: log enabled: true paths: - /var/log/syslog - /var/log/auth.log - /var/log/apache2/*.log ignore_older: 72h # 忽略超过72小时的旧日志(可选) 将日志发送到Elasticsearch(推荐)或Logstash:
output.elasticsearch: hosts: ["localhost:9200"] index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}" # 按日期分割索引 output.logstash: hosts: ["localhost:5044"] Filebeat提供system、nginx、mysql等预构建模块,自动配置输入、解析规则和Kibana仪表板。例如,启用system模块:
sudo filebeat modules enable system 模块配置文件位于/etc/filebeat/modules.d/system.yml,可根据需求调整。
sudo systemctl start filebeat sudo systemctl enable filebeat sudo systemctl status filebeat 若状态显示active (running),则说明服务已启动。
通过日志排查配置错误:
sudo journalctl -u filebeat -f 使用curl命令检查Elasticsearch中的索引:
curl -X GET "localhost:9200/_cat/indices?v" 若看到filebeat-*开头的索引,说明数据已成功发送。
若未安装Kibana,可通过以下命令安装:
sudo apt install kibana -y sudo systemctl start kibana sudo systemctl enable kibana 访问http://<服务器IP>:5601进入Kibana界面。
filebeat-*(匹配Filebeat创建的索引)。@timestamp),完成创建。filebeat-*索引模式。message、status、clientip),或使用KQL(Kibana Query Language)查询(如status: 500查找500错误)。若日志是多行的(如Java异常堆栈),需配置multiline选项。例如,合并以^[^\[]开头的行(非时间戳行):
filebeat.inputs: - type: log enabled: true paths: - /var/log/app/*.log multiline.pattern: '^[^\[]' multiline.negate: true multiline.match: after 若日志为JSON格式,可自动解析字段:
filebeat.inputs: - type: log enabled: true paths: - /var/log/app/json.log json.keys_under_root: true # 将JSON字段提升到根级别 json.add_error_key: true # 添加错误字段(解析失败时) 通过processors对日志数据进行预处理(如删除敏感字段、重命名字段):
processors: - drop_fields: fields: ["password", "credit_card"] - rename: fields: - from: "src_ip" to: "clientip" 将上述配置添加到filebeat.inputs对应的输入项中。
通过以上步骤,即可在Ubuntu系统上使用Filebeat完成日志收集、传输,并通过Kibana实现日志分析与可视化。