gpt4 book ai didi

logstash - 获取 grok 过滤器转换为的正则表达式?

转载 作者:行者123 更新时间:2023-12-02 01:44:29 27 4
gpt4 key购买 nike

我有一个复杂的 grok 过滤器表达式...是否有可能获得此过滤器转换成的正则表达式?

最佳答案

您可以使用一个简单的 Perl 脚本来完成它,该脚本读取模式文件并将 %{PATTERN} 内容替换为它所基于的实际正则表达式——您必须稍微自定义一下, 但它显示了如何做:

#!/usr/bin/perl

# this is the path to your grok-patterns file
open(F,"patterns/grok-patterns");
while (<F>) {
chomp;
if (/^(\S+) (.*)/) {
$pattern{$1} = $2;
}
}
close(F);

# this is the grok pattern I want to expand
$pattern='%{IP:junk} %{COMBINEDAPACHELOG:junk2}';

while ($pattern =~ /(%\{([^:\}]+):?[^\}]*\})/) {
$name = $2;
substr($pattern,$-[0],$+[0]) = $pattern{$name};
}
print $pattern,"\n";

关于logstash - 获取 grok 过滤器转换为的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26524619/

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