理解Graphite及其工作原理?

3 投票
1 回答
1932 浏览
提问于 2025-04-18 15:00

我打算用Graphite来监控各种服务。现在我想了解一下Graphite的工作原理,以下是我的理解:

  1. Whisper:这个是用来把数据以时间序列的形式存储到数据库里的。数据库可以是像sqlite、Mysql、Db2这样的例子吗?

  2. Carbon:这个组件负责接收指标数据,然后把数据发送给whisper保存到数据库里?这是不是意味着我可以用任何编程语言写个程序,把指标数据发送给carbon?我需要哪些参数才能连接到carbon并发送数据呢?

  3. Graphite-webapp:Graphite-webapp是用来读取whisper存储在数据库里的时间序列数据吗?它会自己生成图表吗?还是说我们需要用python编程来显示图表?我们该如何创建一个KPI仪表盘来展示这些图表呢?

我只是看了一遍文档,有人能帮我理解一下Graphite的架构吗?我可以使用哪些工具或框架?我主要是Java/PHP/NODEJS的开发者,所以尽量想避免用python :),如果有教程或示例就太好了。

我有下面这种格式的数据,保存在一个平面文件里,我需要把它发送到Graphite,以便显示图表。

DATE TIME  Col1 Col2
2014-07-04 04:05:10  499 303 

1 个回答

1

抱歉我的英语不好。

这里有一篇关于图形架构的好文章。

我用图形来监控蜘蛛集群。下面是你提到的一些要点。

  1. sqlite、Mysql、postgresql都可以用。我不太了解DB2,因为很少有人把django和DB2一起使用(Graphite-webapp是一个django应用)。

  2. 我觉得你可以用任何编程语言写一个程序,把数据发送到carbon。因为你是通过TCP连接把数据发送给carbon的。

  3. Graphite-webapp是一个django项目。你几乎只需要安装它,可能还需要做一些关于设置的python工作。

顺便说一下,官方文档非常棒。

撰写回答