标签: graphite

石墨图 CPU 使用率

这有点棘手。我正在尝试以特定时间点的使用百分比来绘制 CPU 使用情况。为此,我从中获取样本/proc/stat- 这些是绝对样本,它们看起来像这样:

app01.cpu.total.user    45997117    1358816118
app01.cpu.total.nice    165511          1358816118
app01.cpu.total.system  36679893    1358816118
app01.cpu.total.idle    3519926642  1358816118
app01.cpu.total.iowait  3854916         1358816118
app01.cpu.total.irq 2553            1358816118
app01.cpu.total.softirq 189828          1358816118
app01.cpu.total.steal   4497297         1358816118
app01.cpu.total.guest   0           1358816118
Run Code Online (Sandbox Code Playgroud)

我用来显示这些的函数是:

scale(divideSeries(stats.app01.cpu.total.user,sumSeries(stats.app01.cpu.total.*)), 100)
Run Code Online (Sandbox Code Playgroud)

基本上应该以百分比显示结果。我注意到当我像这样绘制图表时得到相同的结果:

asPercent(stats.app01.cpu.total.user,sumSeries(stats.app01.cpu.total.*))
Run Code Online (Sandbox Code Playgroud)

我的问题是,我注意到曲线在不断增长——虽然增长很小,但它正在增长——我真的不太明白为什么。事实上,它应该相当平坦,并且根据采样时的 CPU 使用情况而下降和增长。我当然不会期望出现增长趋势。但我可能会错过一些东西,因此我转向这里寻求帮助。

cpu-usage graphite

1
推荐指数
1
解决办法
4837
查看次数

如何最少可能依靠石墨图

require 'statsd'

statsd = Statsd.new('localhost', 8125).tap{|sd| sd.namespace = 'account'}

1.times do
  statsd.increment 'hitcount4'
end

sleep 5

5.times do
  statsd.increment 'hitcount4'
end

sleep 10

10.times do
  statsd.increment 'hitcount4'
end
Run Code Online (Sandbox Code Playgroud)

我正在使用红宝石宝石 statsd-ruby

我运行上面的脚本它成功执行,图形出现,但我只能看到x轴上的一条线而没有(没有y轴的值),如何获取上述脚本的图形?

我想记录每个增量调用.

/opt/graphite/statsd/local.js的内容

{
  graphitePort: 2003
, graphiteHost: "127.0.0.1"
, port: 8125
, backends: [ "./backends/graphite", "./backends/repeater", "./backends/console" ]
, repeater: [ { host: '10.1.2.15', port: 8125 } ]
, graphite: { legacyNamespace: false, globalPrefix: "rtpg.testing_server_2" }
, flushInterval: 10
}
Run Code Online (Sandbox Code Playgroud)

/opt/graphite/conf/storage-schemas.conf的内容

[carbon]
pattern = ^carbon\.
retentions = 60:90d

[stats] …
Run Code Online (Sandbox Code Playgroud)

ruby graphite statsd

1
推荐指数
1
解决办法
1132
查看次数

如何过滤石墨中的数据

我为我的统计数据运行statsd/graphite.我的统计数据可能看起来像

a.b.c.u1 = 13
a.b.c.u2 = 16
a.b.c.u3 = 18
a.b.c.u4 = 20
a.b.c.u5 = 21
a.b.c.u6 = 22
Run Code Online (Sandbox Code Playgroud)

我希望得到 a.b.c.$u价值> = 20的全部.

我如何使用石墨功能?

metrics wildcard graphite statsd

1
推荐指数
1
解决办法
1912
查看次数

石墨返回不正确的数据点

  • 我下载了statsd和石墨0.9.x.
  • 我使用stats-source提供的stats-client如下:
    • ./statsd-client.sh 'development.com.alpha.operation.testing.rate:1|c'
  • 我做了上述操作10次.

然后我尝试查询过去24小时的摘要:

http://example.com/render?format=json&target=summarize(stats.development.com.alpha.operation.testing.rate,"24hours","sum",true)&from = -24hours&tz = UTC

我得到1个数据点如下:

"datapoints": [[0.0, 1386277560]]}]
Run Code Online (Sandbox Code Playgroud)

为什么我得到0.0?甚至Graphite Composer也不会显示任何内容

