问题标签 [graphite]
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.
linux - 使用 Linux 实时绘制一串 CSV 数据
我有一个文本文件,它会不断更新传感器数据。这是一个示例:
我正在尝试生成一些图,以便更好地查看我的数据的样子。文本文件每 15 秒左右更新一次新数据。我想创建一个包含所有数据的图。时间是X轴。然后,我想用单个传感器数据创建一个图。我真的很喜欢 Graphite,但它不理解我的数据流。我正在玩 gnuplot,但似乎无法使用我的数据文件来绘制它。
那里有任何指示吗?
graph - 排除高于某个点的图形值
我想确保在查看我的网络服务器响应时间图表时,我可以在图表的范围内看到从 0 到 5k 的详细程度。然而,偶尔会有超过 5k(文件下载)标记的指标,这会增加图表的比例,使得很难看到在常规值范围内发生了什么。
如何排除超过 5k 的度量值?请记住,我不希望指标本身被排除在外。
或者也许最好的办法是使用 log 缩小高点,但随后我会丢失实际的比例信息,这乍一看非常有用。
任何帮助表示赞赏。
graphite - 使用通配符绘制指标时,有没有办法强制对匹配指标进行排序?
我有两个使用以下指标的图表:
图1:oldMethod.latencies_msec.percentiles.p{25,50,75,90,95,99}
图2:newMethod.latencies_msec.percentiles.p{25,50,75,90,95,99}
我希望这两个图表对相似的指标使用相同的颜色。我不太关心颜色,但希望两个图中的两个 p25 具有相同的颜色,两个 p50 具有相同的颜色等等。
如果我不使用通配符并为每个图表使用 6 条不同的数据线,并以相同的方式为两个图表对指标进行排序,那么我会得到一致的颜色,但如果我使用通配符,则指标的排序似乎是任意的。
无论如何要解决订购问题吗?如果没有深入了解度量排序背后的逻辑,那将是有帮助的。
ruby-on-rails - 不接受从 Rails on Heroku 发送到 HostedGraphite 的 UDP 数据包
我在 Heroku 上有一个 Rails 应用程序,其中包含将 UDP 数据包(在某些用户操作上)发送到 HostedGraphite 的代码(我只是在试用免费版本)。
我已经将“socket.send”调用指向了我自己托管在其他地方的 UDP 服务器,所以我知道 UDP 数据包是从 Heroku 发送的。
我知道 HostedGraphite 的 API 密钥是正确的(检查了无数次)。
我还修改了发送数据的格式——包括和不包括行尾的“\n”(文档指定包含“\n”)。
我也尝试从我的开发环境发送数据包。
最后我尝试了这个:
我发送数据包的红宝石代码是:
从文档中可以清楚地看出,Ruby 的 UDPSocket 可以处理主机名而不是 IP 地址,所以这肯定不是问题。
好的,可能没有任何 UDP 数据包真正到达……不过似乎不太可能。
除此之外,我处于死胡同,我不知道还能尝试什么。有没有其他人成功使用过这项服务(尤其是在 Heroku 上托管的 Rails 应用程序)?我开始怀疑也许我需要付钱给他们...
接下来我将把它重写为 POST to HostedGraphite(但我仍然提出这个问题,因为它是 UDP 特定的)。
我还尝试使用 curl 请求进行 POST(无法添加更多链接,因此您必须自己找到该文档),再一次,HostedGraphite 方面没有出现任何内容(您可以在其中搜索您的指标)。
nginx - 石墨 nginx 每秒请求数
有什么方法可以让 Graphite 绘制 req/s ?
当您从 nginx_status 检索 nginx 请求时,您正在向石墨发送一个绝对值,所以我在想是否有任何方法可以获得每秒的速率?
我的理解是这derivative(series)
会给你请求/分钟,但我真的可以使用请求/秒。
干杯。
graphite - 无法让 StatsD 和 Graphite 播放
我一直在尝试让 StatsD 将信息推送到 Graphite,但在石墨日志中看到以下内容
从 StatsD 推送的信息看起来像(取自日志)
我已经通过 TCP 管理界面检查了 StatsD,它认为它可以很好地刷新到 Graphite,即使每次刷新似乎都会在 Graphite 方面抛出错误:
我不确定我在寻找什么来解决这个问题。目前我正在摆弄配置,以防我错过了一些东西 - 我的下一步是跳入 StatsD 代码并找出为什么它认为它会返回 200 而不是 400。任何指导将不胜感激。
cross-browser - tasseo 身份验证失败
我想知道是否有人将Tasseo用于他们的 Graphite 仪表板。我遇到了一些我不太明白的问题。基本上,Tasseo 轮询 Graphite 服务器以获取统计信息 - 如果您在 Graphite 服务器上启用了身份验证(http base auth),那么您必须将环境变量导出GRAPHITE_URL
到GRAPHITE_AUTH
运行 tasseo 的环境,即。如果您将 tasseo 作为 runit 服务运行,那么您的运行脚本应如下所示:
但我注意到的是,如果我没有在另一个选项卡中运行 Tasseo 的同一浏览器中对 Graphite 进行身份验证(通过运行,我的字面意思是运行,因为 Tasseo 只是一个完全内置在 javascript 中的 sinatra 应用程序,即它在您的浏览器),然后我无法显示任何图表。一旦我在同一个浏览器中对 Graphite 进行身份验证,一切正常。Tasseo 正在使用 CORS,即。它从 JavaScript 中轮询 Graphite,所以它可能会用它做点什么。
最烦人的是,每次我重新启动 tasseo 应用服务器时我都必须这样做 :-( 所以当我重新启动 tasseo 时,我必须重新加载 Graphite 页面 - 我假设这是重新验证?我也注意到,即使当我重新加载 Graphite 选项卡,Tasseo 工作了一段时间,然后过了一段时间(没有确切的措施)它停止工作 - 在 Chrome 的开发控制台中,我可以看到OPTIONS
对 Graphite 的请求失败 - 所以GET
请求也必须。任何想法?
graphite - Graphite 中序列的加权和
我正在处理来自 Graphite 中不同服务器的一系列响应时间,并且我有单独的系列显示来自每个服务器的请求数。现在我想做的是计算这些的加权平均值,即
avg = ((weight1 * value1) + (weight2 * value2)) / (weight1 + weight2)
但是,我在计算这个表达式的顶部时遇到了问题。我试过输入:
作为目标,但 Graphite 只是呈现“无数据”。每个 multiplySeries 都调用自己的作品。
我可能做错了什么?
cpu-usage - 石墨图 CPU 使用率
这有点棘手。我正在尝试以特定时间点的使用百分比来绘制 CPU 使用率。为此,我从中获取样本/proc/stat
- 这些是绝对样本,它们看起来像这样:
我用来显示这些的功能是:
基本上应该以百分比显示结果。我注意到当我绘制这样的图表时,我得到了相同的结果:
我的问题是,我注意到曲线在不断增长 - 只是很小的一部分,但它正在增长 - 我无法真正理解为什么。事实上,它应该是相当平坦的,并且根据采样时的 CPU 使用情况而下降和增长。我当然不会期望有增长的趋势。但我可能会遗漏一些东西,因此我转向这里寻求帮助。
java - statsdclient(java) 和 statsd 之间的不一致
我使用了一个 java 客户端(在 statsd 示例中可用)来触发我的测试应用统计信息。首先我遇到了这个错误:
然后我编写了一个小型 Java 程序来确认我的应用程序是否能够正确连接到 StatsD 服务器。是的,数据包也正确送达。
然后我debug=true
转向statsd。这是控制台输出:
这是我写的代码:
请帮忙...