FileBeat配置输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FileBeat配置输出相关的知识,希望对你有一定的参考价值。

参考技术A 1、配置Elasticsearch output
当你指定Elasticsearch作为output时,Filebeat通过Elasticsearch提供的HTTP API向其发送数据。例如:

output.elasticsearch:
hosts: [" https://localhost:9200 "]
index: "filebeat-%[beat.version]-%+yyyy.MM.dd"
ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
ssl.certificate: "/etc/pki/client/cert.pem"
ssl.key: "/etc/pki/client/cert.key"
为了启用SSL,只需要在hosts下的所有URL添加https即可

output.elasticsearch:
hosts: [" https://localhost:9200 "]
username: "filebeat_internal"
password: "YOUR_PASSWORD"
如果Elasticsearch节点是用IP:PORT的形式定义的,那么添加protocol:https。

output.elasticsearch:
hosts: ["localhost"]
protocol: "https"
username: "beatname_lc_internal"
password: "pwd"
1.1 配置项
enabled

启用或禁用该输出。默认true。

hosts

Elasticsearch节点列表。事件以循环顺序发送到这些节点。如果一个节点变得不可访问,那么自动发送到下一个节点。每个节点可以是URL形式,也可以是IP:PORT形式。如果端口没有指定,用9200。

output.elasticsearch:
hosts: ["10.45.3.2:9220", "10.45.3.1:9230"]
protocol: https
path: /elasticsearch
username

用于认证的用户名

password

用户认证的密码

protocol

可选值是:http 或者 https。默认是http。

path

HTTP API调用前的HTTP路径前缀。这对于Elasticsearch监听HTTP反向代理的情况很有用。

headers

将自定义HTTP头添加到Elasticsearch输出的每个请求。

index

索引名字。(PS:意思是要发到哪个索引中去)。默认是"filebeat-%[beat.version]-%+yyyy.MM.dd"(例如,"filebeat-6.3.2-2017.04.26")。如果你想改变这个设置,你需要配置 setup.template.name 和 setup.template.pattern 选项。如果你用内置的Kibana dashboards,你也需要设置setup.dashboards.index选项。

indices

索引选择器规则数组,支持条件、基于格式字符串的字段访问和名称映射。如果索引缺失或没有匹配规则,将使用index字段。例如:

output.elasticsearch:
hosts: [" http://localhost:9200 "]
index: "logs-%[beat.version]-%+yyyy.MM.dd"
indices:
- index: "critical-%[beat.version]-%+yyyy.MM.dd"
when.contains:
message: "CRITICAL"
- index: "error-%[beat.version]-%+yyyy.MM.dd"
when.contains:
message: "ERR"
timeout

请求超时时间。默认90秒。

1.2 加载Elasticsearch 索引模板
在filebeat.yml配置文件的setup.template区域指定索引模板,用来设置在Elasticsearch中的映射。如果模板加载是启用的(默认的),Filebeat在成功连接到Elasticsearch后自动加载索引模板。

你可以调整下列设置或者覆盖一个已经存在的模板。

setup.template.enabled
设为false表示禁用模板加载

setup.template.name
模板的名字。默认是filebeat。Filebeat的版本总是跟在名字后面,所以最终的名字是 filebeat-%[beat.version]

setup.template.pattern
模板的模式。默认模式是filebeat-*。例如:

setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
setup.template.fields
描述字段的YAML文件路径。默认是 fields.yml。

setup.template.overwrite
是否覆盖存在的模板。默认false。

setup.template.settings._source

setup.template.name: "filebeat"
setup.template.fields: "fields.yml"
setup.template.overwrite: false
setup.template.settings:
_source.enabled: false
2、配置Logstash output
output.logstash:
hosts: ["127.0.0.1:5044"]
上面是配置Filebeat输出到Logstash,那么Logstash本身也有配置,例如:

input
beats
port => 5044



output
elasticsearch
hosts => [" http://localhost:9200 "]
index => "%[@metadata][beat]-%[@metadata][version]-%+ YYYY.MM.dd "


3、配置Kafka output

output.kafka:

hosts: ["kafka1:9092", "kafka2:9092", "kafka3:9092"]

topic: '%[fields.log_topic]'
partition.round_robin:
reachable_only: false

required_acks: 1
compression: gzip
max_message_bytes: 1000000

filebeat采集多个文件配置参考

参考技术A 主要filebeat配置:

filebeat.prospectors:

input_type: log

paths:

/var/log/rsyncd.log

input_type: log

paths:

/var/log/messages

fields:

syslog: messages

fields_under_root: true

#输出到es配置

output.elasticsearch:

hosts: ["10.211.121.75:9200","10.211.121.73:9200","10.211.121.74:9200"]

index: "logstash rsync %+YYYY.MM.dd"

indices:

index: "messages-%+yyyy.MM.dd"

when.contains:

syslog: messages #通过此处来将message日志写入到message 的index

username: "elastic"

password: "12345"

logging.level: warning

以上是关于FileBeat配置输出的主要内容,如果未能解决你的问题,请参考以下文章

FileBeat配置输出

filebeat采集多个文件配置参考

Filebeat服务输出形式

filebeat配置日志记录(等级)

linux12Elk --> 03filebeat

Filebeat日志采集器实例