gpt4 book ai didi

elasticsearch - 如何从filebeat设置kibana索引模式?

转载 作者:行者123 更新时间:2023-12-02 22:13:09 25 4
gpt4 key购买 nike

我正在将 elk 堆栈与节点应用程序一起使用。我正在使用filebeat、logstash格式将日志从主机发送到logstash,并将数据发送到elastic和kibana从elastic读取。在 kibana 中,我看到默认索引模式,如 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]}"


相同类型的文件将与每个节点应用程序主机和文件节拍。

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。

如果您有其他节拍将数据发送到同一端口并且其中一些没有字段 [fields][app_name]您可以对输出使用条件或在管道上创建字段。

关于elasticsearch - 如何从filebeat设置kibana索引模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56617561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com