OneAPM大讲堂 | 监控数据的可视化分析神器 Grafana 的告警实践
文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现。
概览
Grafana 是一个开源的监控数据分析和可视化套件。最常用于对基础设施和应用数据分析的时间序列数据进行可视化分析,也可以用于其他需要数据可视化分析的领域。Grafana 可以帮助你查询、可视化、告警、分析你所在意的指标和数据。可以与整个团队共享,有助于培养团队的数据驱动文化。
Grafana 有强大的社区支持,有丰富的模板插件,足够满足需要的功能特性。几乎可以集成任何数据源、监控工具和告警平台。可谓是不可多得的神器。也有很多国内国外的知名公司在使用。
接下来,小编从 Grafana 的重要特性展开来说,最后附上部分示例实践,仅供参考。
可视化,酷炫,灵活易用的可视化组件
统一,同时集成多个数据源
开源,活跃强大的社区
告警,定义告警并集成其他告警平台
通知,可扩展,模板和插件机制
一、可视化(Visualize)
Grafana 提供了丰富的图标、图形和其他可视化选项,经过简单的界面操作就能通过分析来更好的理解数据。并且大部分情况下你只需要使用社区提供的模板和插件就足够了,并不需要自己过多的配置。

二、统一(Unify)
可以把所有数据源的数据同时集成到 Grafana,因此可以获取更好的上下文。Grafana 原生支持超过30个开源和商业的数据源,在统一的仪表板中将它们的数据混合在一起分析。并且可以通过现有的插件集成 Zabbix 这样常用的监控工具的数据。非常的方便。
Grafana 内置支持的常用数据源:
InfluxDB
OpenTSDB
Elasticsearch
Zabbix
Graphite
MySQL
具体的数据源请参考 https://Grafana.com/plugins,总能找到你想要的。
InfluxDB

混合数据源(Mix Data Source)

三、开放(Open)、可扩展(Extend)、合作(Collaborate)
Grafana 的开源性质,可以让你没有任何顾虑的深度使用,同时还有一个活跃强大的社区。并且 Grafana 可以安装部署在任何平台上。包括 Linux,Windows,macOS 和 Docker。在 Grafana 中有数百个图表模板和插件,几乎每周都会更新。所以你能想到的绝大部分使用场景都是可以找到相应的模板和插件。Grafana 还可以在团队之间共享,通过授权用户来进行协同工作。这也可以培养团队的数据驱动文化。
Grafana 的动态仪表板(使用动态 dashboard,使用在仪表板顶部显示为下拉列表的模板变量创建动态和可重复使用的仪表板):

Grafana 注释(使用来自不同数据源的丰富事件注释图表。 将鼠标悬停在事件上可以显示完整的事件元数据和标签):

Ad-hoc 过滤器(Ad-hoc 过滤器允许即时创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询):

四、告警(Alerting)
无缝定义告警在数据中的的位置,可视化的定义阈值,并可以通过 Slack,OneAlert 等平台获取告警通知。最为重要的是可直观的定义告警规则,不断的评估并发送通知。注意告警功能在新版本中才有。

五、通知(Notifications)
当指标超过设定的告警阈值时,Grafana 就会触发告警接。当指标恢复到正常时 Grafana 就会关闭告警。这些动作都会有通知。除了最常见的 Email 通知,Grafana 内置的通知 APP 有 Slack,PagerDuty,VictorOps,OpsGenie。这些平台均为国外,可能在国内因为FQ(如果大家有好的FQ方式可以留言分享)、语言等原因,导致在国内有点水土不服。国内类似平台很少,首家 SaaS 一站式告警平台 OneAlert (不能否认,目前国内一直是处于领先)支持通过webhook 方式集成 Grafana。OneAlert 可以解决告警的汇聚、告警的分派,多方式通知,多人团队排班、告警压缩等问题,在此就不展开了,有兴趣去官网了解下。OneAlert 官网:http://www.onealert.com/

