我想设置statsd / graphite,这样我就可以logging在HTML设备上运行的JS应用程序(即不在包含的LAN环境中,并且可能有大量不直接控制的传入数据)。
我的约束:
总之,数据path:[client] – (http) – > [http2statsd] – (udp) – > [statsd] – (tcp) – > [graphite] – (nfs) – > [filer]
我的发现迄今为止:
所以我想知道是否有人有经验和最佳做法,分享一个坚实statsd /石墨部署?
有一个统一的散列代理,可以在多个statsd聚合器之间传播statsdstream量,每个聚合器使用自己的一组度量名称。 这是您的架构中至关重要的可扩展性元素,允许您扩展statsd进程。
石墨也是棘手的,但希望你不会需要无限的规模,可以做服务或其他一些静态参数的细分。
最难的部分是缩放web应用程序,这很大程度上取决于什么是最重的graphics查询。 但是,您总是可以预先聚合最难的graphics数据,摆脱大部分负载。
我已经使用HostedGraphite相当长一段时间来避免所有这些痛苦,这些家伙已经为Carbon实现了自己的Riak后端,并在那里进行所有扩展。