SPLUNK:如何使用 SERVERNAME 列表按位置对事件进行计数?

问题描述 投票:0回答:1

我们的splunk实现有SERVERNAME作为预设字段,并且有不同位置的服务器,但没有位置字段。如何按位置统计错误? 我设想了这样的事情,但找不到实现的方法:

index=some_index "some search criteria"
| eval PODNAME="ONTARIO" if SERVERNAME IN ({list of servernames})
| eval PODNAME="GEORGIA" if SERVERNAME IN ({list of servernames})
| timechart span=30min count by PODNAME

有什么想法吗?

count location splunk
1个回答
0
投票

你的想法是对的。以下是在 SPL 中执行此操作的方法。

index=some_index "some search criteria"
| eval PODNAME=case(in(SERVERNAME, {list of servernames}), "ONTARIO",
                    in(SERVERNAME, {list of servernames}), "GEORGIA",
                    1==1, "unknown" )
| timechart span=30min count by PODNAME

不过,有一个更好的方法,因为上面的方法在许多位置上不能很好地扩展,并且如果代码在许多地方使用,可能会变得难以维护。使用查找表。

创建一个包含 SERVERNAME 和 PODNAME 列的 CSV 文件,然后使用查找将服务器名称映射到位置。

index=some_index "some search criteria"
| lookup serverlocation.csv SERVERNAME OUTPUT PODNAME
| timechart span=30min count by PODNAME
© www.soinside.com 2019 - 2024. All rights reserved.