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进 ...
随机推荐
- Java中的日志管理
日志是应用程序运行中不可缺少的一部分,JAVA中有很多已经成熟的方案,尽管记录日志是应用开发中并不可少的功能,在 JDK 的最初版本中并不包含日志记录相关的 API 和实现.相关的 API(java. ...
- android studio 查看包有没有重复引用
在windows下studio内的命令行里面 gradlew :app:dependencies 苹果系统 ./gradlew :app:dependencies
- Attr类中进行类型推断
涉及到重要的类的继承关系如下图所示. 关于抛出的异常继承体系:
- jar包运行main程序
当把java项目打包成jar后,如何运行main函数呢? 第一种:指定运行main类: 1 java -cp test.jar com.hk.app.Application 第二种:在MANIFEST ...
- 大佬带你深入浅出Lua虚拟机
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 作者:郑小辉 | 腾讯 游戏客户端开发高级工程师 写在前面:本文所有的文字都是我手工一个一个敲的,以及本文 ...
- sql server数据库查看锁表和解锁
--查看锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys ...
- Deep learning with Python 学习笔记(4)
本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...
- Dockerfile构建镜像
Dockerfile构建镜像的步骤: 从基础镜像运行一个容器 执行一条指令,对容器做出修改 执行类似docker commit的操作,提交一个新的镜像层 再基于刚提交的镜像运行一个新的容器 执行Doc ...
- JS forEach()与map() 用法(转载)
JavaScript中的数组遍历forEach()与map()方法以及兼容写法 原理: 高级浏览器支持forEach方法语法:forEach和map都支持2个参数:一个是回调函数(item,ind ...
- 几点建议,让Redis在你的系统中发挥更大作用
Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储:它的数据模型非常独特,用的是单线程.另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不 ...