IT编程 > 数据库 > Mysql

24H玩转 Grafana 被工程师称相当专业,如何做到?

36人参与2019-10-09

国庆假期发生了两件小事,其一是我默默度过 35 周岁生日,其二是玩了下grafana `并在节后第一天被工程师 m 称赞:相当专业。

1、我为什么要玩 grafana 呢?

数月前我提交了一份数据后台需求给工程师 m,他选用和部署了 grafana 这个第三方开源的工具,仅用两三天就完成了这份需求。这效率相当快,令我对 m 和 grafana 印象深刻。但我仍不满足,m提交的成品所有数据都图形化的而我更想要表格样式的数据。为了进一步整合其它数据进行统计分析,我还需手动导出数据,并写了复杂的 python 脚本用 pandas 做统计分析,每周至少运行一次。我常常冒出新的数据需求,它们并不大,但走一遍需求评审、排期开发验收的流程,似乎还挺麻烦的。

这些都还只算铺垫,真正的导火索是国庆假期前的 sprint 总结会上提及我们几个产品的数据将整合到 grafana 统一实现。 cto 曾对我提及如果我懂些 sql 语句,可以自己写。——哈?我懂点 sql 语句的吖,这不刚整理了一份笔记嘛。我处于 “sql 不过如此,放马过来啊”的大无畏状态-_-||

国庆假期来了,那就玩玩儿看呗。

2、短时间如何上手 grafana

m之前为了开发我的需求,已经完成了 grafana 的部署,并设置好了数据源。这次他专门创建了一个练习用的 dashboard 并开通编辑权限给我。特别说明,我的编辑权限仅有数据源的查询权,没有增删改的权限,这对数据源是安全的。另外,m 已有的实现也让初次上手的我可以照葫芦画瓢。这些是我比完全零准备的 grafana 新手占便宜的地方。

我并不想把 m 已经开发的需求重新实现一遍,我想要实现自己的数据需求。——想要什么数据,以什么样式呈现,我脑子里的需求俯拾即是。

学习过程具体分为三个部分:

a 部分,搜了两篇 grafana 如何使用之类的文章,大概浏览下即可。总是照着别人整理的步骤图按部就班,学习体验不好。大部分时候,我都是直接鼓捣。这种开源的可视化的工具,自己尝试一下就能快速熟悉起来。

b 部分,当个伸手党,让工程师帮忙把所有表格 describe 导出也 ok 的;m给我的是一份表格的类定义文件。通过 a 部分的探索,我很快发现,在 dashboard 上创建一个模块,如果选择折线图类型,sql 语句编辑区可以任人挑选表格名称,这样有哪些数据表格就清楚了;如果选择表格类型,并使用select * from table_name limit 50 ,就能呈现该表的部分数据,这样该表格有哪些字段也就清楚了。

c 部分,我把 m 之前实现的 sql 语句单独拷贝到 jupyter notebook 里,自己拆解为更基础的知识点,然后一点点熟悉了解。一个小技巧是,对于新手来说 sql 语句的易读相当重要,能直接降低复杂度。所以我采用 markdown 语法如下,语法呈现就很清晰了:
image

以上三个部分无需按顺序进行。自己对哪个模块更感兴趣,就先开始哪个;过程中也可交叉轮换进行。接下来就是通过实现自己的数据需求,反复重复巩固并深入 以上 3 个部分,直至产生令自己满意的产出。为此投入的时间开销24~48h 足够啦,完全不耽误假期陪家人、睡懒觉、看电影。

image

3、对职场分工保持清醒

最后需要强调一下,我很清楚自己并不想要取代工程师完成数据后台的开发。比如:
1、一些复杂需求,我自己写sql,很难,学起来也慢。这些我会陆续收集罗列出来,走排期,请工程师帮忙,不会自己硬钻进去。
2、即便最终我完成了非常多的图表,但实际上我只考虑实现,不考虑性能(也暂无能力考虑),所以即便是我写出来的功能,也需要工程师把关和优化。

即便如此,我直接接触数据源并动手用 grafana 实现,也有很显著的好处:
1、我更清楚原始数据已采集了哪些,哪些指标是我可以定义和统计的,哪些是需要工程师进一步支持的。
2、一些相对简单的、对业务有帮助的数据监控/统计,我能直接实现。无需 整理描述需求-和工程师沟通-工程师理解后实现-我再验收这样复杂的过程。
3、作为需求的发起者,我那些不成熟的需求,自己动手过程中迭代起来也会非常效率。

当然这些想法是需要和工程师、上级沟通清楚的,这样才不至于产生误解吖。如果我的笔记对你有帮助,那就点赞或留言告诉我吧!

您希望与广大热心网友互动!!点此进行留言回复

相关推荐

24H玩转 Grafana 被工程师称相当专业,如何做到?

10-09

如何设计高效合理的MySQL查询语句

06-05

mysql8.0.15安装

04-08

linux系统中重置mysql的root密码

06-05

微信开发中mysql字符编码问题

06-05

正确使用MySQL INSERT INTO语句

06-05

正确使用MySQL update语句

06-05

MySQL中基本的用户和权限管理方法小结

07-04

PXC快速入门

07-25

MySQL基础--字符函数

05-30

最近更新

Linux搭建MySQL主从

10-20

MySQL实战45讲

10-20

“GIS DICTIONARY A-Z” 查询页面开发(2)——INSERT INTO数据库

10-20

MySQL如何进行索引重建操作?

10-20

MySQL truncate含有外键约束的条目报错

10-20

MySQL复制从库建立-xtracebackup方式

10-19

Python学习日记(四十) Mysql数据库篇 八

10-19

mysql查询表大小

10-19

MySQL修炼之路一

10-19

MySQL修炼之路二

10-19

网友评论

已有0条评论