gpt4 book ai didi

ruby - 如何使用正则表达式从 Graphite 中获取数据?

转载 作者:数据小太阳 更新时间:2023-10-29 06:47:58 26 4
gpt4 key购买 nike

我想在一个请求中从 Graphite 的不同计数器获取数据,例如:-

summarize(site.testing_server_2.triggers_unknown.count,'1hour','sum')&format=json

summarize(site.testing_server_2.requests_failed.count,'1hour','sum')&format=json

summarize(site.testing_server_2.core_network_bad_soap.count,'1hour','sum')&format=json

等等.. 20多个

但是我不想获取

summarize(site.testing_server_2.module_xyz_abc.count,'1hour','sum')&format=json

在该请求中我该怎么做?

这是我尝试过的:

summarize(site.testing_server_2.*.count,'1hour','sum')&format=json&from=-24hour

它也获取“module_xyz_abc”的 json 数据,但我不想要。

最佳答案

您不能使用正则表达式本身,但您可以使用 Graphite Render URL API 中提供的一些类似的(在概念上和格式上)匹配技术。有几种方法可以在目标的“桶”(即点之间)内“匹配”。

目标匹配

星号 * 匹配

星号可用于匹配任何零个或多个字符。它可用于替换整个存储桶 (site.*.test) 或存储桶内 (site.w*t.test)。这是一个例子:

site.testing_server_2.requests_*.count

这将匹配 site.testing_server_2.requests_failed.count、site.testing_server_2.requests_success.count、site.testing_server_2.requests_blah123.计数,等等。

字符范围 [a-z0-9] 匹配

字符范围匹配用于匹配目标桶中的单个字符(site.w[0-9]t.test),并指定为范围或列表。例如:

site.testing_server_[0-4].requests_failed.count

这将匹配 site.testing_server_0.requests_failed.count、site.testing_server_1.requests_failed.count、site.testing_server_2.requests_failed.count 等。

值列表(组捕获){blah, test, ...} 匹配

值列表匹配可用于匹配值列表中的任何内容,位于目标存储桶的指定部分。

site.testing_server_2.{triggers_unknown,requests_failed,core_network_bad_soap}.count

这将匹配 site.testing_server_2.triggers_unknown.count、site.testing_server_2.requests_failed.count 和 site.testing_server_2.core_network_bad_soap.count。但没有别的,所以 site.testing_server_2.module_xyz_abc.count 不匹配。

回答

如果不知道您所有的存储桶值,就很难对这种方法进行外科手术(也许使用匹配选项的组合),因此我建议只使用值列表匹配。这应该允许您在一个有点长的请求中获取所有值。例如(请记住,您需要包含所有值):

summarize(site.testing_server_2.{triggers_unknown,requests_failed,core_network_bad_soap}.count,'1hour','sum')&format=json&from=-24hour

有关更多信息,请参阅 Graphite Paths and Wildcards

关于ruby - 如何使用正则表达式从 Graphite 中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19457815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com