1. 安装Filebeat
在Linux系统(如CentOS、Ubuntu)上,可通过包管理器或手动下载安装Filebeat。以CentOS为例,步骤如下:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch;创建仓库文件/etc/yum.repos.d/elasticsearch.repo,内容为[elasticsearch-7.x](版本号按需替换)、baseurl=https://artifacts.elastic.co/packages/7.x/yum、gpgcheck=1等;sudo yum install filebeat -y。wget下载GPG密钥并添加仓库,再用apt安装。2. 配置Filebeat核心参数
配置文件默认位于/etc/filebeat/filebeat.yml,需重点设置以下部分:
/var/log/*.log文件:filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
可选配置:exclude_lines(排除包含“DBG”的行)、exclude_files(排除.gz压缩文件)、fields(添加自定义字段,如app_id: "my_app")。dissect解析JSON格式日志(假设日志格式为2025-01-01 12:00:00 INFO This is a message):processors:
- dissect:
tokenizer: "%{timestamp} %{level} %{message}"
field: "message"
target_prefix: "" # 解析后的字段存入根层级
其他常用处理器:grok(匹配复杂模式)、remove_fields(删除敏感字段,如password)。output.elasticsearch:
hosts: ["localhost:9200"] # Elasticsearch地址
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}" # 动态生成日期索引
若需通过Logstash转发,可配置output.logstash(指定Logstash地址)。3. 启动与验证Filebeat
sudo systemctl start filebeat;sudo systemctl enable filebeat;sudo systemctl status filebeat(显示“active (running)”则表示正常);sudo tail -f /var/log/filebeat/filebeat(确认是否有错误信息)。4. 使用Kibana可视化分析
http://<kibana_host>:5601);filebeat-*(匹配Filebeat生成的索引),点击“Create index pattern”;level:ERROR)筛选、分析日志(如统计错误日志数量、查看时间趋势)。5. 优化与进阶配置
filebeat.modules:
- module: nginx
access:
enabled: true
var.paths: ["/var/log/nginx/access.log*"]
error:
enabled: true
var.paths: ["/var/log/nginx/error.log*"]
启用后,Filebeat会自动解析Nginx日志并生成对应的索引模式。filestream输入类型(替代旧版log类型,更高效);harvester_limit(限制并发采集器数量,默认为5);output.elasticsearch.bulk_max_size: 50,默认为20);output.elasticsearch.compression_level: 5,减少网络带宽占用)。