繁体   English   中英

从 logstash 发送的日志尚未在 elasticsearch 中编入索引

[英]logs sent from logstash haven't been indexed in elasticsearch

我为logstash编写了一个apache.conf文件,如下所示:

input 
{
    file {
        path => "E:\ferdowsi-data\data\logs\logs"
        start_position => "beginning"
    }
    
}

filter
{
    grok{
        match => {
            "message" => "%{COMBINEDAPACHELOG}"
        }
    }
    mutate{
        convert => { "bytes" => "integer" }
    }
    date {
        match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ]
        locale => en
        remove_field => "timestamp"
    }
    geoip {
        source => "clientip"
    }
    useragent {
        source => "agent"
        target => "useragent"
    }
}


output
{
    stdout {
        codec => dots
    }

    elasticsearch {
        hosts => ["http://localhost:9200/"]
    }

}

在elasticsearch & kibana 设置之后,我运行了以下命令:

bin\logstash.bat -f E:\ferdowsi-data\data\apache.conf

但我在 cmd 中得到了这个结果:

使用 JAVA_HOME 定义的 java:C:\\Program Files\\Java\\jdk-15.0.2 警告,使用 JAVA_HOME 而 Logstash 发行版带有捆绑的 JDK 将 Logstash 日志发送到 E:/ferdowsi-data/logstash-7.15.1-windows-x86_64 /logstash-7.15.1/logs 现在通过 log4j2.properties [2021-11-02T19:34:53,285][INFO][logstash.runner] 使用的 Log4j 配置路径是:E:\\ferdowsi-data\\logstash- 7.15.1-windows-x86_64\\logstash-7.15.1\\config\\log4j2.properties [2021-11-02T19:34:53,307][INFO][logstash.runner] 启动 Logstash {"logstash.version"=>"7.15 .1", "jruby.version"=>"jruby 9.2.19.0 (2.5.8) 2021-06-15 55810c552b Java HotSpot(TM) 64 位服务器 VM 15.0.2+7-27 on 15.0.2+7 -27 +indy +jit [mswin32-x86_64]"} [2021-11-02T19:34:53,532][WARN][logstash.config.source.multilocal] 因为模块或命令行选项而忽略'pipelines.yml'文件指定 [2021-11-02T19:34:59,861][INFO][logstash.agent] 成功启动 Logstash API 端点 {:port=>9600} [2021-11-02T19:35:01,963][IN FO ][org.reflections.Reflections] 反射用了 254 毫秒来扫描 1 个 url,产生 120 个键和 417 个值 [2021-11-02T19:35:08,699][INFO][logstash.outputs.elasticsearch][main] New Elasticsearch输出 {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["http://localhost:9200/"]} [2021-11-02T19:35:09,667][INFO][logstash. output.elasticsearch][main] Elasticsearch 池 URL 更新 {:changes=>{:removed=>[], : added=>[http://localhost:9200/]}} [2021-11-02T19:35:10,034 ][WARN ][logstash.outputs.elasticsearch][main] 恢复到 ES 实例的连接 {:url=>"http://localhost:9200/"} [2021-11-02T19:35:10,221][INFO][ logstash.outputs.elasticsearch][main] Elasticsearch 版本确定 (7.15.1) {:es_version=>7} [2021-11-02T19:35:10,228][WARN][logstash.outputs.elasticsearch][main] 检测到一个6.x 及以上集群: type事件字段将不会用于确定文档 _type {:es_version=>7} [2021-11-02T19:35:10,425][WARN][logstash.outputs.elasticsearch][ main] 配置是数据流兼容但由于向后兼容 Logstash 7.x 不会假设写入数据流,Logstash 8.0 上的默认行为将更改(设置data_stream => true/false以禁用此警告)[2021-11-02T19:35:10,425 ][WARN ][logstash.outputs.elasticsearch][main] 配置符合数据流,但由于向后兼容 Logstash 7.x 不会假设写入数据流,默认行为将在 Logstash 8.0 上更改(设置data_stream => true/false禁用此警告)[2021-11-02T19:35:10,517][INFO][logstash.outputs.elasticsearch][main] 使用默认映射模板 {:es_version=>7, :ecs_compatibility=>:disabled} [2021-11-02T19:35:11,548][WARN][org.logstash.instrument.metrics.gauge.LazyDelegatingGauge][main] 已为密钥创建了一个未知类型 (org.jruby.RubySymbol) 的规范指标:地位。 这可能会导致无效的序列化。 建议将问题记录到负责的开发人员/开发团队。 [2021-11-02T19:35:11,553][WARN][org.logstash.instrument.metrics.gauge.LazyDelegatingGauge][main] 已为密钥创建了一个未知类型 (org.jruby.RubySymbol) 的规范指标:地位。 这可能会导致无效的序列化。 建议将问题记录到负责的开发人员/开发团队。 [2021-11-02T19:35:11,595][WARN][org.logstash.instrument.metrics.gauge.LazyDelegatingGauge] 一个未知类型 (org.jruby.RubySymbol) 的仪表指标已经被创建用于 key: status。 这可能会导致无效的序列化。 建议将问题记录到负责的开发人员/开发团队。 [2021-11-02T19:35:16,863][ERROR][logstash.filters.geoip.databasemanager] 连接到 geoip.elastic.co:443 [geoip.elastic.co/104.154.207.153] 失败:连接超时 {:原因=>org.apache.http.conn.ConnectTimeoutException:连接到 geoip.elastic.co:443 [geoip.elastic.co/104.154.207.153] 失败:连接超时} [2021-11-02T19:35:17,111] [信息][logstash.filters.geoip][main] 使用 geoip 数据库 {:path=>"E:/ferdowsi-data/logstash-7.15.1-windows-x86_64/logstash-7.15.1/data/plugins/filters /geoip/CC/GeoLite2-City.mmdb"} [2021-11-02T19:35:18,035][INFO][logstash.javapipeline][main] 启动管道 {:pipeline_id="main", "pipeline.workers" =>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>500, "pipeline.sources"=>["E:/ferdowsi-data /data/apache.conf"], :thread=>"#<Thread:0x67262850 run>"} [2021-11-02T19:35:22,350][INFO][logstash.javapipeline][main] Pipeline Java 执行初始化时间{"seconds"=>4.3} [2021-11-02T19:35:22,683][INFO][logstash.i npts.file ][main] 未设置sincedb_path,根据“路径”设置生成一个{:sincedb_path=>"E:/ferdowsi-data/logstash-7.15.1-windows-x86_64/logstash-7.15.1/data /plugins/inputs/file/.sincedb_16641d4dcb06fea1584da5dab1d50d1b", :path=>["E:\\ferdowsi-data\\data\\logs\\logs"]} [2021-11-02T19:35:22,858][22,858] ][main] 管道开始 {"pipeline.id"=>"main"} [2021-11-02T19:35:23,080][INFO][logstash.agent] 管道运行 {:count=>1, :running_pipelines=> [:main], :non_running_pipelines=>[]} [2021-11-02T19:35:23,090][INFO][filewatch.observingtail][main][66b892a5d2b1ce6637fc3b1583e61a37f2f9fc37fc3b1583e69a37f2f9fc7fc3b1583e61a37f2f9fc14bcbeadc14bcbeadc14bcbeadc14bcbeadc18c18c18c18c18c18c18c18cbeac14bcbef9fc16c

不幸的是,elasticsearch 中没有索引任何内容。 我该如何解决? 我的配置是:

Windows 10
elasticsearch 7.15.1
logstash 7.15.1
kibana 7.15.1

不要在路径选项中使用反斜杠,它被视为转义符,因此 logstash 正在等待创建文件“E:ferdowsi-datadatalogslogs”。 使用双反斜杠的正斜杠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM