Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 日志存储未知设置';转换为';对于csv{:level=>;:error}_Date_Csv_Logstash - Fatal编程技术网

Date 日志存储未知设置';转换为';对于csv{:level=>;:error}

Date 日志存储未知设置';转换为';对于csv{:level=>;:error},date,csv,logstash,Date,Csv,Logstash,我正在尝试使用Logstash将CSV文件导入弹性搜索。这是我的配置文件 input { file { path => "c:/Elkwin_Free_x64/input/export.csv" start_position => beginning } } filter { csv { columns => [

我正在尝试使用Logstash将CSV文件导入弹性搜索。这是我的配置文件

input {
        file    {
                path => "c:/Elkwin_Free_x64/input/export.csv"
                start_position => beginning
        }
}
filter {
        csv {
                columns => [
                        "Date",
                        "Transaction",
                        "Name",
                        "Memo",
                        "Amount"
                ]
                separator => ","
                convert => {"Date" => "date"}
        }
}
output {
        elasticsearch {
                action => "index"
                host => "localhost"
                index => "USB-%{+YYYY.MM}"
                workers => 1
        }

        stdout {
                codec => rubydebug
        }
}
我希望将“日期”列转换为“日期”类型,而不是“字符串”。但是,当我运行logstash时,我得到以下错误消息

 c:\Elkwin_Free_x64\logstash\bin>logstash -f "C:\Elkwin_Free_x64\logstash\conf\logstash.conf
 io/console not supported; tty will not be manipulated
 Unknown setting 'convert' for csv {:level=>:error}
 Error: Something is wrong with your configuration.
 You may be interested in the '--configtest' flag which you can
 use to validate logstash's configuration before you choose
 to restart a running system.

请建议我要做什么更改。

csv/convert设置仅出现在Logstash 2.2中,因此如果您使用的是旧版本的Logstash,这就是它抱怨的原因

您可以升级到Logstash 2.2、2.3或最好是2.4,或者像这样使用(注意,过滤器不支持日期转换):


注:我已经选择了ISO8601,但是要确保它与你的日期字段相匹配。

csv/convert设置只出现在Logstash 2.2中,所以如果你使用的是旧版本的Logstash,这就是它抱怨的原因

您可以升级到Logstash 2.2、2.3或最好是2.4,或者像这样使用(注意,过滤器不支持日期转换):


注:我选择了ISO8601,但请确保与日期字段中的匹配。

Val-感谢您的回复。我的目标还没有实现。我现在使用的是所有最新版本——elasticsearch 2.4.0、logstash 2.4.0和kibana 4.6.1。我有一个CSV文件,它有一个日期字段,它的值如9/2/2016、9/9/2016等。我希望使用此字段作为事件时间戳,而不是logstash生成的时间戳。我使用convert-in-CSV过滤器,然后使用date过滤器来获取时间戳-date{match=>[“date”,“YYYY-MM-dd HH:MM:ss+SSSS”]}。然而,我得到了一个无效格式的异常:“9/9/2016”在“9/2016”处格式不正确。感谢你的离开。瓦尔-谢谢你的回复。我的目标还没有实现。我现在使用的是所有最新版本——elasticsearch 2.4.0、logstash 2.4.0和kibana 4.6.1。我有一个CSV文件,它有一个日期字段,它的值如9/2/2016、9/9/2016等。我希望使用此字段作为事件时间戳,而不是logstash生成的时间戳。我使用convert-in-CSV过滤器,然后使用date过滤器来获取时间戳-date{match=>[“date”,“YYYY-MM-dd HH:MM:ss+SSSS”]}。然而,我得到了一个无效格式的异常:“9/9/2016”在“9/2016”处格式不正确。谢谢你的离开。
filter {
        csv {
                columns => [
                        "Date",
                        "Transaction",
                        "Name",
                        "Memo",
                        "Amount"
                ]
                separator => ","
        }
        date {
            match => ["Date", "ISO8601", "d/m/yyyy"]
            target => "Date"
        }
}