grafana - 用通配符划分系列

Posted

技术标签:

【中文标题】grafana - 用通配符划分系列【英文标题】:grafana - divide series with wildcards 【发布时间】:2018-05-06 18:36:52 【问题描述】:

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

我找到了 Grafana dividing 2 series,这似乎是我想要的,但不幸的是,我的 grafana 实例(版本 4.6.0-1)中没有 mapSeries 函数。

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

divideSeries(stats.dhcp.pools.1234.cur,stats.dhcp.pools.1234.max)

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

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

【问题讨论】:

请注意:Grafana 为 Graphite 显示的功能取决于您的 Graphite 版本。如果您安装了最新版本的 Graphite,您可以在数据源设置中更改版本。 奇怪,我使用的是最新的石墨 api 版本 (graphite-api-1.1.3-3.el7)。据我了解,graphite-api 实现了所有的 Graphite-web 功能,但我想我已经有了一个深入研究的起点。 需要从 github url 安装:pip install git+git://github.com/brutasse/graphite-api.git 在 Grafana 中,数据源设置中有一个版本字段 - 您应该将其更改为 1.1.x 以查看所有新功能。 【参考方案1】:

您使用石墨作为数据源(我认为)。您提到的功能在graphite-web 中实现,您也可以找到applyByNode 的文档

applyByNode(
    stats.dhcp.pools.*.*,
    3,
    'divideSeries(%.cur, %.max)',
    '% pct'
)

请注意,截至 2017 年 11 月,applyByNode 不在默认的石墨 api 安装中,需要从 github 源安装:

pip install git+git://github.com/brutasse/graphite-api.git

附带说明 - 您可以使用任何石墨功能,甚至是 mapSeries

【讨论】:

以上是关于grafana - 用通配符划分系列的主要内容,如果未能解决你的问题,请参考以下文章

Grafana 使用通配符从查询中排除值

OpenTSDB使用Grafana的Filters type注解

在grafana中相互划分多个系列

12.25-- 特殊符号系列,通配符与正则表达式

正则表达式 特殊符号系列 通配符系列

Struts2系列:通配符和动态方法调用