我刚安装了石墨/ statsd用于生产用途.我真的很高兴,但我的一位同事问我是否有办法让它看起来更漂亮.老实说,我不能说我也不奇怪.
有没有替代Graphite UI可以更好地渲染数据,可能使用了一个很棒的前端图形库和http推送?
我正在尝试运行使用django 1.6的statsd/graphite.
访问石墨URL时,我得到django模块错误
文件"/opt/graphite/webapp/graphite/urls.py",第15行,来自django.conf.urls.defaults import*ImportError:没有名为defaults的模块
但是,我没有找到默认的 django包里面/Library/Python/2.7/site-packages/django/conf/urls/
请帮忙解决这个问题.
我想删除石墨的存储耳语数据,但石墨文档中没有任何内容.
我做的一种方法是/opt/graphite...../whispers/stats...手动删除文件.
但这很乏味,所以我该怎么做?
我一直在探索Graphite图形工具,用于显示来自多个服务器的指标,似乎"推荐"方式是首先将所有指标数据发送到StatsD.StatsD汇总数据并将其发送到石墨(或更确切地说,碳).
就我而言,我希望对服务器上的指标进行简单的聚合,例如求和和平均值,并用石墨绘制.石墨配有碳聚合器,可以做到这一点.
StatsD甚至没有提供我所说的那种聚合.
我的问题是 - 我应该根据我的用例使用statsd吗?我在这里缺少什么?
我正在尝试使用端口2003将数据发送到石墨碳缓存进程
1)Ubuntu终端
echo "test.average 4 `date +%s`" | nc -q0 127.0.0.1 2003
Run Code Online (Sandbox Code Playgroud)
2)NODEJS
var socket = net.createConnection(2003, "127.0.0.1", function() {
socket.write("test.average "+assigned_tot+"\n");
socket.end();
});
Run Code Online (Sandbox Code Playgroud)
当我在我的ubuntu上使用终端窗口命令发送数据时,它工作正常.但是,我不知道如何从nodejs发送时间戳unix纪元格式?
Grpahite以此格式度量度量标准度量路径值时间戳\n
在Windows环境中使用Etsy的Statsd需要什么?我的目的是创建一个.net客户端来使用Statsd.
我们有一个度量标准,每当用户在我们的网站上执行某个操作时,我们就会递增,但这些图表似乎并不准确.
为了摆脱这种预感,我们投入了updated.log的碳,并发现今天的动作发生了超过4千次(使用grep和wc),但根据图的积分结果,它只返回220ish.
可能是什么原因造成的?正在使用statsd php库向statsd报告数据,并且statsd::increment('metric');如上所述,该日志确认此密钥今天发生了4,000多次更新.
我们正在使用:
石墨0.9.6,带有statsD(etsy)
我有一个计数器,可以测量每10分钟售出的物品数量.我目前使用它来跟踪累计项目数:
alias(integral(app.items_sold), 'Today')
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:

现在,我想做的是表明我们今天的表现如何,与过去所说的90天最佳,平均(或可能中位数)最差的一天相比.我试过这样的事情:
alias(integral(maxSeries(timeStack(app.items_sold, '1d', 0, 90))),'Max')
alias(integral(averageSeries(timeStack(app.items_sold, '1d', 0,90))), 'Avg')
alias(integral(minSeries(timeStack(app.items_sold, '1d',0, 90))), 'Min')
Run Code Online (Sandbox Code Playgroud)

看起来很棒,但实际上显示了所有系列间隔的所有最大值,平均值和最小值的累积量.
任何人都可以建议一种方法来实现我正在寻找的东西吗?即确定过去90天的最佳(和最差和中位数)日,并绘制该图.可以使用纯Graphite功能吗?
谢谢.
我正在使用石墨来收集数据,我想在一段时间内检索某些事件的总数.比如说,每周登录次数.
但是,我只需要总数,而不需要看它是如何随着时间的推移而发展的.
当我使用像那样的东西时,from=-1w&target=summarize(stats.events.login.success,"1w")&format=json我仍然得到两个数据点,而不是一个.
有没有办法从函数中获取单个数据点summarize?或使用不同的函数返回单个数据点值?
我们运行了etsy/statsd节点应用程序,每10秒将统计信息刷新为碳/低语.如果发送100个增量(计数),在前10秒内,石墨会正确显示它们,如:
localhost:3000/render?from=-20min&target=stats_counts.test.count&format=json
[{"target": "stats_counts.test.count", "datapoints": [
[0.0, 1372951380], [0.0, 1372951440], ...
[0.0, 1372952460], [100.0, 1372952520]]}]
Run Code Online (Sandbox Code Playgroud)
然而,10秒后,这个数字下降到0,null和33.3.最终,它在初始增量数的1/6处稳定,在这种情况下16.6.
/opt/graphite/conf/storage-schemas.conf 是:
[sixty_secs_for_1_days_then_15m_for_a_month]
pattern = .*
retentions = 10s:10m,1m:1d,15m:30d
Run Code Online (Sandbox Code Playgroud)
我想获得准确的计数,石墨是否平均了60秒窗口的数据而不是总结它?使用积分函数,经过一段时间后,显然给出:
localhost:3000/render?from=-20min&target=integral(stats_counts.test.count)&format=json
[{"target": "stats_counts.test.count", "datapoints": [
[0.0, 1372951380], [16.6, 1372951440], ...
[16.6, 1372952460], [16.6, 1372952520]]}]
Run Code Online (Sandbox Code Playgroud)