Graphite 简介

一、 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

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

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

四、 使用效果

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

Browser Web Interface

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

Command-Line Web Interface

五、 总结

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


附:

Graphite 安装和常见问题

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

你可能感兴趣的:(Graphite 简介)