elasticsearch Filebeat正在处理所有日志,而不是指定的应用程序日志,elasticsearch,chef-infra,logstash,elastic-stack,filebeat,elasticsearch,Chef Infra,Logstash,Elastic Stack,Filebeat" /> elasticsearch Filebeat正在处理所有日志,而不是指定的应用程序日志,elasticsearch,chef-infra,logstash,elastic-stack,filebeat,elasticsearch,Chef Infra,Logstash,Elastic Stack,Filebeat" />

elasticsearch Filebeat正在处理所有日志,而不是指定的应用程序日志

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(通过Chef)来提取日志并将其发布到logstash(一个单独的麋鹿服务器),然后发布到ES和Kibana

我已将filebeat配置为仅处理/opt/app_logs/*.log中的日志,但它似乎也在读取其他位置的日志,因为在/etc/filebeat配置目录中,我自动生成了filebeat.full.yml和其他yml文件,它们似乎具有所有其他文件位置,因此,由于日志数量如此之大,logstash服务在几分钟内就用logstash.log耗尽了内存。如何才能不自动生成其他yml文件? 我试图删除这个文件,还试图注释掉浏览者中的所有/var/log路径,但是filebeat本身并没有启动

filebeat.yml文件:

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)。谢谢,这很有帮助!谢谢,这很有帮助!