使用 dedup 查找唯一主机。如何找到选定时间范围内的平均值?
Using dedup to find unique hosts. How can I find an average for the selected time frame?
目标是提供百分比可用性。我想每 15 分钟检查一次服务器 1、服务器 2 和服务器 3 的唯一计数是否在每个时间间隔都等于 3(表明系统完全健康)。根据这个计数,我想检查在 splunk 中选择的任何时间段的平均值以输出平均值并转换为百分比。
index="os" sourcetype=ps host="server1" OR host="server2" OR host="server3"
| search "/logs/temp/random/path" OR "application_listener"
| dedup host
| timechart span=30m count
每个间隔的计数应为 3。
不清楚示例 SPL 解决了多少您的需求,所以我假设它什么都不做。
dedup
后跟 timechart
意味着 timechart
命令只会看到 3 个事件 - 每个主机一个。这并不能构成有用的图表。我建议使用 dc(host)
,而不是获取每个时间间隔的主机数。
appendpipe
命令可用于在末尾添加平均值和百分比值。
index="os" sourcetype=ps host="server1" OR host="server2" OR host="server3"
| search "/logs/temp/random/path" OR "application_listener"
| timechart span=30m dc(host) as count
| appendpipe [ stats avg(count) as Avg | eval Pct=round(Avg*100/3,2) ]
目标是提供百分比可用性。我想每 15 分钟检查一次服务器 1、服务器 2 和服务器 3 的唯一计数是否在每个时间间隔都等于 3(表明系统完全健康)。根据这个计数,我想检查在 splunk 中选择的任何时间段的平均值以输出平均值并转换为百分比。
index="os" sourcetype=ps host="server1" OR host="server2" OR host="server3"
| search "/logs/temp/random/path" OR "application_listener"
| dedup host
| timechart span=30m count
每个间隔的计数应为 3。
不清楚示例 SPL 解决了多少您的需求,所以我假设它什么都不做。
dedup
后跟 timechart
意味着 timechart
命令只会看到 3 个事件 - 每个主机一个。这并不能构成有用的图表。我建议使用 dc(host)
,而不是获取每个时间间隔的主机数。
appendpipe
命令可用于在末尾添加平均值和百分比值。
index="os" sourcetype=ps host="server1" OR host="server2" OR host="server3"
| search "/logs/temp/random/path" OR "application_listener"
| timechart span=30m dc(host) as count
| appendpipe [ stats avg(count) as Avg | eval Pct=round(Avg*100/3,2) ]