配置 Filebeat 的日志输出
一 概念与位置
filebeat test config -c /path/filebeat.yml 校验语法,再用服务管理命令重启生效。二 配置事件输出到 Elasticsearch 或 Logstash
output.elasticsearch:
hosts: ["http://es-host:9200"]
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
# 如启用安全认证,按需添加:
# username: "elastic"
# password: "your_password"
# ssl.enabled: true
# ssl.verification_mode: certificate
# ssl.certificate_authorities: ["/path/ca.crt"]
output.logstash:
hosts: ["logstash-host:5044"]
# ssl.enabled: true
# ssl.certificate_authorities: ["/path/ca.crt"]
# ssl.certificate: "/path/client.crt"
# ssl.key: "/path/client.key"
# 控制台打印(便于本地调试)
output.console:
pretty: true
# Kafka
# output.kafka:
# hosts: ["kafka1:9092","kafka2:9092"]
# topic: "filebeat"
# codec.json: true
# Redis
# output.redis:
# hosts: ["redis-host:6379"]
# key: "filebeat"
# password: "your_password"
# db: 0
三 配置 Filebeat 自身运行日志(logging)
logging.level: info
logging.to_files: true
logging.to_stderr: true
logging.json: true
logging.files:
path: /var/log/filebeat
name: filebeat
rotateeverybytes: 10485760 # 10MB
keepfiles: 7
permissions: 0600
interval: 1h
rotateonstartup: true
logging.metrics.enabled: true
logging.metrics.period: 30s
# 仅调试发布链路
# logging.selectors: ["publish"]
四 验证与常见问题
filebeat test config -c /etc/filebeat/filebeat.ymlsudo systemctl status filebeatsudo journalctl -u filebeat -f