我在一台vm机器上使用elasticsearch,kibana,logstash并在slave机器上使用filebeat进行设置。我设法在教程from here之后从auth.log文件发送syslog消息和日志。在filebeat日志中,我看到消息已发布,但是当我尝试发送json文件时,我没有看到任何发布事件(因为timemout我只看到Flushing后台处理程序。事件刷新:0)。 我的filebeat.yml文件是
filebeat:
prospectors:
-
paths:
# - /var/log/auth.log
# - /var/log/syslog
# - /var/log/*.log
- /home/slave/data_2/*
input_type: log
document_type: log
registry_file: /var/lib/filebeat/registry
output:
logstash:
hosts: ["192.168.132.207:5044"]
tls:
certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"]
shipper:
logging:
level: debug
to_files: true
to_syslog: false
files:
path: /var/log/mybeat
name: mybeat.log
keepfiles: 7
rotateeverybytes: 10485760 # = 10MB
答案 0 :(得分:2)
请注意,filebeat.yml中不允许使用标签!!!!我使用notepad ++并查看> Show>空格和TAB。果然,空白行中有一个TAB字符,filebeat无法启动。使用filebeat -c filebeat.yml -configtest,它将为您提供更多信息。
答案 1 :(得分:0)
进入logbeat的logstash输入并注释tls部分!
答案 2 :(得分:0)
不要忘记检查您的日志文件权限。如果所有内容都是root,则filebeat将不具有读取权限。 将文件组设置为 adm 。
sudo chgrp adm /var/log/*.log