linux

如何使用Filebeat收集应用日志

小樊
36
2025-12-10 20:23:14
栏目: 编程语言

使用 Filebeat 收集应用日志

一 安装与目录结构

二 最小可用配置与启动

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/myapp/*.log
  json.keys_under_root: true
  json.overwrite_keys: true

output.console:
  pretty: true
sudo systemctl enable --now filebeat
sudo systemctl status filebeat
# 观察控制台输出是否出现解析后的 JSON 日志

三 输出到 Elasticsearch 与按应用分索引

filebeat.inputs:
- type: log
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true
  fields:
    index: nginx

- type: log
  paths:
    - /application/tomcat/logs/catalina.out
  fields:
    index: tomcat

output.elasticsearch:
  hosts: ["http://10.0.0.71:9200"]
  indices:
    - index: "elk-nginx-%{+yyyy.MM.dd}"
      when.equals:
        fields.index: "nginx"
    - index: "elk-tomcat-%{+yyyy.MM.dd}"
      when.equals:
        fields.index: "tomcat"

四 多行堆栈与常见采集场景

filebeat.inputs:
- type: log
  paths:
    - /var/log/java-app/*.log
  multiline:
    pattern: '^\['
    negate: true
    match: after
    max_lines: 500
    timeout: 5s
output.redis:
  hosts: ["10.0.0.81:6379"]
  key: "nginx_log"
  db: 0
output.logstash:
  hosts: ["10.0.0.81:5044"]
output.file:
  path: "/tmp/"
  filename: "app.log"

五 生产实践与运维要点

0
看了该问题的人还看了