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进 ...
随机推荐
- 再学C/C++ 之 浅析gdb的-g选项
浅析gdb的-g选项 准备 gdb是Linux下学习C/C++最常用的debug工具.要使用这一强大工具,必须在编译时加上-g选项,生成的目标文件才可以用gdb进行调试. 如,先创建一个test. ...
- ASP.NET Core 中使用 Hangfire 定时启动 Scrapyd 爬虫
用 Scrapy 做好的爬虫使用 Scrapyd 来管理发布启动等工作,每次手动执行也很繁琐;考虑可以使用 Hangfire 集成在 web 工程里. Scrapyd 中启动爬虫的请求如下: curl ...
- 监控 Redis 服务方案
RedisLive easy_install pip wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate python g ...
- ThreadPoolExecutor参数讲解
1. 线程池可以节省创建多个线程带来的开销问题. 2. 线程池的参数如下: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSiz ...
- C++函数中返回引用和返回值的区别
一.主要讨论下面两个函数的区别: int& at() { return m_data_; } int at() { return m_data_; } 上面两个函数,第一个返回值是int的引用 ...
- Java 容器之 Connection栈队列及一些常用
集合家族图 ---|Collection: 单列集合 ---|List: 有存储顺序 , 可重复 ---|ArrayList: 数组实现 , 查找快 , 增删慢 ---|LinkedList: 链表实 ...
- mongodb索引--1亿条记录的查询从55.7秒到毫秒级别<补充版>
从头开始,验证mongodb的索引的好处.(window7环境下) 下载mongodb服务器,并解压到d盘,并使用以下命令启动 mongod --dbpath D:\mongodb\data mong ...
- [开源] .NET数据库ORM类库 Insql
介绍 新年之际,给大家介绍个我自己开发的ORM类库Insql.TA是一个轻量级的.NET ORM类库 . 对象映射基于Dapper , Sql配置灵感来自于Mybatis.简单优雅性能是TA的追求. ...
- POJ 2785 4 Values whose Sum is 0(暴力枚举的优化策略)
题目链接: https://cn.vjudge.net/problem/POJ-2785 The SUM problem can be formulated as follows: given fou ...
- Quartz2D绘制路径
// 在画线的时候,方法的内部默认创建一个path.它把路径都放到了path里面去. // 1.创建路径 cgmutablepathref 调用该方法相当于创建了一个路径,这个路径用来保存绘图信息. ...