我试图绘制2小时内1小时tomcat日志之间的比较(同一时间,例如本周二下午2-3点,上周二下午2-3点)。
我已经看到了两种解决方案。
这描述了在整个时间段内执行单个报告,并且(有效地)丢弃了我感兴趣的时段之外的结果。(好吧,它更多地描述了与连续时间段的比较,但是你可以弄清楚如何放弃介入的忽略的结果。)
append
在一段时间内进行搜索并在一段时间内操纵_time
:sourcetype="ws-logs" source="/var/local/catalina/logs/localhost_access_log.*"
"/importantCall" AND httpStatusCode>=200 AND httpStatusCode<300
earliest=-60m@h latest=-0m@m
| eval marker="today"
| append [search
sourcetype="ws-logs" source="/var/local/catalina/logs/localhost_access_log.*"
"/track/sale" AND httpStatusCode>=200 AND httpStatusCode<300
earliest=-10140m@h latest=-10080m@m
| eval marker="weekAgo"
| eval w1_time=_time+(7*24*60*60)]
| eval _time=if(isnotnull(w1_time), w1_time, _time)
| chart
count(eval(marker=="today")) as lastHour
, count(eval(marker=="weekAgo")) as sameTimeLastWeek
by _time span=10m
| rename _time AS Time
| eval Time=strftime(Time, "%H:%M")
在这里解释一下,我快照开始时间段的前一小时的开始,因此您可能会看到超过1小时的数据。我将图表的时间轴格式化为仅显示小时/分钟,因为显示日期错误。
好的,现在由于数据量大,整个时间段的报告都是非跑步者,数据太多(特别是因为我丢弃了98.8%的数据[保持120分钟的总数] 10200分钟的数据])。
第二次搜索工作正常并很好地绘制数据图表。
然而,如果我安排此搜索,则只运行初始搜索,而不是append
ed。有没有人知道更好的解决方案或我需要做些什么才能使预定的搜索正确追加?
由于
如果我从“搜索”中运行报告,则会显示结果。应用程式:
Time lastHour sameTimeLastWeek
1 13:00 35 43
2 13:10 50 47
3 13:20 72 50
4 13:30 75 38
5 13:40 108 51
6 13:50 100 32
7 14:00 24 11
8 14:10 47 32
9 14:20 38 56
同一时期的预定搜索结果:
Time lastHour sameTimeLastWeek
1 13:00 35 0
2 13:10 50 0
3 13:20 72 0
4 13:30 75 0
5 13:40 108 0
6 13:50 100 0
7 14:00 24 0
8 14:10 47 0
9 14:20 38 0
答案 0 :(得分:1)
首先,当你获得大量数据时,尽量不要使用“追加”。它的结果在某些时候被截断,我相信默认值是50,000个事件。检查文档中的limits.conf。
这是我认为你要提及的另一篇博客。它最近更新为在Exploring Splunk书中提到了一个更好的解决方案,该书是在线提供的全文,并在帖子的最后提到。除了上面的“附加”限制外,此博客文章在解释概念方面做得非常出色:
http://blogs.splunk.com/2012/02/19/compare-two-time-ranges-in-one-report/
或者直接阅读第85页的书,标题为:图表周周结果:
http://www.splunk.com/goto/book