grafana是一款强大的监控与报表查看工具,其设计理念是开放式,由其他第三方主动进行集成,grafana提供完善的基础能力支持,简单说就是grafana提供的是一个集成化平台,但具体的集成工作交由各软件商及个人开发者实现,其扩展点如下:
1.提供插件机制供第三方软件扩展
2.提供不同的Dashboard模板及图表展示配置参考,开发人员可以编写不同的报表呈现模板供他人使用;
3.通过SimpleJSON插件,开发人员可以将业务数据可以直接在grafana上呈现
4.通过无代码可以直接将数据库数据使用grafaan展现
本文我们将先拿第四种方案做一个尝试:
1.建立数据源
我们使用mysql建立一个疫情数据库
数据获取
疫情数据很多网站上都有,可以自行提取,或者写个小爬虫程序获取;
笔者临时用下数据就直接使用F12模式从腾讯https://news.qq.com/zt2020/page/feiyan.htm#/global
抓取JSON,然后用http://www.yzcopen.com/doc/jsonexcel在线将JSON数据转excel并导入到mysql数据库,整个过程不到10分钟。
数据结构
收集了当前几个疫情较严重的国家数据导出成Excel如下图
数据导入到MySql表中供使用,数据表名:nCov,导入后共计488条
MySql数据表
创建DataSource
grafana添加数据源
2.创建Dashboard报表
新建Dashboard点击Add Queue,然后选择我们刚才添加的数据源:
数据源选择
配置相关查询参数
数据参数配置
也可以切换到SQL模式编写,上图界面配置后其生成的SQL如下:
SELECT
date AS "time",
country AS metric,
confirm as '累计',
confirm_add AS "新增"
FROM nCov
WHERE
$__timeFilter(date)
ORDER BY date
SQL中我们可以为字段命别名,便于查看
配置样式
样式
全部配置完毕后,我们保存该Dashboard,效果如下图:
最终效果
3.总结
本文演示了如何使用grafana无代码将mysql数据呈现成报表,整个过程从制造数据到报表配置完成不到1小时,你可以继续再按此方案添加其他数据源面板,拼成一张完成的报表监控页面。
另外结合数据库+SimpleJson方式可以完成更多意想不到的效果。
网友评论