1. 介绍
Graphite是一个Github项目,没有自己的独立域名网站,文档也host在专门存放文档的网站上。
- 新官方文档 http://graphite.readthedocs.org
- 旧官方文档 http://graphite.wikidot.com
- The Architecture of Open Source Applications: Graphite
Graphite 专注于两个最简单的任务: 作为一个便捷且Scalable的Network Service,以精度随时间递减的方式存储Metrics数据,并支持以丰富的函数获取它们,以图片或者JSON的格式。
Graphite基于Python,由三部分组成:
- Carbon:基于Twist的TCP Server,负责接收数据,用简单到死的文本协议,因为够简单,所以Yammer Codahale Metrics、Netflix Servo、StatsD、Collectd、Logstash,人人都有一个到Graphite的插件。
- Whisper: 类库,将数据存储成RRD(round-robin-databas)文件,数据粒度随时间递减,可以存储更长时间的其据。其继承者是Ceres,不再固定文件大小。
- Graphite-Web:基于Django的Web应用,支持Restful的URL获取图片或JSON数据,URL里可以带各种有用的函数。
基于Python的单点性能可能不高,但Graphite有Cache、HA、Scalable方面的专门设计。
2. Install Graphite 0.9.12 on Windows
- On Windows Details ,可能是全网唯一Windows平台安装攻略。
3. Functions & URL
3.1 URL示例
Image: http://localhost:8080/render?from=-10minutes&target=system.loadavg_1min&width=500&height=300
Json: http://localhost:8080/render?from=-10minutes&target=system.loadavg_1min&format=json
CSV: http://localhost:8080/render?from=-10minutes&target=system.loadavg_1min&format=csv