首页 > 软件下载 > 日志监控 > Graphite
Graphite

Graphite

  • 软件大小:1.6 MB
  • 版本类型:官方版
  • 更新时间:2021-04-27
  • 版本号:1.1.8
  • 软件语言:简体中文
  • 软件厂商:Graphite 开源项目
  • 适用系统:Windows XP 及以上
  • 软件授权:开源

Graphite

版本 1.1.8 1.6 MB Windows XP 及以上

Graphite安装教程

Graphite 是一个高度可扩展的实时图形系统。作为用户,你编写一个应用程序,收集你感兴趣的数字时间序列数据,并将其发送到 Graphite 的处理后台 carbon,carbon 将数据存储在 Graphite 的专用数据库中。然后可以通过 graphite 的 Web 界面将数据可视化。

Graphite(实时图形系统)

常见问题

谁应该使用 Graphite?

任何想要长期跟踪任何数值的人。如果你有一个可能会随时间变化的数字,并且你可能想把这个值随时间变化的情况用图表表示出来,那么 Graphite 可能可以满足你的需求。

具体来说,Graphite 被设计用来处理数字时间序列数据。例如,Graphite 就很适合绘制股票价格图,因为它们是随时间变化的数字。无论是几个数据点,还是来自数千台服务器的几十个性能指标,那么 Graphite 都适合你。作为奖励,你不一定要事先知道这些东西的名称(谁想维护如此庞大的配置?);你只需发送一个度量名称、一个时间戳和一个值,剩下的事情就由 Graphite 来处理了。

Graphite 的可扩展性如何?

从 CPU 的角度来看,Graphite 在前端和后端都是水平扩展的,这意味着你可以简单地添加更多的机器来获得更多的吞吐量。它还具有容错性,即失去一台后端机器会造成极小的数据损失(无论这台机器在内存中缓存了什么),如果你有足够的剩余容量来处理负载,就不会破坏系统。

从 I/O 的角度来看,在负载下,Graphite 会非常迅速地对很多不同的文件执行很多微小的 I/O 操作。这是因为每一个发送到 Graphite 的不同度量都存储在自己的数据库文件中,类似于很多建立在 RRD 之上的工具(drraw、Cacti、Centreon 等)的工作方式。事实上,Graphite 最初确实使用 RRD 进行存储,直到出现了基本的限制,需要新的存储引擎。

高容量(每分钟更新几千个不同的指标)几乎需要一个好的 RAID 阵列和/或 SSD。如果磁盘无法跟上大量发生的小型写操作(每个数据点只有几个字节,但大多数标准磁盘每秒的 I/O 操作不能超过几千次,即使它们很小),Graphite 的后端会缓存传入的数据。当这种情况发生时,Graphite 的数据库引擎 whisper 允许碳一次写入多个数据点,从而提高整体吞吐量,只是代价是将多余的数据缓存在内存中,直到可以写入。

Graphite 还支持替代的存储后端,可以大大改变这些特性。

图表的实时性如何?

非常实时。即使是在重负载的情况下,当每个时间间隔传入的指标数量远远大于存储系统执行 I/O 操作的速度,并且大量的数据点被缓存在存储管道中(见前面的问题解释),Graphite 仍然可以绘制实时图形。诀窍是,当 Graphite webapp 收到绘制图形的请求时,它同时从磁盘上以及预存储缓存中检索数据(如果你有多个后端服务器,缓存可能是分布式的),并将两个数据源结合起来,创建一个实时图形。

谁已经在使用 Graphite?

Graphite 是由 Orbitz 内部开发的,在这里,它被用来可视化各种关键运营数据,包括应用指标、数据库指标、销售等。在写这篇文章的时候,Orbitz 的生产系统可以每分钟处理大约 160,000 个不同的指标,这些指标运行在高速 SAN 上的两台 niagra-2 Sun 服务器上。

Graphite 是用什么写的?

Graphite webapp 建立在 Django web 框架上,使用 ExtJS javascript GUI 工具包。图形渲染使用 Cairo 图形库完成。后台和数据库是用纯 Python 编写的。

谁来编写和维护 Graphite?

Graphite 最初是由 Orbitz 的 Chris Davis 开发的。Orbitz 长期以来一直是开源社区的一部分,并发布了其他一些内部开发的产品。

Graphite 目前由 Graphite-Project GitHub 组织下的志愿者团队开发。