elasticsearch Filebeat正在处理所有日志,而不是指定的应用程序日志
我有一个应用服务器,在那里我配置了filebeat(通过Chef)来提取日志并将其发布到logstash(一个单独的麋鹿服务器),然后发布到ES和Kibana 我已将filebeat配置为仅处理/opt/app_logs/*.log中的日志,但它似乎也在读取其他位置的日志,因为在/etc/filebeat配置目录中,我自动生成了filebeat.full.yml和其他yml文件,它们似乎具有所有其他文件位置,因此,由于日志数量如此之大,logstash服务在几分钟内就用logstash.log耗尽了内存。如何才能不自动生成其他yml文件? 我试图删除这个文件,还试图注释掉浏览者中的所有/var/log路径,但是filebeat本身并没有启动 filebeat.yml文件:
elasticsearch Filebeat正在处理所有日志,而不是指定的应用程序日志,
elasticsearch,chef-infra,logstash,elastic-stack,filebeat,
elasticsearch,Chef Infra,Logstash,Elastic Stack,Filebeat,我有一个应用服务器,在那里我配置了filebeat(通过Chef)来提取日志并将其发布到logstash(一个单独的麋鹿服务器),然后发布到ES和Kibana 我已将filebeat配置为仅处理/opt/app_logs/*.log中的日志,但它似乎也在读取其他位置的日志,因为在/etc/filebeat配置目录中,我自动生成了filebeat.full.yml和其他yml文件,它们似乎具有所有其他文件位置,因此,由于日志数量如此之大,logstash服务在几分钟内就用logstash.log耗
filebeat:
prospectors: []
registry_file: "/var/lib/filebeat/registry"
config_dir: "/etc/filebeat"
output:
logstash:
hosts:
- elk_host:5044
index: logstash-filebeat
shipper:
name: serverA
tags:
- A
logging:
to_files: 'true'
files:
path: "/var/log/filebeat"
name: filebeat_log
rotateeverybytes: '10485760'
level: info
prospectors:
- paths:
- "/opt/app_logs/*.log"
encoding: plain
input_type: log
ignore_older: 24h
配置的主要问题是,对于Filebeat 1.2.3,您定义了两次“浏览者”列表,而第二个列表不在正确的位置 第二个问题是您已经将
config\u dir
定义为/etc/filebeat
config_dir
用于指定查找配置文件的附加目录。不应将其设置为/etc/filebeat
,因为这是主配置文件的位置。有关用法信息,请参阅
第三个问题是,您在to_文件
和rotateeverybytes
中使用了字符串类型。它们应该分别是布尔类型和整数类型
下面是配置如何查找Filebeat 1.x
filebeat:
registry_file: "/var/lib/filebeat/registry"
config_dir: "/etc/filebeat/conf.d"
prospectors:
- paths:
- "/opt/app_logs/*.log"
encoding: plain
input_type: log
ignore_older: 24h
output:
logstash:
hosts:
- elk_host:5044
index: logstash-filebeat
shipper:
name: serverA
tags:
- A
logging:
to_files: true
files:
path: "/var/log/filebeat"
name: filebeat_log
rotateeverybytes: 10485760
level: info
我强烈建议您升级到Filebeat 5.x,因为它使用
Filebeat-configtest
具有更好的配置验证。您的配置的主要问题是,对于Filebeat 1.2.3,您有两次定义的浏览者
列表,第二个列表不在正确的位置
第二个问题是您已经将config\u dir
定义为/etc/filebeat
config_dir
用于指定查找配置文件的附加目录。不应将其设置为/etc/filebeat
,因为这是主配置文件的位置。有关用法信息,请参阅
第三个问题是,您在to_文件
和rotateeverybytes
中使用了字符串类型。它们应该分别是布尔类型和整数类型
下面是配置如何查找Filebeat 1.x
filebeat:
registry_file: "/var/lib/filebeat/registry"
config_dir: "/etc/filebeat/conf.d"
prospectors:
- paths:
- "/opt/app_logs/*.log"
encoding: plain
input_type: log
ignore_older: 24h
output:
logstash:
hosts:
- elk_host:5044
index: logstash-filebeat
shipper:
name: serverA
tags:
- A
logging:
to_files: true
files:
path: "/var/log/filebeat"
name: filebeat_log
rotateeverybytes: 10485760
level: info
我强烈建议您升级到Filebeat 5.x,因为使用
Filebeat-configtest
您使用的是什么版本的Filebeat,它具有更好的配置验证功能?您的配置对于所有版本都不正确,但是知道您的目标版本可以帮助您获得正确答案。@A J很抱歉这么晚才回复。filebeat的版本是1.2.3(amd64)。您使用的是哪个版本的filebeat?您的配置对于所有版本都不正确,但是知道您的目标版本可以帮助您获得正确答案。@A J很抱歉这么晚才回复。filebeat的版本是1.2.3(amd64)。谢谢,这很有帮助!谢谢,这很有帮助!