Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Search 如何从Splunk中的新评估字段名中搜索事件的值?_Search_Eval_Encode_Splunk - Fatal编程技术网

Search 如何从Splunk中的新评估字段名中搜索事件的值?

Search 如何从Splunk中的新评估字段名中搜索事件的值?,search,eval,encode,splunk,Search,Eval,Encode,Splunk,我需要搜索包含从新字段名生成的特定值的事件。这就是我试图实现的目标: index=app sourcetype=source | eval uri_t = "uri:type:subtype:123-5678:DATA_REFERENCE:DATA1:999:123-5678:DATA2:DATA_REFERENCE2:123456" | eval uri2=replace(uri_t, "\:", "%3A") | search

我需要搜索包含从新字段名生成的特定值的事件。这就是我试图实现的目标:

index=app sourcetype=source 
| eval uri_t = "uri:type:subtype:123-5678:DATA_REFERENCE:DATA1:999:123-5678:DATA2:DATA_REFERENCE2:123456" 
| eval uri2=replace(uri_t, "\:", "%3A") 
| search uri2
基本上,我使用replace和eval函数将url的一部分编码为字段名uri2,然后我需要在编码值的结果中进行专门搜索。但使用搜索似乎会搜索“uri2”,而不是整个编码字符串

注意,我不得不使用replace对url的一部分进行编码,因为splunk中似乎没有编码函数


如有任何帮助,我们将不胜感激。

如您所知,
search
命令将搜索整个事件。要查找字段中的文本,请使用以下命令之一

| where match(uri2, "<regex>")

| regex uri2="<regex>"

请注意,
rex
必须包含一个命名的捕获组。组名将成为
rex
将匹配文本放入的字段。

事实上,我在写问题时犯了错误,我正在查找包含解码值的事件。Splunk有一个
urlcode
函数。我认为Splunk只有urldecode,但没有urlcode one。我的意思是说Splunk有一个
urldecode
函数。使用它来解码URL,然后进行字符串匹配/提取。那么rex/match命令将返回包含该字符串的事件?
| rex field=uri2 "<regex>"