如何深入理解计算机系统 StatsD 与 Graphite

买几十万个小型机 每个机器上部署一个服务..然后做负载均衡..

Graphite是由多个后端和前端组件组合而荿后端组件被用于存储数值的时间序列数据。前端组件被用于检索度量数据和可选的图像渲染本章主要讲解carbon的使用以及如何通过客户端来访问carbon。

大概回顾一下graphite监控的各个组件:

  • statsd:负责接收数据、聚合

  • carbon:负责将数据写入whisper自身也可收集数据

下图描述graphite的指标输入过程以及用戶通过web界面来查看的过程,指标数据可以通过发送给statsd再由stats将数据汇总、计算等处理之后传给carbon。也可以由用户将指标数据直接发送给carbon

那麼即然有statsd来发送数据,为什么还需要直接将数据发送给carbon呢其中一个很重要的原因就是直接发送给carbon的时候可以带上自已的时间戳。比如在對日志文件的前二十分钟的数据进行分析后将结果发送给graphite这个时候就需带上二十分钟之前的那个时间戳,如果使用statsd则时间为statsd发送给carbon的当湔时间

关于怎么安装carbon,可以参考本站:

一个度量值是任何可以随时间变化的可测量的值:

一个数据点是一个元组包含:

  • 在一个指定时间點(通常是一个 timestamp)

客户端应用通过发送数据点到一个 Carbon 进程来发布度量值这个应用在 Carbon 进程的端口上建立一个TCP连接并以一个简单的纯文本格式发送数据点。在我们的例子中端口是2003。Carbon进程监听进入的数据但是不给客户端发送任何响应

每个数据点是一个单行文本

  • 在位置 0 是一个帶点的度量名称

空格作为位置的分隔符

比如,这里有一些有效的数据点:

客户端应用有多个方式来发布度量值:

  • 使用一个纯文本协议工具比如 netcat (nc) 命令

  • 使用高级消息队列协议(AMQP)

  • 使用udp协议来发送(注:默认carbon是不开启udp协议的监听的需要在carbon.conf中自已打开)

为了简单起见,在这个教程中我先通过netcat 命令使用纯文本协议为了发布以上列出的示例数据点,运行以下命令:

carbon-cache 日志文件将包含关于新的被接收到的度量值的信息信息被存储在:

如果再次通过nc来发送指标给Carbon时,由于已经存在wsp文件则不会生成,此时可以查看生成的wsp文件是否发生变化

下面提供一個java版通过udp协议发送指标数据给carbon的例子:

转载请注明:一路博客,

Graphite是由多个后端和前端组件组合而荿后端组件被用于存储数值的时间序列数据。前端组件被用于检索度量数据和可选的图像渲染本章主要讲解carbon的使用以及如何通过客户端来访问carbon。

大概回顾一下graphite监控的各个组件:

  • statsd:负责接收数据、聚合

  • carbon:负责将数据写入whisper自身也可收集数据

下图描述graphite的指标输入过程以及用戶通过web界面来查看的过程,指标数据可以通过发送给statsd再由stats将数据汇总、计算等处理之后传给carbon。也可以由用户将指标数据直接发送给carbon

那麼即然有statsd来发送数据,为什么还需要直接将数据发送给carbon呢其中一个很重要的原因就是直接发送给carbon的时候可以带上自已的时间戳。比如在對日志文件的前二十分钟的数据进行分析后将结果发送给graphite这个时候就需带上二十分钟之前的那个时间戳,如果使用statsd则时间为statsd发送给carbon的当湔时间

关于怎么安装carbon,可以参考本站:

一个度量值是任何可以随时间变化的可测量的值:

一个数据点是一个元组包含:

  • 在一个指定时间點(通常是一个 timestamp)

客户端应用通过发送数据点到一个 Carbon 进程来发布度量值这个应用在 Carbon 进程的端口上建立一个TCP连接并以一个简单的纯文本格式发送数据点。在我们的例子中端口是2003。Carbon进程监听进入的数据但是不给客户端发送任何响应

每个数据点是一个单行文本

  • 在位置 0 是一个帶点的度量名称

空格作为位置的分隔符

比如,这里有一些有效的数据点:

客户端应用有多个方式来发布度量值:

  • 使用一个纯文本协议工具比如 netcat (nc) 命令

  • 使用高级消息队列协议(AMQP)

  • 使用udp协议来发送(注:默认carbon是不开启udp协议的监听的需要在carbon.conf中自已打开)

为了简单起见,在这个教程中我先通过netcat 命令使用纯文本协议为了发布以上列出的示例数据点,运行以下命令:

carbon-cache 日志文件将包含关于新的被接收到的度量值的信息信息被存储在:

如果再次通过nc来发送指标给Carbon时,由于已经存在wsp文件则不会生成,此时可以查看生成的wsp文件是否发生变化

下面提供一個java版通过udp协议发送指标数据给carbon的例子:

转载请注明:一路博客,

我要回帖

更多关于 深入理解计算机系统 的文章

 

随机推荐