当我执行10次操作时,我期待值为"10".我做错了什么?

存储schemas.conf

[carbon]
pattern = ^carbon\.
retentions = 60:90d

[default_1min_for_1day]
pattern = .*
retentions = 60s:1d
Run Code Online (Sandbox Code Playgroud)

请帮我理解这个问题.

编辑:

根据下面的答案,我更改了存储聚合,并在metric_file.wsp上运行whisper-info后得到以下响应.但我仍然在数据点中获得"0.0"作为值,而Graphite浏览器不显示任何内容.

maxRetention: 86400
xFilesFactor: 0.0
aggregationMethod: sum
fileSize: 17308

Archive 0
retention: 86400
secondsPerPoint: 60
points: 1440
size: 17280
offset: 28
Run Code Online (Sandbox Code Playgroud)

我还看了另一个答案中建议的stats_counts树,但它是一样的.

我的设置有什么问题.我正在使用默认设置,除了存储聚合中下面的答案所建议的更改

graphite statsd

1
推荐指数
1
解决办法
1604
查看次数

OperationalError:无法打开数据库文件

Graphite抛出无法打开的数据库文件

tail -f /etc/httpd/logs/error_log 
Run Code Online (Sandbox Code Playgroud)

这是setting.py文件配置

DATABASES = {
  'default': {
    'NAME': '/opt/graphite/webapp/test.db',
    'ENGINE': 'django.db.backends.sqlite3',
    'USER': '',
    'PASSWORD': '',
    'HOST': '',
    'PORT': ''
  }
}
Run Code Online (Sandbox Code Playgroud)

DONE

python manage.py  syncdb
Run Code Online (Sandbox Code Playgroud)

该文件存在于以下位置

[root@bash  graphite]# ls -l /opt/graphite/webapp/test.db
-rw-rw-rw- 1 nobody nobody 65536 Nov 11 22:22 /opt/graphite/webapp/test.db
Run Code Online (Sandbox Code Playgroud)

它会抛出错误

[Tue Nov 11 22:24:15 2014] [error]   File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 53, in execute
[Tue Nov 11 22:24:15 2014] [error]     return self.cursor.execute(sql, params)
[Tue Nov 11 22:24:15 2014] [error]   File "/usr/lib/python2.6/site-packages/django/db/backends/sqlite3/base.py", line 452, in execute
[Tue Nov …
Run Code Online (Sandbox Code Playgroud)

python sqlite django graphite

1
推荐指数
1
解决办法
4516
查看次数

比较 t 和 t-7 天的值

为了获得一些“视觉警报”,我想在 Grafana 中的同一个图形上同时绘制两条曲线:

  • 当前时间窗口图
  • 相同的图表,但有 7 天前的数据

这个想法是为了能够比较前一周同一天的数据演变。

我找不到 Graphite 函数(但我可能在文档中遗漏了一些东西)。

有没有办法做到这一点?

graphite grafana

1
推荐指数
1
解决办法
2765
查看次数

带通配符的系列的石墨最大值

我正在寻找类似于 sumSeriesWithWildcards 的东西,但对于最大值/最小值。我的意思是,它应该计算最小值或最大值,而不是计算在所需字段上聚合的总和。我很惊讶没有在 Graphite 库中找到 maxSeriesWithWildcards 调用。如果它不存在,我怎么能模拟呢?

谢谢,你好,索林

aggregate series graphite

1
推荐指数
1
解决办法
2869
查看次数

Jenkins Groovy 脚本来执行 shell 命令

我正在使用一个 groovy 脚本来计算我的构建持续时间并将指标发布到托管石墨,从命令行将产生以下卷曲并产生预期效果:

echo {someMetricHere} | nc carbon.hostedgraphite.com 2003
Run Code Online (Sandbox Code Playgroud)

但是,在我的 groovy 脚本中,生成指标的最后一步是运行以下命令:

"echo "+ metric +" | nc carbon.hostedgraphite.com 2003".execute()
Run Code Online (Sandbox Code Playgroud)

它的回归:

捕获:java.io.IOException:无法运行程序“|”:错误=20,不是目录 java.io.IOException:无法运行程序“|”:错误=20,不是 hudson8814765985646265134.run(hudson8814765985646265134. :27) 由:java.io.IOException: error=20, Not a directory ... 1 more

我假设该命令不理解“|” 命令的一部分,对如何修复此脚本以运行预期的 bash 有何建议?我认为可以在工作区中创建一个 .sh 文件,但我不确定如何。

想要查看完整脚本的人的 Pastebin:https : //pastebin.com/izaXVucF

干杯:)

