Questions tagged «statsd»

1
StatsD和CollectD有何关系?
StatsD和CollectD有何关系? 是StatsD,还是CollectD的替代方法 StatsD是否用于汇总来自CollectD(以及其他工具)的指标 完全是其他的东西。如果可以的话
40 collectd  statsd 

1
statsd和石墨的高度可用,可通过网络访问和可扩展的部署
我想设置statsd / graphite,以便我可以记录在HTML设备上运行的JS应用程序(即不在封闭的LAN环境中,并且可能包含大量我不直接控制的传入数据)。 我的约束: 入口点必须使用HTTP:这是通过简单的HTTP-to-UDP-statsd代理(例如github上的httpstatsd)解决的 必须抵抗单个服务器的故障(以对抗墨菲定律:) 必须水平可扩展:网络规模,宝贝!:) 架构应尽可能简单(且便宜) 我的服务器是虚拟机 数据文件将存储在Filer设备上(带有NFS) 我可以使用tcp / udp硬件负载平衡器 简而言之,数据路径:[客户端]-(http)-> [http2statsd]-(udp)-> [statsd]-(tcp)-> [石墨]-(nfs)-> [文件管理器] 到目前为止,我的发现: 缩放http2statsd部分很容易(无状态守护程序) 缩放statsd部分似乎并不简单(我想对于诸如sum,avg,min,max ...之类的汇总数据,我最终会在石墨中得到不连贯的值)。除非HTTP守护程序进行一致的哈希处理以分片密钥。也许是个主意...(但接着是HA的问题) 缩放石墨零件可以通过分片(使用碳中继)来完成(但这也不能解决HA问题)。显然,几个耳语实例不应该写入相同的NFS文件。 扩展文件管理器部分不是问题的一部分(但是IO越少越好:) 缩放Web应用程序似乎很明显(尽管我尚未测试),因为它们仅读取共享的NFS数据 因此,我想知道是否有人可以共享可靠的statsd / graphite部署经验和最佳实践?

5
nc(netcat)在UDP模式下挂起,等待更多数据。
我正在尝试在读取块内通过nc向statsd发送一个小字符串: while read line; do printf "folder.counter:value|1c" | nc -q 0 -u $host $port done 不幸的是,在UDP模式下,即使我已指定nc,nc似乎也希望无限期等待-q 0,该手册页上的内容将使程序在EOF之后立即退出。 我尝试过传递-w 1,但是如果我发送的数据每秒以多于一行的速度输入,则数据会缓冲起来,并且我会丢失实时统计信息(更不用说冒着某种类型的缓冲区溢出的风险了)。 是否可以使用netcat进行我想做的事情,还是我需要用具有statsd库的语言编写某些内容?
16 shell  netcat  statsd 

5
如何删除石墨耳语中的计数器?
我有一个柜台,stats.message.foo想将其移至stats.messages.foo。 我已经更新了代码以填充新计数器,但是旧计数器仍然存在。 我读过所有要从石墨中删除统计信息的工作,就是删除磁盘上的相应耳语文件,但是似乎在删除后的几秒钟内wsp它就会重新生成(没有数据)。 如果要重命名存储数据的密钥,这很麻烦,因为我需要记住哪个密钥是正确的密钥。 有人知道如何永久删除旧计数器吗?
14 graphite  statsd 

4
tcpdump提高udp性能
我正在运行一组负载测试以确定以下设置的性能: Node.js test suite (client) --> StatsD (server) --> Graphite (server) 简而言之,node.js测试套件每隔x秒就会向另一台服务器上的StatsD实例发送一定数量的指标。然后,StatsD每秒将指标刷新到位于同一服务器上的Graphite实例。然后,我查看测试套件实际发送了多少度量,以及Graphite收到了多少度量,以确定测试套件与Graphite之间的数据包丢失。 但是我注意到有时我会有非常大的丢包率(注意它是通过UDP协议发送的),范围从20%到50%。因此,当我开始查看这些数据包的丢弃位置时,发现StatsD可能是一些性能问题。因此,我开始记录系统各个部分的指标,以跟踪发生此下降的位置。这就是事情变得奇怪的地方。 我正在使用tcpdump创建一个捕获文件,在测试运行完成后检查该文件。但是每当我在运行tcpdump的情况下运行测试时,几乎都不存在数据包丢失的情况!看起来tcpdump某种程度上提高了我的测试性能,但我不知道为什么以及如何做到这一点。我正在运行以下命令来在服务器和客户端上记录tcpdump消息: tcpdump -i any -n port 8125 -w test.cap 在一个特定的测试案例中,我正在发送40000个指标/秒。运行tcpdump时的测试的数据包丢失率约为4%,而没有进行测试的数据包丢失率约为20% 这两个系统均通过以下设置作为Xen VM运行: 英特尔至强E5-2630 v2 @ 2.60GHz 2GB RAM Ubuntu 14.04 x86_64 我已经检查过的潜在原因: 增加UDP缓冲区的接收/发送大小。 影响测试的CPU负载。(客户端和服务器端的最大负载为40-50%) 在特定接口而不是“ any”上运行tcpdump。 使用'-p'运行tcpdump以禁用混杂模式。 仅在服务器上运行tcpdump。这导致发生20%的数据包丢失,并且似乎不影响测试。 仅在客户端上运行tcpdump。这样可以提高性能。 将netdev_max_backlog和netdev_budget增加到2 ^ 32-1。这没什么区别。 在每个nic上尝试了混杂模式的所有可能设置(服务器打开和客户端关闭,服务器关闭和客户端打开,都打开,都关闭)。这没什么区别。

3
替代etsy / statsd
etsy的statsd可以替代吗?甚至是完整的类似于仪表板的解决方案?我的研究仅发现专有的SaaS解决方案。 对于那些不知道的人:statsd是一个守护进程,它通过UDP收集应用程序和系统指标,并将其发送到Graphite,以生成或多或少的精美图表。有适用于所有重要语言的API。 我需要: 必须在没有第三方收集数据的情况下在我的服务器上运行 应该能够从系统Java和Perl收集数据 应该轻巧灵活 福斯 可能需要其他编程,可能只是一个框架
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.