我是 Logstash 的新手,我想使用 Logstash 和 Elasticsearch 来显示一些 csv 数据的 Kibana
我的 csv 格式如下所示:
* Level 2 SMS *
[APAC] tre Alerts Feed is SEVERE on dtryee (rajdhani-apac)
Date/Time: 2014.07.31 13:45:32
Last Value: SEVERE
Event age: 50m,sent,Thu 31 Jul 2014 03:45:47 +0000,2010-04-01,1,A***********,S************,outbound-api,+1234567,+876543287,-0.02300,USD
使用conf文件如下:
input {
file {
path => ["/opt/sms_log.csv"]
start_position => "beginning"
}
}
filter {
csv {
columns => ['body', 'status', 'SentDate', 'ApiVersion', 'NumSegments', 'AccountSid', 'Sid', 'Direction', 'From', 'To', 'Price', 'PriceUnit']
}
}
output {
elasticsearch { host => localhost }
}
我没有得到所需的输出。任何人都可以看看这些并给我一些建议吗?
答案 0 :(得分:0)
我想您可能想要从Event age:
如果是,您必须先使用grok
过滤器来解析Event age
并满足csv格式!
例如,您必须grok
输出数据并将其放在字段中,例如:csv_data
50m,发送,2014年7月31日星期三03:45:47 + 0000,2010-04-01,1,A ***********,S ********* ***,outbound-api,+ 1234567,+ 876543287,-0.02300,USD
然后,在csv过滤器中,您必须指定源字段:
filter {
csv {
columns => ['body', 'status', 'SentDate', 'ApiVersion', 'NumSegments', 'AccountSid', 'Sid', 'Direction', 'From', 'To', 'Price', 'PriceUnit']
source => "csv_data"
}
}
FYI