Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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
Logstash 在grok中对变长点分隔字符串进行配对_Logstash_Logstash Grok - Fatal编程技术网

Logstash 在grok中对变长点分隔字符串进行配对

Logstash 在grok中对变长点分隔字符串进行配对,logstash,logstash-grok,Logstash,Logstash Grok,我是新的logstash和grok过滤器。我正在尝试使用logstash中的grok筛选器解析Apache访问日志中的字符串,其中用户名是访问日志的一部分,格式如下: name1.name2.name3.namex.id 我想构建一个名为USERNAME的新字段,其中的名称为name1.name2.name3.namex,id已去掉。我让它工作,但问题是名称的数量是可变的。有时有3个名字(lastname.firstname.middlename),有时有4个名字(lastname.first

我是新的logstash和grok过滤器。我正在尝试使用logstash中的grok筛选器解析Apache访问日志中的字符串,其中用户名是访问日志的一部分,格式如下:

name1.name2.name3.namex.id
我想构建一个名为USERNAME的新字段,其中的名称为name1.name2.name3.namex,id已去掉。我让它工作,但问题是名称的数量是可变的。有时有3个名字(lastname.firstname.middlename),有时有4个名字(lastname.firstname.middlename.suffix-SMITH.GEORGE.ALLEN.JR)

%{WORD:lastname}.%{WORD:firstname}.%{WORD:middle}.%{WORD:id}

如果有4个或4个以上的名称,则无法正确解析。我希望有人能帮助我使用正确的grok筛选器。我知道我缺少了一些可能非常简单的内容。

您可以使用两种模式,添加另一种模式,在有4个字段时匹配:

%{WORD:lastname}.%{WORD:firstname}.%{WORD:middle}.%{WORD:suffix}.%{WORD:id}
但在本例中,您创建的字段听起来好像您根本不想要

如果有一种模式将ID分离,将所有内容都放在前面,也许:

%{DATA:name}.%{INT}