使用Grafana进行异常检测算法调优

Lindorm Machine Learning提供了Grafana插件,支持以可视化的方式进行时序异常检测,您可以通过该插件调试出合适的异常检测算法与参数。

操作流程

整体操作流程如下。

image

步骤一:创建Grafana工作区

您可以在阿里云应用实时监控服务ARMS中快速创建Grafana服务。更多信息,请参见快速使用Grafana服务

步骤二:添加Lindorm数据源

为了让Grafana能访问Lindorm数据,因此您需要在Grafana中添加Lindorm数据源,方法如下。

  • 一键集成(推荐):Grafana服务支持一键集成Lindorm服务,更多信息请参见同步Lindorm

  • 手动添加:在Grafana中手动添加Lindorm数据源,更多信息请参见添加并使用Lindorm数据源

步骤三:启用插件

Lindorm ML插件默认已安装在Grafana中,使用前需要启用该插件。

Grafana 9.x版本

  1. 登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理

  2. 工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。

    说明

    如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。

  3. 在Grafana左侧导航栏,单击p336428..png图标,然后单击Plugins

  4. 在插件搜索栏中搜索Lindorm ML,并单击搜索到的Lindorm ML插件。

  5. 单击Enable Plugin按钮,启用该插件。

    启用后,可以在Grafana左侧导航栏看到该插件。

Grafana 10.x版本

  1. 登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理

  2. 工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。

    说明

    如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。

  3. 在Grafana首页,单击页面左上角的image图标。

  4. 在左侧导航栏,单击管理,然后单击插件

  5. 在插件搜索栏中搜索Lindorm ML,并单击搜索到的Lindorm ML插件。

  6. 单击Enable Plugin按钮,启用该插件。

    启用后,可以在Grafana左侧导航栏看到该插件。

步骤四:调试算法与参数

Grafana 9.x版本

  1. 在Grafana左侧导航栏,单击image图标,进入Lindorm ML插件主页。

  2. 在概览页签,单击尝试异常检测,创建一个异常检测调试面板。

  3. Edit Panel页面,设置查询SQL。

    1. Data source列表中选择目标数据源名称。

    2. 使用编辑框或TSQL语句,设置查询SQL,更多信息请参见创建大盘面板

      说明

      当前仅支持选择一条时间线,且不支持在原始查询中添加SAMPLE BY条件。

    3. 在图表上方的时间选择器中,调整查询时间范围。

      此时,如果查询SQL配置正确,Lindorm ML会在图表中绘制出原始时间线数据,同时生成异常检测SQL进行查询,并将异常检测结果绘制在图表中。

      说明

      如果图表绘制失败或不符合预期,请确认原始数据查询SQL是否只选择了一条时间线,您可以在Grafana Explore界面中进行测试。

  4. 在右侧Anomaly Detect目录中,调整时序异常检测算法与参数。

    当前Lindorm ML主要提供两类算法:统计类算法和分解类算法,更多请参见时序异常检测算法分类

    • 如果您的数据带有较强的周期性,比如每天或每周在相对固定的时刻出现峰值或者谷值,那么推荐您优先尝试分解类算法(ostl-esd和istl-esd),参数调优请参见分解类算法参数调优

    • 如果您的数据通常通过阈值即可判断异常,那么推荐您优先尝试统计类算法(esd、ttest和nsigma),参数调优请参见统计类算法参数调优

    说明

    关于右侧的Panel optionsStandard optionsThresholds等参数设置,请参见开源版Grafana文档Configure panel options

  5. 调整不同的算法与参数,获取符合预期的异常检测效果,单击页面右上角的Save,保存大盘。

Grafana 10.x版本

  1. 在Grafana左侧导航栏,单击应用,然后单击Lindorm ML

  2. 在概览页签,单击尝试异常检测,创建一个异常检测调试面板。

  3. Edit Panel页面,设置查询SQL。

    1. Data source列表中选择目标数据源名称。

    2. 使用编辑框或TSQL语句,设置查询SQL,更多信息请参见创建大盘面板

      说明

      当前仅支持选择一条时间线,且不支持在原始查询中添加SAMPLE BY条件。

    3. 在图表上方的时间选择器中,调整查询时间范围。

      此时,如果查询SQL配置正确,Lindorm ML会在图表中绘制出原始时间线数据,同时生成异常检测SQL进行查询,并将异常检测结果绘制在图表中。

      说明

      如果图表绘制失败或不符合预期,请确认原始数据查询SQL是否只选择了一条时间线,您可以在Grafana Explore界面中进行测试。

  4. 在右侧Anomaly Detect目录中,调整时序异常检测算法与参数。

    当前Lindorm ML主要提供两类算法:统计类算法和分解类算法,更多请参见时序异常检测算法分类

    • 如果您的数据带有较强的周期性,比如每天或每周在相对固定的时刻出现峰值或者谷值,那么推荐您优先尝试分解类算法(ostl-esd和istl-esd),参数调优请参见分解类算法参数调优

    • 如果您的数据通常通过阈值即可判断异常,那么推荐您优先尝试统计类算法(esd、ttest和nsigma),参数调优请参见统计类算法参数调优

    说明

    关于右侧的Panel optionsStandard optionsThresholds等参数设置,请参见开源版Grafana文档Configure panel options

  5. 调整不同的算法与参数,获取符合预期的异常检测效果,单击页面右上角的Save,保存大盘。