bash shell groovy jenkins graphite

1
推荐指数
1
解决办法
2万
查看次数

grafana - 用通配符划分系列

我正在尝试在 grafana 中构建百分比列表,但无法让divideSeries+ 通配符正常工作。

我发现Grafana划分2个系列,这看起来像是我想要的,但不幸的是mapSeries我的grafana实例(版本4.6.0-1)中没有功能。

这就是我所得到的,但我不想指定 ID“1234”,而是想使用通配符,并将每个 ID 分组在一起。

divideSeries(stats.dhcp.pools.1234.cur,stats.dhcp.pools.1234.max)
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,我尝试过:divideSeries(stats.dhcp.pools.*.cur,stats.dhcp.pools.*.max)--但这不起作用。我尝试使用asPercent,但它具有与 相同的限制divideSeries

我认为applyByNode这就是我想要的,但我似乎无法将这个例子转化为实际有效的东西。

graphite grafana

1
推荐指数
1
解决办法
2860
查看次数

石墨网和Ubuntu 18.04

我正在尝试在新安装的ubuntu 18.04系统上设置石墨网。我使用了apt数据包管理器,因此获得了1.0.2版的石墨网。我通常完成配置,但是尝试在浏览器中打开石墨网时出现“内部服务器错误”。石墨网的Apache错误日志显示:

[Fri May 25 07:02:47.097839 2018] [wsgi:error] [pid 13350] [remote XXX.XXX.XXX.XXX:XXXX] mod_wsgi (pid=13350): Exception occurred processing WSGI script '/usr/share/graphite-web/graphite.wsgi'.
[Fri May 25 07:02:47.102111 2018] [wsgi:error] [pid 13350] [remote XXX.XXX.XXX.XXX:XXXX] Traceback (most recent call last):
[Fri May 25 07:02:47.102210 2018] [wsgi:error] [pid 13350] [remote XXX.XXX.XXX.XXX:XXXX]   File "/usr/lib/python2.7/dist-packages/django/core/handlers/wsgi.py", line 157, in __call__
[Fri May 25 07:02:47.102389 2018] [wsgi:error] [pid 13350] [remote XXX.XXX.XXX.XXX:XXXX]     response = self.get_response(request)
[Fri May 25 07:02:47.102535 2018] [wsgi:error] [pid 13350] [remote XXX.XXX.XXX.XXX:XXXX]   File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 124, in get_response …
Run Code Online (Sandbox Code Playgroud)

graphite

1
推荐指数
1
解决办法
948
查看次数

石墨:每点精度的时间

以毫秒精度存储每点的时间是否可能?

由于Graphite基于Whisper,我看了一下whisper.py文件.它包含:

UnitMultipliers = {
   's' : 1,
   'm' : 60,
   'h' : 60 * 60,
   'd' : 60 * 60 * 24,
   'y' : 60 * 60 * 24 * 365,
}
Run Code Online (Sandbox Code Playgroud)

因此,似乎可以记录最大精度为1s的事件.我如何应对每10ms产生一次事件的系统?

python graphite

0
推荐指数
1
解决办法
2140
查看次数

每分钟绘制API命中图

我正在尝试绘制每分钟调用一次API的次数。通过将Coda Hale指标与Graphite一起使用,我可以看到连续计数(即,如果调用API 5次,它将在时间上显示恒定的5值线),或者我可以看到每分钟的指数加权移动平均值..... ........但是我想看看的是每分钟调用API的次数。我尝试使用Coda Hale的计数器,计时器和仪表,也尝试使用Graphite渲染功能,但无法获得所需的内容。

有人做过吗-道歉,如果这是一个基本问题

metrics graphite

0
推荐指数
1
解决办法
1972
查看次数

标签 统计

graphite ×12

statsd ×3

grafana ×2

metrics ×2

python ×2

aggregate ×1

bash ×1

cpu-usage ×1

django ×1

groovy ×1

jenkins ×1

ruby ×1

series ×1

shell ×1

sqlite ×1

wildcard ×1