简体   繁体   English

StatsD与Riemann有什么区别?哪一个在大型分布式系统上表现更好?

[英]What is difference between StatsD vs Riemann ? and which one performs better on large distributed system?

What is difference between StatsD vs Riemann ? StatsD与Riemann有什么区别? and which one performs better on large scale distributed systems? 哪一个在大型分布式系统上表现更好? we have a distributed platform built on Java and we want to monitor application metrics and perhaps some alerts. 我们有一个基于Java的分布式平台,我们希望监控应用程序指标和一些警报。 We understand that instrumentation is not free so Ideally we are looking for a highly scalable application monitoring framework which can add the least instrumentation cost to our platform/apps and be able to do all sorts of aggregations and so on. 我们知道仪器不是免费的,所以理想情况下我们正在寻找一种高度可扩展的应用程序监控框架,它可以为我们的平台/应用程序增加最少的仪表成本,并能够进行各种聚合等等。 I also understand we can build something that is a combination of both but I can't think of reasons why? 我也明白我们可以建立两者兼而有之的东西,但我想不出原因? as both seem to do aggregations and so on but I am unable to identify which one would be a better fit or why one performs better than the other. 因为两者似乎都在进行聚合等等,但是我无法确定哪一个更合适,或者为什么一个比另一个更好。 It will be a great help if someone can share their experiences on these tools in the industry. 如果有人可以分享他们在行业中使用这些工具的经验,那将是一个很大的帮助。

I don't have hard numbers on statsd, but Github's Brubeck post suggests that they were losing about 40% of their statsd events at--I'm guessing these graphs are in seconds--25,000 events/sec. 我没有关于statsd的硬数据,但Github的Brubeck帖子表明他们正在失去大约40%的统计事件 - 我猜这些图表是在几秒钟内 - 每秒25,000个事件。 Their replacement for statsd, in C, is pushing 4.3 million events/sec. 他们用C替换statsd,每秒推动430万次事件。 http://githubengineering.com/brubeck/ http://githubengineering.com/brubeck/

Riemann won't compete with that on a per-packet basis, but in batches of, say, 10-100 metrics/message, I've heard multiple production users report 10 million events/sec. Riemann不会在每个数据包的基础上与之竞争,但是在10-100个指标/消息的批量中,我听到多个生产用户报告了1000万个事件/秒。 Unlike statsd, Riemann will scale to all available cores--I've saturated both network interfaces and all 48 cores on my box in tests--but actual performance is gonna vary depending on contention and what you do with your streams. 与statsd不同,Riemann将扩展到所有可用内核 - 我已经在测试中使我的盒子上的网络接口和所有48个内核都饱和了 - 但实际性能会因争用和您对流做的事情而有所不同。 Could be much slower. 可能要慢得多。 All depends. 一切都取决于

Compared to statsd, Riemann has a much richer event model and performs arbitrary computation. 与statsd相比,Riemann具有更丰富的事件模型并执行任意计算。 A small Riemann config can replicate of statsd's functionality--but Riemann really shines when you need multidimensional rollups, state transition detection, integration with all kinds of other storage and alerting services, flap suppression, flow control, etc etc etc. 一个小的Riemann配置可以复制statsd的功能 - 但是当你需要多维汇总,状态转换检测,与各种其他存储和警报服务集成,襟翼抑制,流量控制等等时,Riemann真的很闪耀。

The cost of that is working in a programming language--Clojure--that may be unfamiliar to your team, and having to reason more carefully about scope, state, and if you're writing your own streams, concurrency. 其成本是使用编程语言 - Clojure - 您的团队可能不熟悉,并且不得不更仔细地考虑范围,状态,以及您是否正在编写自己的流,并发。 Riemann also isn't as widely deployed, which could be a drawback in terms of library support and hiring staff. Riemann也没有得到广泛部署,这在图书馆支持和招聘人员方面可能是一个缺点。

The best performer would be Brubeck which is a Statsd compatible (written in C) and therefore you can use the same Statsd client libraries to connect to it. 表现最佳的是Brubeck ,它是Statsd兼容的(用C语言编写),因此您可以使用相同的Statsd客户端库连接到它。

Brubeck is written in C, Statsd is written in Node.js. Brubeck用C语言编写,Statsd用Node.js编写。 And as Github explained in their article , they consider Node.js a foreign technology and they gradually replaced any Node.js services they had. 正如Github在他们的文章中解释的那样,他们认为Node.js是一种外国技术,他们逐渐取代了他们拥有的任何Node.js服务。 One of them was statsd due to performance issues. 由于性能问题,其中一个是statsd。

The second best in performance would be Riemann (however, it needs its own client libraries). 性能排名第二的是Riemann(但是,它需要自己的客户端库)。 Statsd would be the slowest. Statsd将是最慢的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM