我需要从日志中获取数百万个条目(跨越过去几年),并且不知何故,使用时间戳字段,确定哪些时段(使用星期几作为分组条件)显示最少的活动。 目标是表明,例如,在02:00和04:00之间的星期三历史上显示最低活动水平。 所以,我想象一个图表,在X轴上有时间段(00:00-00:14,00:15-00:29,00:00-00:44 ......或类似的...你得到想法)和Y轴上的日志活动的某种表示。它将显示7个图形线,一周中的每一天。这将使从图中确定哪个时期最安静变得微不足道。
我以前没有亲自使用Kibana,但据我所知,这似乎是用于此类任务的最佳工具。
是否有功能或插件,或具有此功能的?或者我是否需要为此开发自定义解决方案?
答案 0 :(得分:0)
最后,我放弃了Kibana / Elastic。可能有一种方法,但我只是使用MySQL:
SELECT
t.bucket,
COALESCE(SUM(total), 0) AS total
FROM
tmp_time_bucket t
LEFT JOIN
(SELECT
DATE_FORMAT(FROM_UNIXTIME(FLOOR((UNIX_TIMESTAMP(launchtime)) / 300) * 300), '%H:%i:00') AS bucket,
COUNT(launchtime) AS total
FROM
launchjobs
WHERE
launchtime <> '0000-00-00 00:00:00'
AND DAYNAME(launchtime) = 'wednesday'
GROUP BY FROM_UNIXTIME(FLOOR((UNIX_TIMESTAMP(launchtime)) / 300) * 300)
ORDER BY launchtime ASC) m ON t.bucket = m.bucket
GROUP BY bucket
ORDER BY bucket ASC
...其中tmp_time_bucket
是一个包含名为bucket
的单个VARCHAR(8)列的表,其中包含24小时内所有288个5分钟的时间段("00:00:00", "00:05:00", ... "23:50:00", "23:55:00"
,你明白了)
我运行了7次,每天运行一次,并将结果集导出为CSV。然后我使用了http://plot.ly并导入了数据并制作了我需要的图表,如果你感兴趣的话可以在这里看到:https://plot.ly/~theplankmeister/7/?share_key=FZERWAphDIQsa1swGtixb7
查看图表,我可以很容易地看到我在数据中寻找的答案是星期四22:45到星期五00:55。
希望这可以帮助将来的某个人!