你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要说明
从 2023 年 9 月 21 日起,将无法创建新的指标顾问资源。 截至 2026 年 3 月 31 日,指标顾问门户已禁用。 指标顾问服务将于 2026 年 10 月 1 日停用。
建议使用以下替代方法:
- Azure Monitor作为官方 Azure 第三方产品,通过多个接口提供异常检测和分析功能,例如使用 Azure Monitor 中的 KQL 检测和分析异常。
- 开源异常检测器,此开源项目提供与 Kensho、Azure 指标顾问和 Azure 异常检测器在后端中相同的异常检测功能。
- Fabric
指标顾问检测到异常后,将使用挂钩根据警报设置触发警报通知。 警报设置可用于多个检测配置,可以使用各种参数自定义警报规则。
创建挂钩
指标顾问支持四种不同类型的挂钩:电子邮件、Teams、Webhook 和Azure DevOps。 可以选择适用于特定场景的挂钩。
电子邮件挂钩
注意
指标顾问资源管理员需要配置电子邮件设置,并在发送异常警报之前将 SMTP 相关信息输入指标顾问。 资源组管理员或订阅管理员需要在指标顾问资源的“访问控制”选项卡中至少分配一个“认知服务指标顾问管理员”角色。 详细了解电子邮件设置配置。
电子邮件挂钩是将异常警报发送到“电子邮件收件人”部分中指定的电子邮件地址的通道。 两种类型的警报电子邮件将发送:“数据馈送不可用”警报和“事件报表”,其中包含一个或多个异常。
若要创建电子邮件挂钩,可使用以下参数:
| 参数 | 说明 |
|---|---|
| 名称 | 电子邮件挂钩的名称 |
| 电子邮件收件人 | 要将警报发送到的电子邮件地址 |
| 外部链接 | 启用自定义重定向的可选字段,例如用于故障排除注释。 |
| 自定义异常警报标题 | 标题模板支持 ${severity}、${alertSettingName}、${datafeedName}、${metricName}、${detectConfigName}、${timestamp}、${topDimension}、${incidentCount}、${anomalyCount} |
选择“确定”后,将创建电子邮件挂钩。 可以在任何警报设置中使用它来接收异常警报。 有关详细步骤,请参阅在指标顾问中启用异常通知这一教程。
Teams 挂钩
Teams 挂钩是一条通道,用于将异常警报发送到 Microsoft Teams 通道。 Teams 挂钩通过“传入 Webhook”连接器实现。 可能需要在目标 Teams 通道中提前创建“传入 Webhook”连接器,并获取其 URL。 然后切换回到指标顾问工作区。
在左窗格中选择“挂钩”选项卡,然后选择页面右上角的“创建挂钩”按钮。 选择“Teams”挂钩类型,以下参数已提供:
| 参数 | 说明 |
|---|---|
| 名称 | Teams 挂钩的名称 |
| 连接器 URL | 在目标 Teams 通道创建的“传入 Webhook”连接器中复制的 URL。 |
选择“确定”后,将创建 Teams 挂钩。 可以在任何警报设置中使用该挂钩来通知目标 Teams 通道有异常警报。 有关详细步骤,请参阅在指标顾问中启用异常通知这一教程。
Webhook
Webhook 是使用客户提供的终结点的另一条通知通道。 在时序上检测到的任何异常都将通过 Webhook 通知。 可以通过几个步骤,在指标顾问中启用 Webhook 作为警报通知通道。
步骤 1. 在指标顾问资源中启用托管标识
系统分配的托管标识限制为每个资源一个,并绑定到此资源的生命周期。 可以使用Azure基于角色的访问控制(Azure RBAC)授予对托管标识的权限。 托管标识通过 Microsoft Entra ID 进行身份验证,因此无需在代码中存储任何凭据。
在 Azure 门户中,转到 Metrics Advisor 资源,选择“标识”,将其设置为“开启”以启用托管标识。
步骤 2. 在指标顾问工作区中创建 Webhook
登录到工作区,然后选择“挂钩”选项卡,然后选择“创建挂钩”按钮。
若要创建 Web 挂钩,需要添加以下信息:
| 参数 | 说明 |
|---|---|
| 端点 | 触发警报时要调用的 API 地址。 必须是 HTTPS。 |
| 用户名/密码 | 用于对 API 地址进行身份验证。 如果不需要身份验证,则将其保留为黑色。 |
| 标头 | API 调用中的自定义标头。 |
| Azure Key Vault 中的证书标识符 | 如果需要通过证书对终结点进行访问,证书应存储在Azure密钥保管库中。 在此处输入该标识符。 |
注意
创建或修改 Webhook 时,终结点将作为一个测试被调用,其请求正文为空。 API 需要返回 200 HTTP 代码才能成功通过验证。
- 请求方法为 POST
- 超时 30 秒
- 重试 5xx 错误,忽略其他错误。 不会遵循 301/302 重定向请求。
- 请求正文:
{
"value": [{
"hookId": "b0f27e91-28cf-4aa2-aa66-ac0275df14dd",
"alertType": "Anomaly",
"alertInfo": {
"anomalyAlertingConfigurationId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"alertId": "172536dbc00",
"timestamp": "2020-05-27T00:00:00Z",
"createdTime": "2020-05-29T10:04:45.590Z",
"modifiedTime": "2020-05-29T10:04:45.590Z"
},
"callBackUrl": "https://kensho2-api.azurewebsites.net/alert/anomaly/configurations/1bc6052e-9a2a-430b-9cbd-80cd07a78c64/alerts/172536dbc00/incidents"
}]
}
步骤 3。 (可选) 将证书存储在 Azure Key Vault 中,并获取标识符,如前所述,如果访问终结点需要通过证书进行身份验证,证书应存储在Azure密钥保管库中。
- 查看使用 Azure 门户在 Azure 密钥保管库 中设置和检索证书
- 选择已添加的证书,然后可复制“证书标识符”。
- 然后选择“访问策略”和“添加访问策略”,为“密钥权限”、“机密权限”和“证书权限”授予“Get”权限。 选择主体作为指标顾问资源的名称。 选择“访问策略”页中的“添加”和“保存”按钮。
步骤 4. 接收异常通知。通过 Webhook 推送通知时,你可以调用 Webhook 请求中的“callBackUrl”来提取事件数据。 此 API 的详细信息:
通过使用 Web 挂钩和 Azure 逻辑应用,可以在无需配置 SMTP 服务器的情况下发送电子邮件通知。 有关详细步骤,请参阅在指标顾问中启用异常通知这一教程。
Azure DevOps
指标顾问还支持在Azure DevOps中自动创建工作项,以跟踪检测到任何异常时的问题/bug。 可以通过Azure DevOps挂钩发送所有警报。
若要创建Azure DevOps挂钩,需要添加以下信息
| 参数 | 说明 |
|---|---|
| 名称 | 挂钩的名称 |
| 组织 | DevOps 所属的组织 |
| 项目 | DevOps 中的特定项目。 |
| 访问令牌 | 用于对 DevOps 进行身份验证的令牌。 |
注意
如果希望指标顾问基于异常警报创建工作项,则需要授予写入权限。 创建挂钩后,可以在任何警报设置中使用它们。 在“挂钩设置”页中管理挂钩。
添加或编辑警报设置
转到“指标详细信息”页面,在左下角找到“警报设置”部分。 它列出了应用于所选检测配置的所有警报设置。 创建新的检测配置时,没有警报设置,并且不会发送任何警报。
可以使用“添加”、“编辑”和“删除”图标来修改警报设置。
选择“添加”或“编辑”按钮,打开一个用来添加或编辑警报设置的窗口。
警报设置名称:警报设置的名称。 它将显示在警报电子邮件标题中。
挂钩:要向其发送警报的挂钩列表。
上面屏幕截图中标记的部分是一个检测配置的设置。 可以为不同的检测配置设置不同的警报设置。 使用此窗口中的第三个下拉列表选择目标配置。
筛选器设置
以下是一个检测配置的筛选器设置。
“筛选对象”有四个选项可用于筛选异常:
- 所有系列中的异常:所有异常都将包括在警报中。
- 序列组中的异常:按维度值筛选序列。 为某些维度设置特定值。 只有当序列与指定值匹配时,警报中才包含异常。
- 收藏序列中的异常:只有标记为收藏的序列才会包含在警报中。 |
- 前 N 个序列中的异常:此筛选器适用于只关注值排在前 N 的序列的情况。指标顾问将回溯以前的时间戳,并检查在这些时间戳的序列的值是否在前 N。如果“前 n”计数大于指定的数字,则警报中将包含该异常。 |
筛选异常选项是额外的筛选器,具有以下选项:
- 严重性:仅当异常严重性在指定范围内时才会包含异常。
-
推迟:后 N 个点(时间段)中的异常在警报中触发时,将暂时停止警报。
- 推迟类型:设置为“序列”时,触发的异常只会推迟其序列。 对于“指标”,一个触发的异常将推迟此指标中的所有序列。
- 推迟数:要推迟的点数(时间段)。
- 重置为不连续:选中此项时,触发的异常将仅推迟后 n 个连续异常。 如果以下数据点之一不是异常,则从该点重置推迟;如果不选择此选项,触发的异常将推迟接下来的 n 个点(周期),即使连续的数据点不是异常。
- 值(可选):按值筛选。 只有满足条件的点值,将包含异常。 如果使用另一个指标的相应值,则两个指标的维度名称应一致。
未筛选掉的异常将在警报中发送。
添加交叉指标设置
在“警报设置”页面选择“+ 添加交叉指标设置”来添加其他部分。
“运算符”选择器是每个部分的逻辑关系,用于确定它们是否发送警报。
| 操作员 | 说明 |
|---|---|
| AND | 仅当序列与每个警报部分匹配且所有数据点是异常时发送警报。 如果指标具有不同的维度名称,则永远不会触发警报。 |
| OR | 如果至少有一个部分包含异常,则发送警报。 |