本文介绍如何使用Smart Metrics插件,包括创建预测任务、指标查询和配置告警。
功能入口
登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理。
在工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。
说明如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或者单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。
开启Smart Metrics插件
Grafana 9.x版本
单击Grafana首页左上角的图标。
在Grafana左侧导航栏,单击Configuration,然后单击Plugins。
在搜索框中输入Smart Metrics,然后单击Smart Metrics卡片。
在Smart Metrics页面,单击config页签,然后单击Enable。
Grafana 10.x版本
单击Grafana首页页面左上角的图标。
在Grafana左侧导航栏,单击管理,然后单击插件。
在搜索框中输入Smart Metrics,然后单击Smart Metrics卡片。
在Smart Metrics页面,单击config页签,然后单击Enable。
创建动态阈值任务
Grafana 9.x版本
在Grafana左侧导航栏。单击图标,然后单击创建预测。
在Datasource右侧下拉框选择合适的数据源。
在Metrics browser区域选择所需动态监控的指标。
说明Smart Metrics目前只支持添加一条指标的任务,因此需要明确指标中的Label Value, 或者通过算子(如Sum、Count),实现单个指标的查询。
单击Metrics browser,然后在Select a metric区域选择具体的指标。
在Select labels to search in区域选择具体维度,然后在Select (multiple) values for your labels区域选择对应维度下的选项。
单击Use query生成对应的查询语句。
选择完成后,单击Run Query,查询到对应的指标曲线。
设定合适的模型参数,建议使用默认值即可。
说明灵敏度:低灵敏度表示预测出来的上下边界之间的距离比较大,高灵敏度则表示上下边界之间的距离比较小。对波动性较强的指标,建议配置低灵敏度。
输入预测名称和描述内容。
重要预测名称不可以和已有的预测名称重复。
预测名称会成为当前动态阈值任务的名称,也是后续查询指标的名称。
单击创建预测,完成创建。
说明创建需要约2分钟的时间,期间大盘会显示无数据。
Grafana 10.x版本
单击Grafana首页左上角的图标。
在左侧导航栏,单击应用,然后单击Smart Metrics。
在Datasource右侧下拉框选择合适的数据源。
在Metrics browser区域选择所需动态监控的指标。
说明Smart Metrics目前只支持添加一条指标的任务,因此需要明确指标中的Label Value, 或者通过算子(如Sum、Count),实现单个指标的查询。
单击Metrics browser,然后在Select a metric区域选择具体的指标。
在Select labels to search in区域选择具体维度,然后在Select (multiple) values for your labels区域选择对应维度下的选项。
单击Use query生成对应的查询语句。
选择完成后,单击Run Query,查询到对应的指标曲线。
设定合适的模型参数,建议使用默认值即可。
说明灵敏度:低灵敏度表示预测出来的上下边界之间的距离比较大,高灵敏度则表示上下边界之间的距离比较小。对波动性较强的指标,建议配置低灵敏度。
输入预测名称和描述内容。
重要预测名称不可以和已有的预测名称重复。
预测名称会成为当前动态阈值任务的名称,也是后续查询指标的名称。
单击创建预测,完成创建。
说明创建需要约2分钟的时间,期间大盘会显示无数据。
查看指标
Grafana 9.x版本
在Grafana左侧导航栏。单击图标,然后单击预测列表。
说明新预测任务创建后,任务立即启动,完成数据拉取、计算、存储等任务,该过程需要等待1~2分钟左右。
根据预测名称找到预测任务,然后单击查看大盘,查看具体的指标和对应的上下边界情况。
大盘提供了原始指标时间序列数据和对应的上下边界组合成的正常区域。指标值在边界之内的则可以理解为算法判定的正常,超出上下边界的则可以理解为算法判定的异常。
Smart Metrics对指标的正常变化范围做出预测,生成未来一段时间的上下边界,并自动写入Prometheus。但Prometheus不会提前显示未来数据,而是根据实际时间自动获取对应数据,实时显示在大盘上。
单击面板名称,然后单击Edit。
当前指标和上下边界统一保存在cloud_product_prometheus_cn-hangzhou_aiops_userId组合成的数据源中。指标名称即为创建任务时的名称,对应的
label: smart_metric
取值为actual(原始指标)、upper(上边界指标)、 lower(下边界指标)。例如:如果您想单独查看上边界,则只需要在对应的cloud_product_prometheus_cn-hangzhou_aiops_userId数据源中,编辑指标为
名称{smart_metric="upper"}
,在本例中即为test{smart_metric="upper"}
。
Grafana 10.x版本
单击Grafana首页页面左上角的图标。
在左侧导航栏,单击应用,然后单击Smart Metrics。
在Metrics browser页面,单击预测列表。
说明新预测任务创建后,任务立即启动,完成数据拉取、计算、存储等任务,该过程需要等待1~2分钟左右。
根据预测名称找到预测任务,然后单击查看大盘,查看具体的指标和对应的上下边界情况。
大盘提供了原始指标时间序列数据和对应的上下边界组合成的正常区域。指标值在边界之内的则可以理解为算法判定的正常,超出上下边界的则可以理解为算法判定的异常。
Smart Metrics对指标的正常变化范围做出预测,生成未来一段时间的上下边界,并自动写入Prometheus。但Prometheus不会提前显示未来数据,而是根据实际时间自动获取对应数据,实时显示在大盘上。
单击页面右上角的图标,然后单击编辑。
当前指标和上下边界统一保存在云服务自监控-上海-userId组合成的数据源中。指标名称即为创建任务时的名称,对应的
label: smart_metric
取值为actual(原始指标)、upper(上边界指标)、 lower(下边界指标)。例如:如果您想单独查看上边界,则只需要在对应的云服务自监控-上海-userId数据源中,编辑指标为
名称{smart_metric="upper"}
,在本例中即为test{smart_metric="upper"}
。
异常检测
Grafana 9.x版本
在Edit页面的Query页签。
B、C区域预置了上边界指标的和下边界指标对应的查询语句。
D、E区域预置了指标实际值超出上边界的和低于下边界的查询语句。
您可以根据需要复制这些查询语句配置其它大盘,用于分析、告警等后续的操作。
Grafana 10.x版本
在编辑页面的Query页签。
B、C区域预置了上边界指标的和下边界指标对应的查询语句。
D、E区域预置了指标实际值超出上边界的和低于下边界的查询语句。
您可以根据需要复制这些查询语句配置其它大盘,用于分析、告警等后续的操作。
告警配置
Grafana 9.x 版本
在Grafana左侧导航栏。单击图标,然后单击预测列表。
根据预测名称找到预测任务,然后单击查看大盘。
单击面板名称,然后单击Edit。
单击Alert页签,然后单击Create alert rule from this panel。
按照实际需求选择关注的指标。
需求
指标
实际值超出上边界时告警
指标D:my_metric_8{smart_metric="actual"} > ignoring (smart_metric) my_metric_8{smart_metric="upper"}
实际值低于下边界时告警
指标E:my_metric_8{smart_metric="actual"} < ignoring (smart_metric) my_metric_8{smart_metric="lower"}
实际值超出上边界的1.5倍时告警
修改指标D为:my_metric_8{smart_metric="actual"} > ignoring (smart_metric) my_metric_8{smart_metric="upper"}*1.5
实际值低于下边界的0.8倍时告警
修改指标E为:my_metric_8{smart_metric="actual"} < ignoring (smart_metric) my_metric_8{smart_metric="lower"}*0.8
实际值超出上边界或低于下边界时告警
修改D指标或E指标或新增一个指标:my_metric_8{smart_metric="actual"} > ignoring (smart_metric) my_metric_8{smart_metric="upper"} or my_metric_8{smart_metric="actual"} < ignoring (smart_metric) my_metric_8{smart_metric="lower"}
单击任意指标右侧的Run queries,检测查询语句是否合规。
在区域G,配置告警条件。
When:选择聚合函数。
OF :选择您关注的指标 。指标选择D、E或是您自定义的指标,可参数上述步骤5罗列的指标表格。
说明Smart Metrics默认如果指标没有超出上边界,D指标返回空值,所以IS ABOVE后面的值用默认的0就好。
如果您的需求是“当指标实际值超出上边界,就告警”,那么您可以如图所示的参数配置示例,其表示当指标E的平均值大于0,就告警。
在区域2中,单击Configure on data and error handing,然后在第一个下拉框中选择OK,表示当D是空数据时无需告警,是正常状态。
说明由于Smart Metrics默认如果指标没有超出上边界,D指标返回空值。如果没有选择OK选项,则会一直收到告警。
在区域3设置通知组。
单击页面右上角Save and Exit,保存并退出。完成后可以在大盘下方的Alert页签查看已配置好的告警。
后续告警处理流程,如选择钉钉告警、电话告警以及压缩策略等,请参见推送Grafana 9.0.x和10.0.x版告警事件到ARMS告警和告警管理(ARMS告警)。
Grafana 10.x版本
单击Grafana首页页面左上角的图标。
在左侧导航栏,单击应用,然后单击Smart Metrics。
在Metrics browser页面,单击预测列表。
根据预测名称找到预测任务,然后单击查看大盘。
单击页面右上角的图标,然后单击编辑。
单击Alert页签,然后单击Create alert rule from this panel。
按照实际需求选择关注的指标。
需求
指标
实际值超出上边界时告警
指标D:my_metric_8{smart_metric="actual"} > ignoring (smart_metric) my_metric_8{smart_metric="upper"}
实际值低于下边界时告警
指标E:my_metric_8{smart_metric="actual"} < ignoring (smart_metric) my_metric_8{smart_metric="lower"}
实际值超出上边界的1.5倍时告警
修改指标D为:my_metric_8{smart_metric="actual"} > ignoring (smart_metric) my_metric_8{smart_metric="upper"}*1.5
实际值低于下边界的0.8倍时告警
修改指标E为:my_metric_8{smart_metric="actual"} < ignoring (smart_metric) my_metric_8{smart_metric="lower"}*0.8
实际值超出上边界或低于下边界时告警
修改D指标或E指标或新增一个指标:my_metric_8{smart_metric="actual"} > ignoring (smart_metric) my_metric_8{smart_metric="upper"} or my_metric_8{smart_metric="actual"} < ignoring (smart_metric) my_metric_8{smart_metric="lower"}
单击任意指标右侧的Run queries,检测查询语句是否合规。
在区域G,配置告警条件。
Function:选择聚合函数。
Input:选择您关注的指标 。指标选择D、E或是您自定义的指标,可参数上述步骤5罗列的指标表格。
说明Smart Metrics默认如果指标没有超出上边界,D指标返回空值,所以IS ABOVE后面的值用默认的0就好。
如果您的需求是“当指标实际值超出上边界,就告警”,那么您可以如图所示的参数配置示例,其表示当指标E的平均值大于0,就告警。
在区域3设置通知组,单击Configure on data and error handing,然后在第一个下拉框中选择OK,表示当D是空数据时无需告警,是正常状态。
单击页面右上角Save rule and Exit,保存并退出。完成后可以在大盘下方的Alert页签查看已配置好的告警。
编辑任务
Grafana 9.x版本
在Grafana左侧导航栏。单击图标,然后单击预测列表。
单击待编辑目标右侧的图标,进入编辑预测页面,根据您的需求对目标进行编辑。详细步骤,请参见创建动态阈值任务Grafana 9.x版本。
编辑完成后,单击保存预测。
Grafana 10.x版本
单击Grafana首页页面左上角的图标。
在左侧导航栏,单击应用,然后单击Smart Metrics。
在Metrics browser页面,单击预测列表。
单击待编辑目标右侧的图标,进入编辑预测页面,您可以对目标进行编辑。详细步骤,请参见创建动态阈值任务Grafana 10.x版本。
编辑完成后,单击保存预测。
删除任务
Grafana 9.x版本
在Grafana左侧导航栏。单击图标,然后单击预测列表。
单击目标任务右侧的图标,完成对目标的删除。
Grafana 10.x版本
单击Grafana首页页面左上角的图标。
在左侧导航栏,单击应用,然后单击Smart Metrics。
在Metrics browser页面,单击预测列表。
单击目标任务右侧的图标,完成对目标的删除。