问题标签 [statsd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4841 浏览

graphite - 度量标准的 StatsD/Graphite 命名约定

我正在开始检测 Web 应用程序,并使用 StatsD 收集尽可能多的相关指标。例如,以下是我目前使用的高级指标名称的一些示例:

……还有很多很多。我现在正在努力为各种指标建立一个一致的层次结构和一组命名约定,以便当前的指标有意义,并且有逻辑桶可以在其中添加未来的指标。

我的问题有两个:

  1. 您收集了哪些您认为不可或缺的相关指标?
  2. 您使用什么命名结构对指标进行分类?
0 投票
1 回答
2948 浏览

graphite - 难以从石墨中获得准确的数字

我有一个应用程序,它通过 statsd 将一些统计数据发布到石墨。每次服务接收到消息时,其中一个统计信息只是向 statsd 发送一个统计增量。我需要显示一个图表,显示此统计信息随时间的相对流量。一般来说,我应该能够显示一个图表,该图表每隔 10 秒刷新一次,并显示在这 10 秒内收到了多少条消息以及给定时间段内的历史记录。但是,无论我如何格式化我的 API 查询,我似乎都无法获得准确的数据。我读过很多文章,包括这篇:

http://code.hoosuite.com/accurate-counting-with-graphite-and-statsd/

这似乎提供了一些很好的见解,但仍然没有完全满足我的需求。这是我来的收盘价:

积分(命中计数(stats.recieved,“10 秒”))

但是,我不喜欢这个的累积结果,当我运行这个时,我得到的统计数据与我在日志中看到的接收消息相去甚远。我可以接受一些数据包丢失,但我们谈论的是数量级。我知道我做错了什么。只是希望有人能给我一些关于什么的见解。

0 投票
1 回答
137 浏览

php - 如何将 StatsD 与 Zend Framework 应用程序一起使用?

从本质上讲,我很好奇其他人是如何做到这一点的,特别是——你是否将 StatsD 示例 PHP 客户端包装在你自己的类中?你在哪里存储它的配置?在基于 ZF 的应用程序中使用 statsd 的任何问题?

谢谢!

PS:由于我同时使用 ZF1 和 ZF2,所以这个问题与 ZF 的两个版本有关。

0 投票
1 回答
1321 浏览

vimeo - 从石墨迁移到图形浏览器

石墨 web 应用程序不鼓励临时图形。Graphiti 等人只是花哨的 UI,虽然改进了 UI-UX,但对困扰石墨 web 应用程序的固有线性度量搜索并没有做太多。如果这里有错误,请纠正我,但我遇到的唯一鼓励临时图形的选项是Graph-Explorer。假设,Graph-Explorer 是唯一的出路。

我目前有大约 1000 个不同的指标。以下列方式命名——

stats.beta.pluto.ip-10-0-1-81.helios.pa.v4.reminder.total

stats.beta.pluto.ip-10-0-1-81.helios.pa.v4.reminder.failed

stats.beta.pluto.ip-10-0-1-81.helios.pa.v4.reminder.delivered

stats.dev.ganglia.ip-10-0-3-40.ink.web.pi.notification.android.total stats.dev.ganglia.ip-10-0-3-40.ink.web.pi.notification.android.failed stats.dev.ganglia.ip-10-0-3-40.ink.web.pi.notification.android.delivered

我明白这些会变成——

metric=stats.env=dev.role=ganglia.server=ip-10-0-3-40. application=ink.endpoint=web.src=pi.metric=notification.what=total

我在哪里插入unittarget_type标记?

同样,我有 500 个计时器。

  1. 如何从“proto1”迁移到“proto2”?

  2. 此外,Carbon-Tagger 究竟在哪里进入堆栈?

  3. 我是否在源级别重命名我的指标?

  4. 我是否修改了structured_metrics/plugins/statsd.py文件,因为我们在分布式基础架构中具有固定的层次结构?

  5. 有什么我想念的吗?

  6. 我必须在我的 statsd 中更改什么?我引用了碳标签文档—— “像 statsd 这样的聚合器将需要 proto2 支持。”

0 投票
1 回答
1226 浏览

graphite - 如何在 Graphite 中跟踪活跃用户的数量

我需要随时跟踪我网站上的活跃用户数量。为此,每次用户登录时我都会增加一个名为“users.loggedin”的密钥,并在每次用户注销时减少它。

我通过 StatD 将我的指标发送到 Graphite。但是根据我读过的“增量”给出了每个时间间隔的变化,因此我可以看到石墨仪表板中的变化,但它在一段时间后再次显示为零。

0 投票
0 回答
637 浏览

graphite - 石墨汇总返回不一致的数据

我设置了一个使用以下连接的两节点 Graphite 集群carbon-relay

石墨簇

我在大约 1 分钟的时间内为我的指标发送了 500 个计数器cluster-test-500,时间约为 60/10 秒。

根据我的聚合规则:

数据出现在两个节点的 Whisper 数据库中:

然后,当我使用该函数查询 Graphite 时summarize,过去一天:

它通过简单地重新运行相同的查询返回不一致的结果:

这似乎是由 WhisperDB 文件中看似随机的时间段总和造成的。这到底是什么原因造成的?

0 投票
1 回答
435 浏览

statistics - 每个给定项目的 Statsd 和 Graphite 统计信息,而不是时间

使用 statsd 和石墨很容易处理任何指标,假设它们是按时间跨度测量的。例如,很容易跟踪每秒的请求数。

另一方面,有时可能有助于根据给定的“基本项目”跟踪指标。例如,我处理一个数据集,我想跟踪无效字段的百分比、处理数据集所需的操作数等。我可以很容易地看到结果:“我们每秒在数据集中有 10 个无效值”和“我们平均每秒处理 100 个数据字段”,但我更愿意看到“在 100 个字段中,有 10 个无效值”之类的东西。

当处理这些字段需要相似的时间时,结果相似。但是,如果它发生变化(特别是如果时间根据数据的性质而不同),基于时间的统计数据会稍微令人困惑,并且不能反映我想要看到的内容。

任何解决方案如何设置 statsd / Graphite 来解决我提到的问题?

0 投票
1 回答
1382 浏览

graphite - 聚合来自不同实例的数据

我有一个关于 Graphite 的问题,我在 node.js 中与 statsD 一起使用。

我有一个服务器,要运行几个实例,我想在所有实例中汇总如下统计信息:

  • 平均响应时间
  • 活跃客户数量

现在每个实例都会有自己的文件夹,因为它从自己的图表开始,因为代码是:

我是否也可以做类似stats('/myServ/aggregates', reqCounter);的事情,以便每个实例除了使用跟踪自己的图表之外,还将其数据发送到石墨中的同一个图表stats.gauge('requestsPerSecond', reqCounter);

0 投票
1 回答
422 浏览

graphite - Graphite + Statsd,不同时间范围内的不同值

在使用 StatsD 和 Graphite 时,我在查看stats_counts.*不同时间范围内的相同指标值时遇到了问题:

20分钟分辨率

2小时分辨率

从上面的图表中可以看到,选择更大的时间范围时,相同的测量数据正在不同。

我会理解由于 Whisper 的存储聚合方案用于旧数据而导致的准确性松散,但这并不能解释最近的数据是如何显示的,就像它在不同的时间范围内具有不同的值一样。

只是为了记录,我的schema_aggregation.conf样子是这样的:

我的storage-schemas.conf

知道可能出了什么问题吗?也许我错过了一个配置?

0 投票
1 回答
1186 浏览

graphite - 如何将服务器和站点名称发送到石墨?

这是我的 /opt/graphite/statsd/local.js

如您所见,我通过将 globalPrefix 设置为“testing_server_1”来发送服务器名称,并将 legacyNamespace 设置为 false,所以我得到两个图

但是当我不设置 legacyNamespace 和 globalPrefix 时,我只得到一张图

我的问题是为什么会这样,其次,如何设置站点名称和服务器名称。