csv - Splunk 查找 csv 文件包含多次出现的项目。需要为 csv 中的每个唯一时间戳范围在索引中查询这些项目
问题描述
以 CSV 格式查找Test2.csv
,其中 EVENT_ID 可以有多个 SiteID 字段,SiteID 可以有多个 EVENT_ID。只有 SiteID 是 splunk 索引中的一个字段。
YEAR, SiteID, earliest_date, latest_date, EVENT_ID
2019, AB111, 1560988800, 1562112000, ABSE00350
2019, AB111, 1562198400, 1563321600, ABSE00351
2019, AB111, 1548892800, 1550016000, ABSE00352
2019, AB112, 1548892800, 1550016000, ABSE00352
我使用查找来查询索引,计算每一行的 KPI。
索引中的理想查询输出(针对 SiteID 和 EVENT_ID 的唯一组合计算的 KPI)pm_busy_half_hour
:
SiteID, KPI, EVENT_ID
AB111, 68.4, ABSE00350
AB111, 74.3, ABSE00351
AB111, 22.1, ABSE00352
AB112, 34.5, ABSE00352
这是我的代码的顶部,我在其中执行 inputlookup,然后继续从索引中的数据计算 KPI。然而,它只给了我一个 SiteID 聚合的结果,而不是根据需要每行唯一。
index=pm_busy_half_hour
[| inputlookup Test2.csv
| rename earliest_date as earliest, latest_date as latest
| table SiteID earliest latest
]
.....
.....
.....
请指教
解决方案
您的搜索不起作用的原因是您的搜索有多个最早和最晚时间,这些时间最终会合并在一起,难以计算每个 KPI 的结果。
我建议你看的是map
命令。
| inputlookup Test2.csv
| map search="index=pm_busy_half_hour earliest=$earliest_date$ latest=$latest_date$ | where SiteId=$SiteId$ | stats count" maxsearches=100
这将为查找中的每个时间段运行单独的搜索。您可能需要将 stats 命令修改为不同的 KPI 计算
推荐阅读
- double - oubleSpinBox 显示的值不正确
- jquery - 的最后一个孩子
- 不服从其他孩子的作风
- php - imap_setflag_full 无法更改邮件状态
- javascript - 显示来自forloop的数组结果 - JS
- c# - 我们可以使用 Physics.Simulate 检测刚体何时发生碰撞吗?
- javascript - 如何在 jsfiddle 中显示控制台
- matlab - 如何绘制此波形
- html - 屏幕阅读器在导航时读取额外内容
- apache-kafka - 您如何设置 Hyperledger Fabric OSN 以通过 SSL 与 Kafka 集群通信?
- python - Apache Python 内部服务器错误 500