因为我只用 grafana,但是并不给他写查询,所以我对他的原理完全不懂。
大体上来说,我们直接针对数据库(vertica)写查询,然后把查询发给 grafana team,然后他们把 vertica 查询转换成 grafana 的格式,最后给我们展示监控图表。
比方说我需要查看毛利,需要刷新时间设定为每五分钟:
SELECT SUM(GrossRevenue) FROM Fact_Revenue WHERE GrossRevenue > 0;
然后 Grafana 就能每五分钟刷新图表。
但是我一直有一个疑问,就是我们其实用 grafana 做很多展示,可能同时有二三十个查询需要每五分钟运行一次,那是如何保证没有把数据仓库搞跨掉?不好意思我也不知道我问的这个问题是否问得恰当。
我现在想要自己练手用 Python 写个类似的系统,实现如下的简单功能:也就是说用户可以在 UI 中输入他想要聚合的列、需要刷新的频率,然后我就每 X 分钟更新一次图表。问题是我如何解决以下问题:
WHERE EventTime BETWEEN {LastRun} AND {LastRun + 300}
,总之就是做累加查询。但是我觉得我的想法似乎也不成熟。。。不知道诸位朋友有没有写过类似的简单系统?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.