Graphite 简介

Graphite是一款用Python编写的开源监控工具,适用于企业级场景。它由Carbon、Whisper及Graphite Web App三个核心组件构成,分别负责监听、存储及展示时间序列数据。通过简单的配置即可实现数据的实时监控与图表展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 Graphite 项目简介

Graphite是一个企业级的监控工具,可以在廉价机硬件上运行。最初由Chris Davis在 Orbitz 工作时,作为一个辅助项目在2006年使用Python语言编写,最终成一个基本的监控工具。在2008,Orbitz 允许软件以开源Apache 2.0 license的授权方式发行。从那之后 Chris继续开发这个软件,并将其部署在其它公司,包括 Sears, 使得Graphite成为电子商务监控系统的一个支柱。今天有很多大公司使用它。

二、 Graphite 功能

Graphite是一个画图工具,将数据以图形的方式展现出来。它主要做两件事:

  1. 存储时间序列数据
  2. 根据需要呈现数据的图形

Graphite不收集数据,有一些工具知道如何发送数据给Graphite。虽然需要一点代码,但是非常简单。

三、 简单架构

Graphite由三个软件组件组成:

  1. carbon - 一个Twisted守护进程,监听时间序列数据
  2. whisper - 一个简单的数据库库,用来存储时间序列数据,在设计上类似于RRD
  3. graphite webapp - Django webapp,使用 Cairo来根据需要呈现图形
架构图如下:
Graphite High Level

Graphite High Level

在这个图中我们可以看到Carbon先将数据写入到Whisper数据库文件中,然后Graphite Webapp去读取这个数据,然后显示出图形。但是实际上这个体系采用了缓存,数据可能先到缓存中,然后Webapp读取,显示出图形。这也是为什么在主机I/O反应不过来时Webapp的图形仍能以接近实时的方式显示。

喂数据相当简单,通常大部分的精力花在最开始收集数据时。当你发送数据点给Carbon, 他们马上可以在webapp中画图。webapp 提供几种方式创建和显示图形,包括简单的URL API ,这种呈现的方式可以很方便地将图形嵌入到其它Web页面。

四、 使用效果

下图是在浏览器中的效果:

Graphite Browser Web Interface

Browser Web Interface

下面是在命令行界面的效果:

Graphite Command-Line Web Interface

Command-Line Web Interface

五、 总结

Graphite 简介就这些内容,在上面的图中可以看到它画出来的图形效果是相当不错的。后面将会陆续讲到它的安装配置等内容。


附:

Graphite 安装和常见问题

http://www.jsxubar.info/graphite-installation.html

转载于:https://my.oschina.net/longniao/blog/85101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值