六、实践
作为一个 Geek 看到这么酷炫的东西怎么能不动手试一下呢。大部分情况下我们最常使用的功能是 Dashboard 模板、数据源应用、告警和通知这几个关键的功能。下面就从一个简单的示例来实际操作一下。
1、安装,注意:因为告警功能只在4.0以上版本可用,最好安装当前最新稳定版。
以 Linux 环境为例安装
Ubuntu & Debian(64 Bit):
wget https://s3-us-west-2.amazonaws.com/Grafana-releases/release/Grafana_4.6.3_amd64.deb
sudo dpkg -i Grafana_4.6.3_amd64.deb
Standalone Linux Binaries(64 Bit):
wget https://s3-us-west-2.amazonaws.com/Grafana-releases/release/Grafana-4.6.3.linux-x64.tar.gz
tar -zxvf Grafana-4.6.3.linux-x64.tar.gz
Redhat & Centos(64 Bit):
wget https://s3-us-west-2.amazonaws.com/Grafana-releases/release/Grafana-4.6.3-1.x86_64.rpm
sudo yum localinstall Grafana-4.6.3-1.x86_64.rpm
2、启动,如果需要请加入开机自启,centos6.x 为例
sudo service Grafana-server start
3、配置 DataSource和Dashboard
添加一个 DataSource,以 InfluxDB 为例。
Data Sources->Add Data Source

创建一个 Dashboard 或者直接引入一个 Dashboard 模板。

4、配置告警

告警的阈值可以通过鼠标拖动来实现:

5、添加通知渠道
Notification channels->add channel
首先添加一个 email 通知:

Send Test 一下应该就能收到。
再添加一个 OneAlert 通知,如果没有用过 OneAlert 的同学直接去注册 ok 了,跟着引导可以很方便快捷创建一个 Grafana 应用,并且记录 Appkey。
如果已经有 OneAlert 账号,直接登录->应用->添加应用->Grafana,OneAlert 的配置界面说明非常完整,直接参考就可以了。

将获取到的 URL 直接复制下来:

在 Grafana 中添加一个 Webhook channel,将 URL 填入 Webhook Settings 的 URL 中,http method 为 POST,选中 type 为 Webhook,勾选 Send on all alerts 和 Include image,你会在 OneAlert 中得到很好的使用体验。点击Send Test 后再 OneAlert 中就能看到你的告警。

最后在 Grafana 的 Alert 配置页面选中 OneAlert 和 Email 的通知 Channel:

