2

我正在研究使用石墨 - statsd - collectd 堆栈来监控分布式系统。

我已经在本地实例中测试了组件(graphite-web、carbon、whisper、statsd、collectd 和 grafana)。

但是,我对如何在分布式系统中分发这些组件感到困惑: - 一个带有石墨网络(和 grafana)、碳和耳语的监控节点。- 在每个工作节点中:statsd 和 collectd 将数据发送到远程监控节点中的碳后端。

这个方案对吗?我应该配置 statsd 和 collectd 以获得可接受的网络使用(tcp/udp,每秒数据包......)?

4

1 回答 1

2

假设您的工作量相对较轻,拥有一个管理 Graphite-web、grafana 和 carbon 的节点(它本身管理 Whisper 数据库)应该没问题。

然后你应该有一个单独的节点用于你的 statsd。你的每台机器/应用程序都应该有 statsd 客户端代码,将你的指标发送到这个 statsd 节点。然后,此 statsd 节点应将这些指标转发到您的碳节点。

对于对单个节点造成压力的较大工作负载,您需要垂直扩展(获得更强大的节点来托管您的 carbons/statsd 实例),或者开始对这些服务进行集群。

Carbon 集群倾向于使用您发送到的某种中继来管理将这些指标转发到集群(通常使用一致的哈希)。您可以使用类似的设置将指标一致地散列到 statsd 服务器集群。

于 2016-01-11T05:45:29.360 回答