你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
若要使备用池成功创建和管理资源,需要访问订阅中的关联资源。 确保为备用池资源提供程序分配正确的权限,以便备用池正常运行。 有关详细说明,请参阅 为备用池配置角色权限。
Azure Log Analytics 提供了一个强大的平台,用于监视和分析 Azure 容器实例中备用池中的事件。 通过将备用池与 Log Analytics 工作区集成,可以跟踪关键指标、分析趋势,并为关键事件设置警报。
可用的指标和表
有两个主要表可以查看与备用池关联的日志: SCGPoolRequestLog
和 SCGPoolExecutionLog
。
表名称 | DESCRIPTION |
---|---|
SCGPoolRequestLog |
包含用户启动事件的日志,例如池设置的更新。 |
SCGrPoolExecutionLog |
包含系统启动事件的日志,例如降级模式、容器重用和池重新填充等备用池操作。 |
在上述表中,可以查询特定的与池相关的事件,如下所示:
事件名称 | DESCRIPTION |
---|---|
StandbyPoolExhaustedPool |
当备用池实例计数达到零且无法创建更多容器时触发,因为池的最大就绪容量小于或等于容器组实例计数。 这通常在未配置最小就绪容量时发生。 |
StandbyPoolReuseSuccess |
成功将容器实例从备用池移动到容器组时触发。 |
StandbyPoolReuseFailure |
当容器组从备用池请求容器但无法提供容器时触发,导致容器组直接创建新容器。 |
StandbyPoolSettingsUpdated |
在备用池资源上更改设置时触发,例如调整最小/最大就绪容量或容器状态。 |
StandbyPoolMaxReadyPool |
在备用池中的实例数已经补足,可满足客户设置的最大就绪容量时触发。 |
StandbyPoolDegradedPool |
当备用池中的实例无法成功预配请求的资源时,将触发机制,使池进入降级模式,持续 30 秒。 |
StandbyPoolExitDegradedPool |
在降级模式下的超时到期时触发,并且此时资源池正在尝试再次创建资源。 |
为备用池配置 Log Analytics
Log Analytics 工作区是 Azure Monitor 中的集中式数据存储库,可用于从各种 Azure 资源和服务收集、分析和查询遥测数据。
创建 Log Analytics 工作区
在为备用池配置监视之前,请确保已设置 Log Analytics 工作区。
- 导航到 Azure 门户。
- 在搜索栏中,键入 Log Analytics 工作区 并从结果中选择它。
- 单击 + 创建。
- 填写必填字段:
- 订阅:选择要与工作区关联的订阅。
- 资源组:选择现有资源组或创建新资源组。
- 名称:输入工作区的唯一名称。
- 区域:选择工作区的区域。
- 单击“ 查看 + 创建”,然后单击 “创建” 以部署工作区。
为备用池配置诊断设置
若要将信息发送到配置的 Log Analytics 工作区,请为备用池资源设置诊断设置。 配置诊断设置后,大约需要 30 分钟,任何日志才会开始显示在 Log Analytics 工作区中。 配置 Log Analytics 工作区之前发生的事件不会包括在内。
注释
Azure 门户尚不支持为备用池资源启用诊断设置。 而是使用替代 SDK(如 PowerShell 或 CLI)启用诊断设置。
az monitor diagnostic-settings create \
--name "standbyPoolLogs" \
--resource "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.StandbyPool/standbyContainerPools/{standbyPool}" \
--workspace "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{logAnalyticsWorkspace}" \
--logs '[{"categoryGroup": "allLogs", "enabled": true}]'
查询备用池事件
- 转到 Azure 门户。
- 在顶部的搜索栏中,键入 Log Analytics 工作区 并从结果中选择它。
- 选择您为备用池配置的 Log Analytics 工作区。
- 在工作区菜单中,单击“常规”部分下的“日志”打开查询编辑器。
查询备用池事件
使用以下查询分析来自 SCGPoolRequestLog
和 SCGlExecutionLog
表的事件:
从 SCGPoolRequestLog
查看用户启动的事件
SCGPoolRequestLog
| where TimeGenerated > ago(24h)
| project TimeGenerated, EventName, ResourceId, Details
| order by TimeGenerated desc
从 SCGPoolExecutionLog
查看系统发起的事件
SCGPoolExecutionLog
| where TimeGenerated > ago(24h)
| project TimeGenerated, EventName, ResourceId, Details
| order by TimeGenerated desc
按类型对事件进行计数
SCGPoolRequestLog
| summarize Count = count() by EventName
| union (
SCGPoolExecutionLog
| summarize Count = count() by EventName
)
| order by Count desc
为特定事件设置警报
为了确保您收到关键事件的通知,您可以在 Azure Monitor 中根据 SCGPoolRequestLog
和 SCGPoolExecutionLog
表中的事件设置警报。
创建有关备用池失败操作的警报
导航到 Azure 门户。
在搜索栏中,键入 “监视 ”并从结果中选择它。
在“监视”菜单中,选择“监视”部分下的“警报”。
单击“+ 新建警报规则”。
配置警报:
- 范围:选择 Log Analytics 工作区。
- 条件:使用以下自定义日志查询:
SCGPoolExecutionLog | where EventName == "StandbyPoolReuseFailure"
- 操作组:创建或选择一个操作组,以定义您希望如何接收通知。
- 警报规则详细信息:提供警报的名称并设置严重性级别。
单击“ 创建警报规则 ”保存警报。
为耗尽的备用池创建警报
按照上一个示例中的步骤 1-4 进行操作。
配置警报:
- 范围:选择 Log Analytics 工作区。
- 条件:使用以下自定义日志查询:
SCGPoolExecutionLog | where EventName == "StandbyPoolExhaustedPool"
- 操作组:为通知创建或选择操作组。
- 警报规则详细信息:提供警报的名称并设置严重性级别。
单击“ 创建警报规则 ”保存警报。
创建有关池设置频繁更新的警报
按照第一个示例中的步骤 1 到 4 进行操作。
配置警报:
- 范围:选择 Log Analytics 工作区。
- 条件:使用以下自定义日志查询:
如果在一小时内进行超过 5 次池设置更新,则此查询会触发警报。SCGPoolRequestLog | where EventName == "StandbyPoolSettingsUpdated" | summarize Count = count() by bin(TimeGenerated, 1h) | where Count > 5
- 操作组:为通知创建或选择操作组。
- 警报规则详细信息:提供警报的名称并设置严重性级别。
单击“ 创建警报规则 ”保存警报。
后续步骤
- 通过模拟备用池中的事件来测试警报。
- 查看 Azure Monitor 警报文档 ,了解更高级的警报选项。