grafana - 用通配符划分系列

时间:2017-11-22 22:05:14

标签: grafana graphite

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

我发现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是我想要的,但我似乎无法将这个例子转化为实际可行的内容。

1 个答案:

答案 0 :(得分:1)

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

的文档
private class Engine 
        extends CanvasWatchFaceService.Engine
        implements SharedPreferences.OnSharedPreferenceChangeListener {

    private SharedPreferences settings;

    @Override
    public void onCreate(SurfaceHolder surfaceHolder) {
        super.onCreate(surfaceHolder);

        settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
        settings.registerOnSharedPreferenceChangeListener(this);

        ...other setup code...
    }

    @Override
    public void onDestroy() {
        settings.unregisterOnSharedPreferenceChangeListener(this);

        ...other teardown code...

        super.onDestroy();
    }

    @Override
    public void onSharedPreferenceChanged(SharedPreferences settings, String key) {
        ...update your watch face here...
    }
}

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

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

作为旁注 - 您可以使用任何石墨功能,甚至pip install git+git://github.com/brutasse/graphite-api.git