简介

Grafana 是一个开箱即用的可视化工具,具有功能齐全的度量仪表盘和图形编辑器,有灵活丰富的图形化选项,可以混合多种风格,支持多个数据源特点,大多使用在时序数据的监控方面,如同Kibana类似。Grafana的UI更加灵活,有丰富的插件,功能强大。

官方地址

grafana监控页面展示:

grafana展示

grafana安装配置(结合prometheus)

官方链接:

架构图:

架构图

环境:

  • CentOS7.5_x64
  • grafana-5.3.4-1

默认端口:3000

1. 下载安装

安装依赖go环境

1
yum install -y go
1
2
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.3.4-1.x86_64.rpm
yum install -y grafana-5.3.4-1.x86_64.rpm

安装包信息:

  • 二进制文件: /usr/sbin/grafana-server

  • init.d 脚本: /etc/init.d/grafana-server

  • 环境变量文件: /etc/sysconfig/grafana-server

  • 配置文件: /etc/grafana/grafana.ini

  • 启动项: grafana-server.service

  • 日志文件:/var/log/grafana/grafana.log

  • 默认配置的sqlite3数据库:/var/lib/grafana/grafana.db

2. 服务管理

1
2
3
systemctl daemon-reload
systemctl start/stop/status/restart grafana-server
systemctl enable grafana-server.service

默认以grafana用户启动grafana进程,grafana 用户是在安装过程中自动创建的,默认http端口:3000,默认用户和密码是都admin

3. 安装图像渲染依赖

服务器端图像(PNG)渲染是可选的功能,但在共享可视化时非常有用,例如在警报通知中。如果图像缺少文本,请确保已安装字体包。

1
yum install -y fontconfig freetype* urw-fonts

配置grafana

配置文件:/etc/grafana/grafana.ini

grafana.ini注释是分号’;’,

下面列出的配置文件中的选项都可以被环境变量覆盖,即’.‘会被’_'替换,语法:

GF_<SectionName>_<KeyName>

配置文件选项:

1
2
3
4
5
6
7
8
# default section
instance_name = ${HOSTNAME}

[security]
admin_user = admin

[auth.google]
client_secret = 0ldS3cretKey

环境变量替换:

1
2
3
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=true
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey

配置详细参考官方文档

配置好后,启动grafana

1
systemctl start grafana-server

访问链接:http://host_ip:3000,也可使用nginx做反向代理

grafana基本概念

1. 数据源

Grafana支持许多不同的时间序列数据(数据源)存储后端。每个数据源都有一个特定的查询编辑器,该特定的查询编辑器是针对特定数据源公开的功能和功能而定制的。

正式支持以下数据源:

  • Graphite
  • InfluxDB
  • OpenTSDB
  • Prometheus
  • Elasticsearch
  • CloudWatch。

每个数据源的查询语言和功能显然是非常不同的。您可以将来自多个数据源的数据合并到单个仪表板上,但每个面板都与属于特定组织的特定数据源相关联。

2. 组织

Grafana支持多个组织,以支持各种部署模式,包括使用单个Grafana实例为多个潜在的不受信任的组织提供服务。

在很多情况下,Grafana将部署在一个单一的组织中。

每个组织都可以有一个或多个数据源。

所有仪表板由特定组织拥有。

注意:请务必记住,大多数度量数据库不提供任何类型的个人用户系列身份验证。因此,在Grafana中,数据源和仪表板可用于特定组织中的所有用户。

3. 用户

用户是Grafana的命名帐户。用户可以属于一个或多个组织,并可以通过角色分配不同级别的权限。

Grafana支持各种各样的内部和外部方式供用户验证自己。这些包括从其自己的集成数据库,外部SQL服务器或外部LDAP服务器。

4. 行

行是仪表板内的逻辑分隔符,用于将面板组合在一起。

行总是12“单位”宽。这些单位根据浏览器的水平分辨率自动缩放。您可以通过设置自己的宽度来控制一行中面板的相对宽度。

使用抽象单位,使Grafana在所有的屏幕上看起来都很棒,而且体积很小。

注意:使用MaxDataPoint功能,无论您的分辨率还是时间范围,Grafana都可以为您显示完美的数据点数量。
根据所选的模板变量,利用重复行功能动态创建或删除整个行(可以填充面板)。

