
v
译者序
几乎所有的系统、应用程序、产品的关键性能指标,都是对某些参数或数据点随时间变
化情况的统计。因为捕获单个数据点并不能告诉我们太多信息,但是跟踪同一指标随时
间的变化趋势可以为我们提供很多有价值的信息。这就是时间序列数据的价值。
在系统监控领域,相信大家对
Graphite
并不陌生。
Graphite
是用于收集、存储和绘制时
间序列数据的开源监控工具。福特汽车、
GitHub
、
Etsy
、华盛顿邮报等都在生产环境中
使用
Graphite
。该工具具有以下三个核心组件。
y
Carbon
:指标收集守护程序,用于监听、收集时间序列数据。
y
Whisper
:简单的数据库,用于存储时间序列数据。
y
Graphite WebApp
:使 用
Cairo
库按需呈现图表的
Django WebApp
。
我在工程实践中一般使用
Prometheus
与
Graphite
这两款工具进行监控系统的构建。在众
多监控工具中,为何我会选用
Graphite
呢?简单来说就是,我觉得它稳定、功能齐全、
易扩展。
在使用
Graphite
的过程中,我发现
Graphite
具有如下特性,这些特性非常实用,能为生
产实践带来很多便利。
y
拥有完整的生态系统,从指标收集到图表生成,再到与第三方系统集成,所有环节
的操作都非常方便。
y
拥有完整的高可用和可伸缩方案,在生产环境中安全可靠。
y
配置简单,能很方便地构建百万级指标收集应用程序。
y
提供类
RRD
服务,支持指标数据精度递减。
y
提供丰富的查询函数,包括
sum
、
min
、
max
等。
y
提供
RESTful ...