0

我是 ELK 系统的新手,我正在尝试在我的本地 windows server 2016 r2 机器上设置一个系统,它有 256 GB RAM 和处理器 2。所以我在我的机器上下载了 logstash、elasticSearch 和 kibana。目的是我有很多 CSV 文件,我将从特定文件夹中的远程计算机获取这些文件。一旦我有了这些 CSV 文件,我希望从它们中取出数据并将它们放入弹性搜索中。我的logstash配置是这样的

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.


input {
    file {
        path=> "D:/File-upload-server/uploads/*.csv"
    }
}

filter{
    csv
    {
    separator => ","
    columns => ["PRODUCTID","cost","seller","buyer","address","city","state","pincode"]
    }
}

output {

elasticsearch
{
    hosts =>    ["localhost:9200"]
    index =>    ["mydata"]
}

}

当我看到http://localhost:9200/_cat/indices?v时,我发现类似的条目

health status index                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .kibana_task_manager  CD7ljRARROe-2YnvzYhbFw   1   0          2            0     29.5kb         29.5kb
yellow open   mydata               XmTpG5PrQT-c6dQrjkbjIg   1   1          7            0     31.1kb         31.1kb
green  open   .kibana_1             qhQ84QNvTSSrl0eRxvKj0g   1   0          5            1     32.5kb         32.5kb

请注意, docs.count 表示在 push 新文件时会增加的内容。

当文件夹 D:/File-upload-server/uploads 中出现新文件时,我发现新文件在 20 分钟左右后被选中。机器根本没有装载。所有资源都可用于此设置。

什么应该是理想的配置或者我做了错误的配置。

4

1 回答 1

0

由于 csv 文件已准备好从 logstash 中使用,我建议尝试以“读取”模式打开文件,以便在 EOF 之前读取它们并继续寻找新的即将到来的 csv 文件。由于“tail”默认模式,我怀疑它正在等待特定的时间,直到寻找下一个文件。

input {
    file {
        path=> "D:/File-upload-server/uploads/*.csv"
        mode => "read"
    }
}
于 2019-08-29T08:56:03.407 回答