【发布时间】:2019-09-16 22:23:03
【问题描述】:
我正在尝试将字符串中的一个字段转换为整数。我尝试了所有方法来转换,但所有方法都失败了。
我尝试在 Kibana 中使用 painless,Logstash 使用 mutate 过滤器和 Elasticsearch 使用 reindex API。
这是我们的日志:
9 月 13 日 10:37:01 SYSTROMEGGN APP_TRAFFIC: SerialNum=H000D-8D31U-2000P-H0H5Q-E028T GenTime="2019-09-13 10:37:01" 开始时间="2019-09-13 10:36:00" 结束时间="2019-09-13 10:37:00" Category="search-engine" AppName="truecaller" Traffic=31104
默认情况下,所有字段类型都是字符串,但我想要整数的“交通”字段。 这是我的 logstash 配置管道:
input {
udp {
port => 5044
type => "syslog"
}
}
filter{
if [type] == "syslog" {
grok {
match => { "message" => "% .
{SYSLOGTIMESTAMP:syslog_timestamp} %{WORD:syslog_type}%
{DATA:syslog_program}:%{GREEDYDATA:syslog_message}"
}
}
date {
match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
kv {
source => "syslog_message"
value_split => "="
}
}
}
output {
elasticsearch {
hosts => ["http://192.168.0.62:9200"]
index => "syslog"
document_type => "system_logs"
user=>"elastic"
password=>"elastic"
}
stdout { codec => rubydebug }
}
我希望输出是我的“交通”字段转换为整数类型,但实际输出是字符串类型的“交通”字段。
【问题讨论】:
标签: elk