第一步:配置 Filebeat(监听日志文件,发送到 Logstash)
1. 生成并编辑 filebeat.yml
进入 Filebeat 安装目录(如
C:\filebeat-9.2.1-windows-x86_64),按之前的方法从 filebeat.example.yml 复制生成 filebeat.yml,然后修改为以下内容:yaml
# 1. 日志输入配置(监听微服务日志文件)
filebeat.inputs:
- type: filestream # 9.x 推荐的文件监听类型enabled: true # 启用该输入paths:- D:\springcloud\logs\*.log # 你的微服务日志路径(确保文件存在)# 若有 Elasticsearch 自身日志,可添加:# - C:\ElasticSearch\elasticsearch-9.2.1\logs\*.logtags: ["springcloud"] # 标记日志来源preset: balanced # 自动处理日志格式(结构化)# 2. 输出到 Logstash(不直接输出到 Elasticsearch)
output.logstash:hosts: ["localhost:5044"] # Logstash 监听的端口(必须与 Logstash 配置一致)# 3. 可选:连接 Kibana(用于创建索引模式等,非必需但推荐)
setup.kibana:hosts: ["localhost:5601"]username: "elastic"password: "你的elastic密码" # 之前重置的密码ssl:enabled: trueca_trusted_fingerprint: "你的CA指纹" # 与 Elasticsearch 相同
2. 验证 Filebeat 配置
打开 CMD,进入 Filebeat 目录,执行:
cmd
filebeat.exe test config -c filebeat.yml
输出
Config OK 则配置正确,否则根据提示修改(常见错误:路径错误、缩进问题)。启动Filebeat:
2. 启动 Filebeat(发送日志到 Logstash)
打开新的 CMD,进入 Filebeat 目录,执行(调试模式,实时查看日志):
cmd
cd C:\filebeat-9.2.1-windows-x86_64
filebeat.exe -e -c filebeat.yml
- 启动成功标志:控制台显示
Connected to Logstash或Published events,表示日志已发送到 Logstash。
第四步:验证全流程是否通断
1. 查看 Logstash 控制台
如果 Logstash 配置了
stdout { codec => rubydebug },控制台会输出处理后的日志(包含 processed_by: "logstash" 字段),说明 Logstash 已成功接收并处理 Filebeat 的日志。2. 检查 Elasticsearch 索引
访问
http://localhost:9200/_cat/indices?v,若存在 springcloud-logs-2025.11.13(当前日期)索引,说明 Logstash 已将日志发送到 Elasticsearch。3. 在 Kibana 中查看日志
- 进入 Kibana → Stack Management → Data Views,创建索引模式
springcloud-logs-*,选择时间字段@timestamp。 - 进入 Discover,选择该索引模式,即可看到经过 Filebeat 收集、Logstash 处理的日志,可按
tagsservice等字段筛选。
第五步:验证流程
-
检查 Elasticsearch 索引:访问
http://localhost:9200/_cat/indices?v,应有springcloud-logs-日期索引(无认证,直接访问)。 -
在 Kibana 中查看:进入
http://localhost:5601(无需登录),创建索引模式springcloud-logs-*,在 Discover 中即可看到日志。