网络知识 娱乐 Grafana 是什么

Grafana 是什么

Grafana 简介

最近在学习各类监控工具的使用,涉及到 Grafana,打算将学习心得记录下来。

熟悉监控的同学都知道,Grafana 是一个可视化工具,简单点说就是用来展示数据的。它和Zabbix、Prometheus 有本质区别,在于它不能解决监控问题,仅用于展示。也就是说,在监控领域,Grafana 需要配合 Zabbix、Prometheus 等工具一起使用,以获取数据源。

Grafana 官方是这么介绍 Grafana 的:grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。

Grafana 官方还对 Grafana 的适用场景以及基本特征作了介绍:

  • grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。
  • grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。

这里需要留意的是,上面官方列举的数据源都是时序型数据库。这也透露出 Grafana 的另一大适用性:Grafana 一般是配合时序数据库做数据展示的。

Grafana 与 Kibana 的区别

Kibana 是运维圈耳熟能详的后端数据实时展示工具。日常工作中,大家都用 Kibana 结合Logstash、ElasticSearch 等组件一起使用做日志展示、索引、分析的。但Kibana也可以接入其他数据源的,只不过最常见的用法还是展示日志。

Grafana 最早其实应该是 Kibana3 的一个分支。不同的是,Grafana 拥有自己的权限管理和用户管理系统,而 Kibana 没有权限管理系统。Kibana 和 ES 结合紧密,支持强大的ES语法,比较适合做一些多维度的分析和查询,而Grafana更适合用于展示,图形比Kibana美观很多。

Grafana 入门--基本概念

在入门 Grafana 前,需要了解一些基本概念。

 

数据源Data Source:Grafana 展示数据,但不提供数据。因此,需要给它配置数据源,目前Grafana 支持的数据源有:Graphite, InfluxDB, OpenTSDB, Prometheus, Elasticsearch, CloudWatch,Zabbix等。

DashBoard:仪表盘,数据展示的窗口。就像汽车仪表盘一样可以展示很多信息,包括车速,水箱温度等。Grafana的 DashBoard 就是以各种图形的方式来展示从 Datasource 拿到的数据。

Row:DashBoard 的基本组成单元,一个 DashBoard 可以包含很多个 row 。一个 row 可以展示一种信息或者多种信息的组合,比如系统内存使用率,CPU五分钟及十分钟平均负载等。所以在一个DashBoard上可以集中展示很多内容。

Panel:面板,实际上就是row展示信息的方式,支持表格(table),列表(alert list),热图(Heatmap)等多种方式。

Query Editor:Query Editor 顾名思义,就是查询语句管理,类似 sql 语句。每个面板都提供一个Query Editor,我们可以通过编写语句来控制面板展示不同的图表。不同的数据源对应不同的Query Editor:当 Grafana 与 Prometheus 结合使用时,对应的是PromQL。

组织Organization:类似于用户组,每个用户可以拥有多个Org,Grafana有一个默认的main org。用户登录后可以在不同的Org之间切换,前提是该用户拥有多个Org。不同的Org之间完全不一样,包括 Datasource,Dashboard 等都不一样。创建一个 Org 就相当于开了一个全新的视图,所有的 Datasource,Dashboard 等都要再重新开始创建。

这里需要注意的是,大多数度量数据库不提供任何类型的每用户系列身份验证。因此,在Grafana中,特定组织中的所有用户都可以使用数据源和仪表盘。

User:这个概念应该很简单,不用多说。Grafana里面用户有三种角色admin,editor,viewer。admin权限最高,可以执行任何操作,包括创建用户,新增Datasource,创建DashBoard。editor角色不可以创建用户,不可以新增Datasource,可以创建DashBoard。viewer角色仅可以查看DashBoard。