If 语句和提取值
If statements and extracting values
我的结果集看起来像
{add=[44961373 (1645499799657512961), 44961374 (1645499799658561538), 44962094 (1645499799659610114), 44962095 (1645499799659610117), 44962096 (1645499799660658689), 44962097 (1645499799660658691), 44962098 (1645499799661707264), 44962099 (1645499799661707267), 44962100 (1645499799662755840), 44962101 (1645499799662755843), ... (592 adds)]}
如果 add=[ 数组中的元素超过 10 个。然后它会将 (x adds) 放在语句的末尾以显示实际添加了多少。如果它少于 10,那么它不会放置 (x adds) 语句。我想要时间表,也想要将这些输出值单值到仪表板(单独的模块)。
我可以得到一个或另一个,但我想使用逻辑来确定报告哪个。
index="index" host="host*" path=/update | eval count=mvcount(add) | stats count
会得到数组的个数
index="index" host="host*" path=/update | stats sum(Adds)
将获得 (x adds) 的值。添加一个 'extracted field'。
我如何获得或?如果添加数组 >10,同样使用 sum(Adds)。
index="index" host="host*" path=/update | eval count=mvcount(add)
| eval first_ten="{add=[".mvjoin(mvindex(add,0,9), ",")." (" (count-10)." adds)}"
| eval msg=if(count<10,_raw,first_ten)
你可以这样做。获取 adds
的计数,创建一个仅包含前 10 个元素的新字符串,最后包含 count-10 adds
消息。然后,根据实际计数,使用原始消息 (_raw
) 或新消息。
我的结果集看起来像
{add=[44961373 (1645499799657512961), 44961374 (1645499799658561538), 44962094 (1645499799659610114), 44962095 (1645499799659610117), 44962096 (1645499799660658689), 44962097 (1645499799660658691), 44962098 (1645499799661707264), 44962099 (1645499799661707267), 44962100 (1645499799662755840), 44962101 (1645499799662755843), ... (592 adds)]}
如果 add=[ 数组中的元素超过 10 个。然后它会将 (x adds) 放在语句的末尾以显示实际添加了多少。如果它少于 10,那么它不会放置 (x adds) 语句。我想要时间表,也想要将这些输出值单值到仪表板(单独的模块)。
我可以得到一个或另一个,但我想使用逻辑来确定报告哪个。
index="index" host="host*" path=/update | eval count=mvcount(add) | stats count
会得到数组的个数
index="index" host="host*" path=/update | stats sum(Adds)
将获得 (x adds) 的值。添加一个 'extracted field'。
我如何获得或?如果添加数组 >10,同样使用 sum(Adds)。
index="index" host="host*" path=/update | eval count=mvcount(add)
| eval first_ten="{add=[".mvjoin(mvindex(add,0,9), ",")." (" (count-10)." adds)}"
| eval msg=if(count<10,_raw,first_ten)
你可以这样做。获取 adds
的计数,创建一个仅包含前 10 个元素的新字符串,最后包含 count-10 adds
消息。然后,根据实际计数,使用原始消息 (_raw
) 或新消息。