Graphite详解

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

Graphite是一个开源实时的、显示时间序列度量数据的图形系统。Graphite并不收集度量数据本身,而是像一个数据库,通过其后端接收度量数据,然后以实时方式查询、转换、组合这些度量数据。Graphite支持内建的Web界面,它允许用户浏览度量数据和图。

Graphite有三个主要组件组成:

  • 1)Graphite-Web
    这是一个基于Django的Web应用,可以呈现图形和仪表板
  • 2)Carbon
    这是一个度量处理守护进程
  • 3)Whisper
    这是一个基于时序数据库的库

Graphite的整体架构图

一、Graphite的应用场景

Graphite通常用于监控基础设施级别的度量,比如CPU、内存、I/O利用率、网络吞吐量和延迟,当然Graphite在应用程序级的度量和业务级的度量方面也很不错。

Collectd是一个著名的、持续很久的Linux项目,它用于收集基础设施级的度量,在2012年被Graphite打包到项目中,作为Graphite的“写插件”。Collectd自带了很多采集插件,可以捕获从CPU到电池利用率方面度量数据,还可以度量Java和Redis方面。

通常度量不会直接发送给Graphite的后端,而是发送一次一个度量或采样给度量采集服务。StatsD是另一个开源项目,是一个著名的度量采集服务。它可以聚合接收到的采样数据,做计算统计,求平均值、标准差和其他一些统计,周期性地刷新数据到度量数据库。Graphite是StatsD的默认后端。

出于可视化的目的,内建Web界面是目前主流的选择。创建光滑的仪表板并不难,Grafana首先从Graphite获取信息,而且还可以与其它几个流行的度量数据库协同工作,比如InfluxDB、OpenTSDB和Premetheus。

当度量数据超过了预期的边界时,Graphite自身并不提供提醒功能。这方面有几个方案可以解决此问题。Cabot就是一个流行的选择,还可以使用另一个选择StackState,它提供了同样的功能。Cabot和StackState之间提醒功能的不同之处在于StackState集成了多个监控解决方案,它可以运行检查,不仅检查Graphite数据,而且检查各种以组合的监控数据。

二、Graphite的优点

  • 1)Graphite非常快,它的架构是模块化可规模化的
  • 2)Graphite很著名,有庞大的社区和广泛的支持
  • 3)有很多与Graphite相互协作的开源工具
  • 4)Graphite完成单个工作且做得很好
  • 5)Graphite采用Apache 2.0许可证

三、Graphite的不足

  • 1)Graphite不能对数据进行分片,因此要解决这个问题就是采用多个Graphite实例
  • 2)Graphite的安装是一个很复杂的任务,尽管目前有了完整的Docker映像可以一次性安装Graphite及其依赖

Graphite详解相关推荐

  1. ELK学习笔记之Logstash详解

    0x00 Logstash概述 官方介绍:Logstash is an open source data collection engine with real-time pipelining cap ...

  2. Jmeter - JMeter监听器 -上篇(详解教程)

    目录 1.简介 2.预览监听器 3.常用监听器详解 3.1 察看结果树 3.2 汇总报告 3.3聚合报告 3.4后端监听器 3.5汇总图 3.6 断言结果 3.7比较断言可视化器 3.8 生成概要结果 ...

  3. influx配置文件详解

    influx配置文件详解 官方文档: https://docs.influxdata.com/influxdb/v1.7/administration/config 全局配置 reporting-di ...

  4. X线DR医学图像 --- DR医用滤线栅及摩尔纹详解 (一) 滤线栅的原理

    DR医用滤线栅详解  这是我曾经花了很多时间写的一个关于医用滤线栅的技术报告,里面都是以一问一答的方式讲述的.现在我以截图的方式分享给大家,希望对各位在普放医疗的战友有些许帮助. 1,滤线栅有什么用? ...

  5. InfluxDB详解

    InfluxDB(时序数据库)(influx,[ˈɪnflʌks],流入,涌入),常用的一种使用场景:监控数据统计.每毫秒记录一下电脑内存的使用情况,然后就可以根据统计的数据,利用图形化界面(Infl ...

  6. 夜莺(Flashcat)V6监控(四):categraf-mtail日志收集插件详解

    (一)mtail介绍      mtail  是谷歌开源的一款从应用日志中提取 metrics 的工具.categraf 将mtail作为一个插件集成了进来,并且兼容 mtail 的语法,简化了部署. ...

  7. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  8. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

  9. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

最新文章

  1. 手把手教你安装OpenStack——Ocata安装指南(上)
  2. 大数据之Hadoop教程
  3. python环境搭建什么意思_如何搭建Python环境
  4. 使用console.table()调试javascript
  5. 范例 在 Setting 里加入 HiApk Settings 选项
  6. html5头像裁剪,移动端 上传头像 并裁剪功能(h5)
  7. JavaScript常用设计模式
  8. 编写可维护的JS 04
  9. 【CAD】CAD插件
  10. 【组队学习】【38期】组队学习内容详情!
  11. ps aux 中rss的单位
  12. qemu 规范路径_EVE-NG镜像添加技巧(以思科虚拟化产品为例)
  13. 编程浅谈-以一个初出茅庐的Java程序员视角
  14. 电灯开关-第12届蓝桥杯Scratch省赛2真题第1题
  15. 酒水行业数字化转型解决方案
  16. 网课答案搜题查询题库接口
  17. C++ 实现 ping 功能 域名(URL)解析实际 IP地址
  18. 家暴屡教不改能判刑吗
  19. 推荐一个 SpringBoot 2.x + vue 实现的个人支付宝、微信支付系统
  20. 数字1-7转换成星期一到星期天

热门文章

  1. SAP中质量检验结果的清单列表及输出功能简单分析
  2. python爬虫浏览器伪装和设置代理ip
  3. MySQL表中的联合查询
  4. MySQL5.7 卸载 - Linux下卸载
  5. 腾讯X5浏览器简单使用
  6. Response对象-响应字符数据
  7. 网游的跨服玩法是如何实现的?“跨域体系”架构设计思路
  8. 数据结构实验报告—栈和队列
  9. 自己制作Chrome绿色版本。
  10. vue 项目检测新版本功能