Kibana Logstash如何从.CSV文件获取输入?

gab6jxml  于 2022-12-09  发布在  Kibana
关注(0)|答案(2)|浏览(189)

我最近才开始学习Logstash(和ELK堆栈),但我一直在努力从Logstash中的csv文件(csv文件与.conf文件在同一目录中)获取输入。
我有一个非常简单的脚本。我的脚本如下:

input {
    file {
        path => "C:\elastic\logstash-8.3.2\config\in.csv"
        start_position => beginning
    }
}

filter {
    csv {
        separator => ";"
        columns => ["Name","Deposit","Month"]
    }
    mutate {
        convert => {
            "Deposit" => "integer"
        }
    }
}

output {
    stdout {
        codec => rubydebug
    }

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

csv文件为“;“分隔,并像这样逐行(随机值):

Name;Number;Month
Name;Number;Month
Name;Number;Month
Name;Number;Month
Name;Number;Month
Name;Number;Month
Name;Number;Month

当我运行Logstash时,似乎没有任何错误,但我没有看到任何输入到控制台和/或ElasticSearch。为什么会出现这种情况?有简单的方法来解决这个问题吗?

8cdiaqws

8cdiaqws1#

我将我的.conf文件更改为以下格式,它似乎可以正常工作。

input {
    file {
        path => "C:/elastic/logstash-8.3.2/config/in.csv"
        start_position => "beginning"
        sincedb_path => "NULL"
    }
}

filter {
    csv {
        separator => ";"
        columns => ["name","deposit","month"]
    }
}

output {
    elasticsearch {
        hosts => "http://localhost:9200"
        index => "randomname"
    }
    stdout {}
}
cwtwac6a

cwtwac6a2#

logstash中的文件输入插件会将www.example.com位置的文件存储path.data在logstash.yml中。因此,如果每次运行时都从同一文件阅读,请将文件指针的位置修改为空设备。

相关问题