可以通过单击行标题来折叠行。如果您保存了一个折叠的行的仪表板,它将保存在该状态,并且不会预加载这些图,直到该行被展开。

5. 面板

面板是Grafana的基本可视化构建块。每个面板提供一个查询编辑器(取决于面板中选择的数据源),允许您通过使用查询编辑器提取完美的可视化以在Panel上显示
每个Panel都有各种各样的造型和格式化选项,让您创建完美的图片。

面板可以在仪表板上拖放并重新排列。他们也可以调整大小。
目前有四种面板类型:Graph,Singlestat,Dashlist,Table和Text。
像“ 图形”面板的面板允许您根据需要绘制出许多指标和系列。像Singlestat这样的其他面板需要将单个查询减少到单个数字。Dashlist和Text是不连接到任何数据源的特殊面板。

通过在面板配置中使用Dashboard Templating变量字符串(包括通过查询编辑器配置的数据源的查询),可以使面板更具动态性。
利用重复面板功能,根据所选择的模板化变量动态创建或删除面板。

面板上的时间范围通常是仪表板时间选择器中设置的时间范围,但可以通过使用面板特定时间覆盖来覆盖。

面板(或整个仪表板)可以通过各种方式轻松共享。您可以发送链接到有谁登录您的Grafana的人。您可以使用快照功能将当前正在查看的所有数据编码为静态和交互式JSON文档; 它比通过电子邮件屏幕截图好得多!

6. 查询编辑器

查询编辑器公开了数据源的功能,并允许您查询其包含的指标。
使用查询编辑器在时间序列数据库中构建一个或多个查询(一个或多个系列)。该面板将立即更新,允许您实时有效地探索数据,并为该特定面板构建完美的查询。

您可以在查询本身的查询编辑器中使用模板变量。这提供了一种基于“仪表板”上选择的“模板化”变量动态探索数据的强大方法。

Grafana允许您在查询编辑器中按照它们所在的行来引用查询。如果您向图形添加第二个查询,则可以通过键入#A来引用第一个查询。这提供了一种简单而方便的方法来构建复合查询。

7. 仪表板

仪表板是所有在一起的地方。仪表板可以被认为是由一组或多组组成并排列成一行或多行的组件。
仪表板的时间段可以由仪表板右上方的仪表板时间选择器控制。

仪表板可以利用模板来使它们更具动态性和交互性。
仪表板可以使用注释来显示面板上的事件数据。这可以帮助将Panel中的时间序列数据与其他事件相关联。
仪表板(或特定面板)可以通过各种方式轻松共享。您可以发送链接到有谁登录您的Grafana的人。您可以使用快照功能将当前正在查看的所有数据编码为静态和交互式JSON文档; 它比通过电子邮件屏幕截图好得多!

仪表板可以被标记,仪表板选择器可以快速,可搜索访问特定机构中的所有仪表板。

grafana使用

1. 登录

浏览器访问grafana主机3000端口,默认账号密码均为admin,首次登录会要求更改admin密码

登录界面

2. 创建数据源

首先登入后,第一步是需要配置grafana的数据源,我们以prometheus为数据源来演示

配置数据源

配置以下几个参数即可,按prometheus server的实际情况来配置

配置prometheus

3. 创建或导入Dashboard仪表盘

  • 导入仪表盘

若已有仪表盘模板文件(json格式)或直接从官网下载的,可直接导入

导入模板

官方Dashboard模板下载地址

  • 创建仪表盘

点击导航栏"+"按键,选择dashboard,即可进入仪表盘创建界面

创建dashbaord

注意,在add下方的插件列表中,只有一些常用的基本仪表盘/面板/应用等插件,若需要其它的插件,可直接在grafana主机上通过以下命令安装并重载grafana服务

1
2
grafana-cli plugins install 插件名称
systemctl restart grafana

官方插件下载地址

我们以Graph图表示例,选中Graph,点击Edit编辑

添加graph

填写好对应的数据源,指定图形对应的prometheus监控项,然后保存

编辑graph

4. grafana深入用法

  • 告警及规则

  • 用户及组权限管理

  • 模板变量

  • 面板编辑器

  • 高级函数

  • 其它

见链接