elasticsearch 如何从filebeat设置kibana索引模式?
我将elk堆栈与节点应用程序一起使用。我用filebeat、logsstash格式将日志从主机发送到logstash,并将数据发送到elastic,kibana从elastic读取数据。在kibana中,我看到默认索引模式,如
elasticsearch 如何从filebeat设置kibana索引模式?,
elasticsearch,logstash,kibana,elastic-stack,filebeat,
elasticsearch,Logstash,Kibana,Elastic Stack,Filebeat,我将elk堆栈与节点应用程序一起使用。我用filebeat、logsstash格式将日志从主机发送到logstash,并将数据发送到elastic,kibana从elastic读取数据。在kibana中,我看到默认索引模式,如filebeat-2019.06.16 我想将此更改为application-name-filebeat-2019.06.16。但它不起作用。我正在寻找一种在filebeat中实现它的方法,因为将有多个应用程序/filebeats,但只有一个logstash/elastic
filebeat-2019.06.16
我想将此更改为application-name-filebeat-2019.06.16
。但它不起作用。我正在寻找一种在filebeat中实现它的方法,因为将有多个应用程序/filebeats,但只有一个logstash/elasticsearch/kibana
我在filebeat.yml
上尝试了这个filebeat配置
filebeat.inputs:
- type: log
paths:
- /var/log/*.log
fields:
- app_name: myapp
output.logstash:
index: "%{fields.app_name}-filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
hosts: ["${ELK_ENDPOINT}"]
ssl.enabled: true
ssl:
certificate_authorities:
- /etc/pki/tls/certs/logstash-beats.crt
setup.template.name: "%{fields.app_name}-filebeat-%{[agent.version]}"
节点应用程序主机和filebeat中的每一个都将使用相同类型的文件
此外,使用此配置初始化logstash
02-beats-input.conf
input {
beats {
port => 5044
codec => "json"
ssl => true
ssl_certificate => "/etc/pki/tls/certs/logstash-beats.crt"
ssl_key => "/etc/pki/tls/private/logstash-beats.key"
}
}
30-output.conf
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost"]
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
这是一种类似于
filebeat-2019.06.16
的评级指数模式。我想要类似于application-name-filebeat-2019.06.16
的东西。如果要将filebeat日志发送到logstash,则需要在logstash管道中定义索引名,而不是在filebeat配置文件中
尝试以下输出:
output {
elasticsearch {
hosts => ["localhost"]
manage_template => false
index => "%{[fields][app_name]}-%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
要在filebeat上设置索引名,您需要将日志直接发送到elasticsearch
如果您有其他BEAT将数据发送到同一端口,而其中一些BEAT没有字段
[fields][app_name]
,您可以在输出上使用条件或在管道上创建字段。我以后必须使用logstash gork提取日志。是否可以从filebeat发送变量@appname
之类的内容,这些内容可以在日志存储中使用,比如“%{[@appname][beat]}-%{+YYYY.MM.dd}”
?是的,您可以使用filebeat中的字段变量-字段:env:staging
。参考-。它也可以在日志存储中加载。