文章系国内领先的 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 的告警实践的更多相关文章

  1. 这个数据分析工具秒杀Excel,可视化分析神器!

    ​入门Excel容易,想要精通就很难了,大部分人通过学习能掌握60%的基础操作,但是一些复杂数据可视化分析就需要用到各种技巧,操作理解难度加深 Excel作为一直是使用最广泛的数据表格工具,在数据量日 ...

  2. python3 对拉勾数据进行可视化分析

    上回说到我们如何如何把拉勾的数据抓取下来的,既然获取了数据,就别放着不动,把它拿出来分析一下,看看这些数据里面都包含了什么信息.(本次博客源码地址:https://github.com/MaxLyu/ ...

  3. 用Python爬取《王者荣耀》英雄皮肤数据并可视化分析,用图说话

    大家好,我是辰哥~ 今天辰哥带大家分析一波当前热门手游<王者荣耀>英雄皮肤,比如皮肤上线时间.皮肤类型(勇者:史诗:传说等).价格. 1.获取数据 数据来源于<王者荣耀官方网站> ...

  4. 毕设之Python爬取天气数据及可视化分析

    写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...

  5. 大数据Web可视化分析系统开发

    下载地址 https://tomcat.apache.org/download-70.cgi 打开我们的idea 这些的话都可以按照自己的需求来修改 在这里新建包 新建一个java类 package ...

  6. 汽车数据的可视化分析(R)

    数据下载:http://www.fueleconomy.gov/feg/epadata/vehicles.csv.zip 将数据导入R中, 1.首先将工作路径设定到本地保存了vehicles.csv的 ...

  7. 通过 Azure IoT 中心实现互联网设备数据的可视化分析

    本课程主要介绍了如何 在Azure 平台上借助 Azure IoT 中心, Azure 流分析,Web 应用, Azure 数据库等服务快速构建收集处理并可视化来自设备的数据流的应用, 包括项目背景介 ...

  8. 新闻实时分析系统 大数据Web可视化分析系统开发

    1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...

  9. 新闻网大数据实时分析可视化系统项目——21、大数据Web可视化分析系统开发

    1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...

随机推荐

  1. 使用binlog2sql针对mysql进行数据恢复

    MySQL闪回原理与实战 DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚.传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据.此法 ...

  2. 一道JS面试题引发的血案

    刚入职新公司,属于公司萌新一枚,一天下午对着屏幕看代码架构时. BI项目组长给我看了一道面试别人的JS面试题. 虽然答对了,但把理由说错了,照样不及格. 话不多说,直接上题: var a = 1; s ...

  3. 【JAVA】抽象类,抽象方法

    抽象类不能被实例化,有两个特点: 必须继承才有它的用途: 不能描述对象: 抽象方法: 具体实现由子类决定,最终子类必须实现: 没有方法体: 说明: 抽象类不一定包含抽象方法,抽象方法一定是抽象类.

  4. Java多线程同步集合--并发库高级应用

    一.阻塞队列1.在多线程领域,所谓阻塞,在某些情况下会挂起线程,一旦条件满足,被挂起的线程又会自动被唤醒2.ArrayBlockingQueue(效率高)和LinkedBlockingQueue是两个 ...

  5. Application Metrics With Spring Boot Actuator

    转自:https://bartcode.co.uk/2015/01/application-metrics-with-spring-boot-actuator Update 12/2017: It w ...

  6. C# 连接 sql server

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  7. 使用area标签模仿a标签

    众所周知,map标签可以给img图像标记热点区域,而area标签就是跟map标签一起使用的. 但area标签的作用可不止用来标记热点,因为它也有href属性,因此某些场景可以代替a标签进行页面跳转. ...

  8. Deep learning with Python 学习笔记(5)

    本节讲深度学习用于文本和序列 用于处理序列的两种基本的深度学习算法分别是循环神经网络(recurrent neural network)和一维卷积神经网络(1D convnet) 与其他所有神经网络一 ...

  9. 使用Akka构建集群(一)

    概述 Akka提供的非常吸引人的特性之一就是轻松构建自定义集群,这也是我要选择Akka的最基本原因之一.如果你不想敲太多代码,也可以通过简单的配置构建一个非常简单的集群.本文为说明Akka集群构建的学 ...

  10. 并发编程——ConcurrentHashMap#transfer() 扩容逐行分析

    前言 ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法.并发编程之 ConcurrentHashMap(JDK 1.8) pu ...