首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Splunk:找出两个事件之间的区别

Splunk:找出两个事件之间的区别
EN

Stack Overflow用户
提问于 2018-12-11 21:59:29
回答 2查看 526关注 0票数 1

我有一个带有两个API的服务器:/迁移/开始和/迁移/结束

对于每个请求,我使用要迁移的服务记录用户的userID ( usrid=""),并记录名为( api="")的api。

用户调用/迁移/启动,然后调用/迁移/结束。我想编写一个slunk查询,列出正在迁移的用户I,即调用/迁移/开始但尚未调用/迁移/结束的用户I。我该怎么写那个查询呢?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-12 00:29:54

假设日志中只有2个api调用(开始/结束),则可以使用stats命令来完成此操作。

代码语言:javascript
运行
复制
| your_search
| stats values(api) as api by usrid
| where api!="/migrate/end"

这使每个用户完成的所有api调用都会聚在一起,并删除了调用/migrate/end的api调用。

票数 1
EN

Stack Overflow用户

发布于 2018-12-12 00:58:14

一般的方法是获取所有的开始和结束事件,并通过用户ID来匹配它们。为每个用户获取最近的事件,并丢弃那些“迁移/结束”的事件。剩下的是所有正在进行的迁移。就像这样:

代码语言:javascript
运行
复制
index = foo (api="/migrate/start" OR api="/migrate/end") 
| stats latest(api) by usrid 
| where api="/migrate/start"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53732965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档