Grafana的介绍与使用

1 简介

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

1.1 七大特点

①可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志。
②报警:可视化地为最重要的指标定义警报规则。Grafana将持续评估它们,并发送通知。
③通知:警报更改状态时,它会发出通知。接收电子邮件通知。
④动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部。
⑤混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源。
⑥注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记。
⑦过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。

2 安装

详细安装教程可参考:http://docs.grafana.org/installation/debian/

2.1 下载安装包

wget <u>https://dl.grafana.com/oss/release/grafana-6.0.1-1.x86_64.rpm</u>

2.2 安装环境依赖

yum install initscripts fontconfig  
yum install freetype
yum install urw-fonts

2.3 安装Grafana服务

rpm -Uvh grafana-6.0.1-1.x86_64.rpm

2.4 插件安装

使用grafana-cli工具安装

#获取可用插件列表

grafana-cli plugins list-remote  

修改图形为饼状
grafana-cli plugins install grafana-piechart-panel
安装其他图形插件
grafana-cli plugins install grafana-clock-panel
#钟表形展示
grafana-cli plugins install briangann-gauge-panel
#字符型展示
grafana-cli plugins install natel-discrete-panel
#服务器状态
grafana-cli plugins install vonage-status-panel

2.5 插件卸载

例:grafana-cli plugins uninstall vonage-status-panel
安装和卸载后需要重启grafana才能够生效

2.6 启动、重启、关闭

启动:service grafana-server start
停止:service grafana-server stop
重启:service grafana-server restart
加入开机自启动: chkconfig --add grafana-server on

2.7 启动测试

默认用户密码:admin/admin, 访问地址:  服务地址 : [http://grafana服务地址:3000](http://localhost:3000/)
如果出现登录界面,代表安装启动成功

3 创建Dashboard

3.1 数据源配置

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

增加MySQL数据源

3.2 可视化方式

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

可视化方式

3.2.1 Graph

注意:只有Graph才能配置告警

新建时间间隔变量

新建时间间隔变量

Graph折线图

Graph折线图
SELECT $__timeGroupAlias(create_time,$__interval), country_name as metric, COUNT(user_id) as '用户数量' FROM `user`
WHERE $__timeFilter(create_time) GROUP BY 1,2 ORDER BY $__timeGroup(create_time,$__interval);
展现方式默认是lines

Graph柱状图

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

改Lines为Bars

3.2.2 Table

创建筛选查询变量

新建一个下拉列表做筛选

用户列表

用户列表
select user_id,user_name,mobile,id_number,country_name,money,create_time from user WHERE $__timeFilter(create_time) and country_name in ($countryName)

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

修改数字样式

3.2.3 Pie

饼图
select country_name, create_time as time, count(*) as c from user where $__timeFilter(create_time) group by country_name order by c asc;

3.3 权限管理

3.3.1 用户管理

用户管理

3.3.2 团队管理

新建团队

团队加成员

3.3.3 文件夹权限设置

3.3.4 dashboarad权限设置

如果user在该org下role=admin,就拥有了对该dashboard的admin权利,爱干啥干啥,比如配置这个dashboard,看dashboard,配置dashboard的权限。
如果user在该org下role=editor,就拥有了对该dashbaord的edit操作权限,可以编辑dashboard,当然也可以看。
如果user在该org下role=viewer,就拥有对该dashbaord的view操作权限,就是可以看这个dashboard,但不能编辑。
就如上图设置,如果登录用户是admin,就可以进行编辑;如果登录用户是wade,仅有查看权限。

3.4 模板变量

当表格中出现数据后,需要通过筛选条件进行筛选,grafana提供了模板变量用于自定义筛选字段。
Type:定义变量类型
Query:这个变量类型允许您编写一个数据源查询,该查询通常返回一个 metric names, tag values or keys。例如,返回erver names, sensor ids or data centers列表的查询。
interval:interval值。这个变量可以代表时间跨度。不要按时间或日期直方图间隔硬编码一个组,使用这种类型的变量。

遗留问题:当选择1d(单位是d)时,会报解析错误:error parsing interval 1d,暂未解决;

Datasource:此类型允许您快速更改整个仪表板的数据源。如果在不同环境中有多个数据源实例,则非常有用。
Custom:使用逗号分隔列表手动定义变量选项。
Constant:定义一个隐藏常数。有用的metric路径前缀的dashboards,你想分享。在dashboard export,期间,常量变量将作为一个重要的选项。
Ad hoc filters:非常特殊类型的变量,只对某些数据源,InfluxDB及Elasticsearch目前。它允许您添加将自动添加到使用指定数据源的所有metric查询的key/value 过滤器。

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

Text box

新建输入框

Custom

新建Custom变量

下拉选择

3.5 版本控制

4 告警通知

4.1 开启告警

grafana只有graph支持告警通知。
grafana的告警通知渠道有很多种,像Email、Teams、钉钉等都有支持。
在grafana.ini中开启告警:

#################################### Alerting ############################
[alerting]
# Disable alerting engine & UI features
enabled = true   #开启
# Makes it possible to turn off alert rule execution but alerting UI is visible
execute_alerts = true  #开启
# Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)
;error_or_timeout = alerting
# Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
;nodata_or_nullvalues = no_data
# Alert notifications can include images, but rendering many images at the same time can overload the server
# This limit will protect the server from render overloading and make sure notifications are sent out quickly
;concurrent_render_limit = 5

4.2 邮件通知

4.2.1 STMP服务器配置

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

#################################### SMTP / Emailing ##########################
[smtp]
enabled = true #是否允许开启
host =  #发送服务器地址,可以再邮箱的配置教程中找到:
user = 你的邮箱
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
password = 这个密码是你开启smtp服务生成的密码
;cert_file =
;key_file =
skip_verify = true
from_address = 你的邮箱
from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com
[emails]
;welcome_email_on_sign_up = false

修改完配置,记得重启Grafana服务

4.2.2 邮件发送

配置邮件通知渠道

配置邮件通知渠道

发送测试

发送测试

设置告警条件

5 小结

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容