Grafana的介绍与使用

Python021

Grafana的介绍与使用,第1张

Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。

①可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志。

②报警:可视化地为最重要的指标定义警报规则。Grafana将持续评估它们,并发送通知。

③通知:警报更改状态时,它会发出通知。接收电子邮件通知。

④动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部。

⑤混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源。

⑥注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记。

⑦过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。

Dashboard的建立都是基于某一个数据源的,所以要先加一个数据源。

可视化方式有很多种,不过Graph、Table、Pie chart 这三种基本就已经满足数据展现要求了。

把这个Graph折线图Copy一份,改一下展现方式即可。

注意:默认添加完table后,如果有数字,会以K为单位,比如将300000展示位30k。

数字展示方式修改,Add column style:

当表格中出现数据后,需要通过筛选条件进行筛选,grafana提供了模板变量用于自定义筛选字段。

Type:定义变量类型

Query:这个变量类型允许您编写一个数据源查询,该查询通常返回一个 metric names, tag values or keys。例如,返回erver names, sensor ids or data centers列表的查询。

interval:interval值。这个变量可以代表时间跨度。不要按时间或日期直方图间隔硬编码一个组,使用这种类型的变量。

Datasource:此类型允许您快速更改整个仪表板的数据源。如果在不同环境中有多个数据源实例,则非常有用。

Custom:使用逗号分隔列表手动定义变量选项。

Constant:定义一个隐藏常数。有用的metric路径前缀的dashboards,你想分享。在dashboard export,期间,常量变量将作为一个重要的选项。

Ad hoc filters:非常特殊类型的变量,只对某些数据源,InfluxDB及Elasticsearch目前。它允许您添加将自动添加到使用指定数据源的所有metric查询的key/value 过滤器。

上面的Table和Graph分别使用了interval和query来定义变量进行筛选,不再重复。

grafana只有graph支持告警通知。

grafana的告警通知渠道有很多种,像Email、Teams、钉钉等都有支持。

在grafana.ini中开启告警:

要能发送邮件通知,首先需要在配置文件grafana.ini中配置邮件服务器等信息:

Grafana是个功能强大、展现层很漂亮的数据可视化监控工具,本篇主要介绍了Grafana基于MySQL数据源的安装及常用姿势,也支持其他数据源如ElasticSearch、InfluxDB等。更多内容可看 官网

  GO (Gene Ontology )是一个基因功能的国际标准分类体系。意在从分子功能 (Molecular Function)、生物过程 (Biological Process)、和细胞组成 (Cellular Component) 三个层面对基因和蛋白质功能进行限定和描述,建立一个适用于各种物种并能随着研究不断深入而更新的语言词汇标准。

  GO富集分析已经算是很常规的分析内容,可以很方便地将分析得到的基因集归类到不同的GO条目,从而让研究者可以轻松地得知这些基因都参与哪些生物过程。GO分析的操作这里就不再赘述了,网上有很多相关的帖子,基本上常规的物种用clusterProfiler包就可以解决了。今天我想来谈谈如何可视化GO分析的结果。对于GO富集结果的可视化,最常见的就是用条形图和气泡图来展示部分关注的条目。

  上面两种展现形式最为常见,可以很好地展示关注的条目。我们都知道有时候GO富集的条目会很多,如果想整体预览一下,有没有什么方法可以展示所有条目都涉及哪些功能呢?答案是肯定的。下面就来介绍一下simplifyEnrichment包是如何展示GO富集结果的。这里用该包中数据做一个演示。

结果如下图:

  结果看起来还是有点高大上的感觉,从图中可以看出496个GO条目根据条目名称的语意相似性被分成9个大类,每个大类右边有注释条,标明了每个类中涉及的条目关键字,有点类似词云的感觉。

  该包使用起来很简单,虽然不能准确的展示每个GO条目,但可以从整体上概览GO条目都涉及哪些方面,对于后续筛选还是很有帮助的。该包还有更为细节的用法,这里就不再赘述了,感兴趣的可以自己去摸索。按照惯例最后附上官方说明链接: Simplify Functional Enrichment Results 和 Word Cloud Annotation 。

今天给大家推荐是由Social Explorer团队开源的gods框架,自称"上帝",听这个名字就很霸气,正确的解释是GoDS(Go Data Structures),是数据结构与算法相关的框架。

全能战士,该框架覆盖了数据结构与算法里,大部分容器、集合类的实现, 比golang 的标准开发包提供更丰富的数据结构。

在Go中实现各种数据结构和算法。

吸取了其他算法库数十年的知识和经验。

通过针对给定的一组问题使用最佳算法和数据结构来避免消耗内存,例如, 在TreeMap的情况下,红黑树避免在内存中保留冗余排序的键数组。

结构良好的库,具有简单的原子操作集,胜任复杂的数据操作。

保持库向后兼容

可参考的例子非常多

可以方便集成到产品中.

没有额外的导入.当实现算法的时候,我们通常要在时间效率与内存消耗之间权衡,我们选择在内存首先的情况下,不断优化得到最好的时间效率线程安全不是重点,应该在更高的应用层上处理。

囊括了列表,栈,图,树等基本数据结构 ,集合实现了HashSet, TreeSet, LinkedHashSet,列表实现ArrayList, SinglyLinkedList, DoublyLinkedList,对栈实现LinkedListStack, ArrayStack,图实现了HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap,树实现了RedBlackTree, AVLTree, BTree,BinaryHeap,都经过性能测试的考验,值得信赖。

对于Golang开发而言,gods对底层数据结构做很好的封装,Social Explorer团队在数据处理领域,数据可视化领域有极具竞争力的产品,相信在数据处理领域有很深的积淀,才创造这么优秀的框架,由于篇幅限制,相关图片展示效果不好,感兴趣的上官网去看看。

官网: https://www.socialexplorer.com/

GitHub https://github.com/emirpasic/gods

希望大家能从emirpasic/gods学到有价值的东西。

愿我们在Go 语言的学习之路上 从此结伴而行