如果我想要所有其他日志而不是信息,我如何设置filebeat。这是我的配置,但这个不起作用:
filebeat.prospectors:
- type: log
enabled: true
paths:
- /var/log/messages
- /var/log/secure
- /var/log/audit/audit.log
- /var/log/yum.log
- /root/.bash_history
- /var/log/neutron/*.log
- /var/log/nova/*.log
- /var/log/keystone/keystone.log
- /var/log/httpd/error_log
- /var/log/mariadb/mariadb.log
- /var/log/glance/*.log
- /var/log/rabbitmq/*.log
exclude_files: ['/var/log/neutron/metadata-agent.log$']
ignore_older: 72h
- type: log
enabled: true
paths:
- /var/log/neutron/metadata-agent.log
level: error
ignore_older: 72h
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
output.logstash:
hosts: [""]
我的目标是在metadata-agent.log的情况下,我不想发送信息日志,只有与这些信息不同的其他信息:
2019-03-18 12:34:18.075 1183 TRACE neutron.agent.metadata.agent Exception: Unexpected response code: 504
2019-03-18 12:34:18.075 1183 TRACE neutron.agent.metadata.agent
2019-03-18 12:34:19.083 1186 ERROR neutron.agent.metadata.agent [-] Unexpected error.
但是使用此配置,信息仍在发送。问题出在哪儿?我的filebeat版本是6.2
您可以在配置中定义处理器,以便在将事件发送到配置的输出之前处理事件
您可以在drop_event的Processors部分下使用filebeat.yml
处理器,如下所示,它将删除来自/var/log/neutron/metadata-agent.log
文件和正则表达式的任何日志行与ex:2019-03-18 12:34:18.075 1183 INFO
的行开头匹配
如果满足相关条件,
drop_event
处理器将丢弃整个事件
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- drop_event:
when:
and:
- equals:
source: '/var/log/neutron/metadata-agent.log'
- regexp:
message: '^\d{4}-\d{2}-\d{2} \d{2}\:\d{2}\:\d{2}\.\d{3}\s\d{4}\sINFO\s'