测试通过的话,接下来你就可以通过配置 OneAlert 的通知策略、分派策略、排班等,就可以时刻通过微信、短信、电话、APP来接收告警并和团队一起协作。
总结
Grafana 可以促进以数据驱动运维的团队工作效率提升,让我们花更少的时间和精力来减少故障、快速恢复故障和避免故障。配合告警神器 OneAlert,可以弥补 Grafana 不能解决的精准分派、多方式通知、排班等功能的不足,如果大家有更好欢迎留言推荐分享,大家一起进步!
Grafana 的 Github 地址:https://github.com/Grafana/Grafana
参考资料:Grafana Document:http://docs.Grafana.org/
OneAlert 是北京蓝海讯通科技有限公司旗下产品,是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性。想了解更多信息,请访问 OneAlert 官网 ,欢迎免费注册体验 。
来源:http://blog.oneapm.com/apm-tech/804.html
OneAPM大讲堂 | 监控数据的可视化分析神器 Grafana 的告警实践的更多相关文章
- 这个数据分析工具秒杀Excel,可视化分析神器!
入门Excel容易,想要精通就很难了,大部分人通过学习能掌握60%的基础操作,但是一些复杂数据可视化分析就需要用到各种技巧,操作理解难度加深 Excel作为一直是使用最广泛的数据表格工具,在数据量日 ...
- python3 对拉勾数据进行可视化分析
上回说到我们如何如何把拉勾的数据抓取下来的,既然获取了数据,就别放着不动,把它拿出来分析一下,看看这些数据里面都包含了什么信息.(本次博客源码地址:https://github.com/MaxLyu/ ...
- 用Python爬取《王者荣耀》英雄皮肤数据并可视化分析,用图说话
大家好,我是辰哥~ 今天辰哥带大家分析一波当前热门手游<王者荣耀>英雄皮肤,比如皮肤上线时间.皮肤类型(勇者:史诗:传说等).价格. 1.获取数据 数据来源于<王者荣耀官方网站> ...
- 毕设之Python爬取天气数据及可视化分析
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...
- 大数据Web可视化分析系统开发
下载地址 https://tomcat.apache.org/download-70.cgi 打开我们的idea 这些的话都可以按照自己的需求来修改 在这里新建包 新建一个java类 package ...
- 汽车数据的可视化分析(R)
数据下载:http://www.fueleconomy.gov/feg/epadata/vehicles.csv.zip 将数据导入R中, 1.首先将工作路径设定到本地保存了vehicles.csv的 ...
- 通过 Azure IoT 中心实现互联网设备数据的可视化分析
本课程主要介绍了如何 在Azure 平台上借助 Azure IoT 中心, Azure 流分析,Web 应用, Azure 数据库等服务快速构建收集处理并可视化来自设备的数据流的应用, 包括项目背景介 ...
- 新闻实时分析系统 大数据Web可视化分析系统开发
1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...
- 新闻网大数据实时分析可视化系统项目——21、大数据Web可视化分析系统开发
1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...
随机推荐
- 《垃圾回收的算法与实现》——Python垃圾回收
Python垃圾回收 python采用引用计数法进行垃圾回收 Python内存分配 python在分配内存空间时,在malloc之上堆放了3个独立的分层. python内存分配时主要由arena.po ...
- Mysql的read_only 只读属性说明 (运维笔记)
在MySQL数据库中,在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-Slave主从关系设置, 以下针对real_only只读属性做些笔记记录: 1) 对于MySQL单实例数据库 ...
- 最短路径算法----floyd(转)
一.Floyd算法 假设从i到j的最短路径上要经过若干个顶点,这些中间顶点中最大的顶点编号为k,最小的顶点为t,因此要求算dist[i][j]的最小值,那么只需要求算dist[i][s]+dist[s ...
- java concurrent 探秘
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...
- 简单聊聊SOA和微服务
转自:https://juejin.im/post/592f87feb123db0064e5ef7c (2017-06) 简单聊聊SOA和微服务 架构设计中的朴素主义 前两天和一个朋友聊天,他向我咨 ...
- 版本管理(二)之Git和GitHub的连接和使用
首先需要注册登录GitHub:https://github.com 然后 ①:下载Git 先从Git官网,由于我的系统是64位的所以选择64-bit Git for Windows Setup htt ...
- 并发编程——ConcurrentHashMap#transfer() 扩容逐行分析
前言 ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法.并发编程之 ConcurrentHashMap(JDK 1.8) pu ...
- MySQL的安装与维护
一.数据库的基本概念 数据库: 以一定方式储存在一起.能为多个用户共享.具有尽可能小的冗余度的特点.是与应用程序彼此独立的数据集合. DBMS(DataBase Management System,数 ...
- MySQL5.7 常用用户操作
目录 MySQL5.7 常用用户操作 1. 新建用户 2. 授权 3. 创建用户时授权 4. 设置与更改用户密码(root) 5. 撤销用户权限 6. 删除用户 7. 查看用户的授权 8. 显示当前用 ...
- Spring是什么 包括SpringBean SpringMVC SpringBoot SpringCloud
什么是Spring:spring是个开源框架,spring mvc是基于spring的一个mvc框架,spring boot是基于spring4的条件注册的一套快速开发整合包. Spring两大特征: ...