gpt4 book ai didi

elasticsearch - 如何确认Logstash已处理日志并提供给ES

转载 作者:行者123 更新时间:2023-12-03 01:55:21 25 4
gpt4 key购买 nike

我是ELK的新用户。我使用heka作为ELK堆栈的日志传送代理。我已经将Logstash配置为从路径中获取日志。我的logstash看起来像这样

input {
file {
path => "/var/log/nds/cmdc/cmdc.audit"
}
}
output {
elasticsearch {
hosts => ["10.209.26.147:9200"]
}
}

当我启动logstash时,输出如下。
[root@astroELK logstash]# bin/logstash -f /etc/logstash/conf.d/astro_pdl.conf
--- jar coordinate com.fasterxml.jackson.core:jackson-annotations already loaded with version 2.7.1 - omit version 2.7.0
--- jar coordinate com.fasterxml.jackson.core:jackson-databind already loaded with version 2.7.1 - omit version 2.7.1-1
Settings: Default pipeline workers: 2
Pipeline main started

我也没有在日志中看到任何东西。我如何确保logstash已从正确的路径处理了日志。如果我启动ElasticSearch,则可以看到以下内容:
[Morg] recovered [0] indices into cluster_state

请有人让我知道我的配置设置中是否有任何问题。

最佳答案

您需要先设置ElasticSearch。因为ElasticSearch是用于存储日志的数据库,并且Logstash会将日志数据推送到那里。
另外,您还需要确保您的日志即将进入配置到输入中的日志文件。我将提供一个示例logstash配置,它将为您提供帮助。

input {
file {
path => "<filePath>"
}
}

filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}

output {
elasticsearch {
hosts => ["localhost:9200"]
sniffing => true
manage_template => false
index => "%{index}-%{+YYYY.MM.dd}"

}
stdout {
codec => rubydebug
}
}

在以上配置中,我使用简单的文件路径作为输入。在过滤器部分,我还使用默认的 COMBINEDAPACHELOG
在输出部分中,我提供了elasticSearch主机和端口,并每天动态创建索引。

将其配置为logstash配置后,您需要首先重新启动 Elasticsearch ,然后再使用配置[ Command logstash -f logstash-simple.conf]重新启动logstash。

然后它将日志推送到elasticsearch,您可以通过创建在配置中设置的索引(例如 index-2016.05.16)通过Kibana UI来查看此日志。

您也可以通过对特定索引使用curl命令在 Elasticsearch 中检查数据。
$ curl -XGET 'http://localhost:9200/*

关于elasticsearch - 如何确认Logstash已处理日志并提供给ES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37051169/

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