首页 > 解决方案 > 不同 api url 的正则表达式并在 splunk 中重命名结果事件

问题描述

我正在尝试在 splunk 中获取以下 api 的事件计数,因为我正在尝试为 api 编写正则表达式,但它没有选择 hypen 不确定如何编写正则表达式以从中提取字段

"GET /v1/resource-plans/store-manager-view?type=
"GET /v1/resource-plans/trend ? xyz=
"GET /v1/resource-plans/store-director-view ? location =
"POST /v1/resource-plans

我尝试了以下表达式,将其选择商店经理和商店总监合二为一,但我需要计算所有 api 不同的行

(?<TYPE>\/v1\/resource-plans\/\w+)

在此处输入图像描述

而且我想重命名字段列类型中定义的结果事件怎么做?以下是我的 Splunk 查询

  index=msc AND app=xyz AND source=resouce NOT message="*/_status" | rex field= message "(?<TYPE>\/v1\/resource-plans\/\w+)
    " | stats count by TYPE

标签: regexsplunksplunk-query

解决方案


关于正则表达式部分,您可以使用

(?<TYPE>/v1/resource-plans(?:/[^/?#]+)?)

请参阅正则表达式演示详情

  • /v1/resource-plans- 文字固定字符串
  • (?:/[^/?#]+)?- 可选的出现
    • /- 一个斜线
    • [^/?#]+- 一个或多个字符,而不是/,?#

推荐阅读