gpt4 book ai didi

parsing - Logstash将同一单词的多个实例解析为Elasticsearch Array

转载 作者:行者123 更新时间:2023-12-02 22:33:38 25 4
gpt4 key购买 nike

我正在尝试从日志行中提取以下内容到2个不同的数组字段中

03/07/2014 13:29:43.103 INFO NUM*0000001*DOS*0000001-000000001* TDKIIDKSSS NUM*0000002*DOS*0000002-000000001* TDKIIDKSSS NUM*0000003*DOS*0000003-000000001* TTDKIIDKSSS NUM*0000004*DOS*0000004-000000001* TDKIIDKSSS NUM*0000005*DOS*0000005-000000001* TDKIIDKSSS



我的问题是,根据我的经验,grok仅适用于固定模式。我正在尝试从不同的日志行中提取上述数字,这些日志行将NUM和DOS重复两次或100次。

有没有一种方法可以获取多个重复,并使用logstash将其放入数组中以供elasticsearch存储?

最佳答案

我认为使用这些日志行的最佳方法是以下方法:

filter{
mutate{
gsub=>["message","NUM\*(?:[0-9]+)\*DOS\*"," ","message","[*|-]"," "]
}
extractnumbers{}
}

上面的代码将从消息字段中提取NUM&DOS数字,它将 NUM放入一个奇数(int1,int3,...),将 DOS放入一个偶数(int2,int4 ...)。请注意, 任何前导零将从值(00001 => 1)中删除。
输出为您的日志如下:
# leaing zeros will be removed
int1=>1, #NUM
int2=>1, #DOS
int3=>2, #NUM
int4=>1, #DOS
int5=>3,
int6=>1,
int7=>4,
int8=>1,
int9=>5,
int10=>1

希望对您有所帮助:)。

关于parsing - Logstash将同一单词的多个实例解析为Elasticsearch Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22259751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com