You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks账户级资源利用率与成本消耗监控告警方案咨询

Azure Databricks 账户级监控告警方案(基于Log Analytics)

一、核心监控KPI与评估逻辑

1. 账户级资源利用率指标

  • 聚合CPU使用率:从ClusterMetrics或DatabricksClusterEvents表提取账户下所有工作区集群的CPU数据并聚合,评估规则:持续15分钟使用率超80%需排查资源瓶颈;低于20%可考虑缩容降本。
  • 聚合内存使用率:从集群指标表提取内存数据聚合,评估规则:持续15分钟使用率超85%需检查内存泄漏或调整节点规格;低于15%可减少节点数量。
  • 集群闲置时长占比:统计账户内运行时长超过4小时且无任务的集群占比,评估规则:占比超10%需强制配置自动停止规则。
  • 作业并发负载:从DatabricksJobEvents提取并发运行的作业数,评估规则:并发数超过集群池最大容量的80%需扩容集群池。

2. 成本消耗相关指标

  • 账户级日成本波动:通过DatabricksBillingLog(已启用账单诊断)或结合集群规格、运行时长计算日总成本,评估规则:日成本较上周同期增长超20%需排查异常作业或未停止的集群。
  • 闲置集群成本占比:统计闲置集群产生的成本占总Databricks成本的比例,评估规则:占比超15%需优化自动停止配置。
  • Unity Catalog存储成本:关联UnityCatalogEvents与存储账户诊断日志统计存储容量变化,评估规则:月存储容量环比增长超30%需清理冗余表或快照。

3. Unity Catalog专属指标

  • 权限变更频率:从UnityCatalogEvents提取权限变更事件,评估规则:单日变更超10次需审核操作合规性。
  • 元数据查询延迟:统计UC元数据查询的平均响应时间,评估规则:延迟超500ms持续10分钟需排查UC集群资源配置。
  • 数据访问拒绝次数:统计用户访问UC数据被拒绝的事件,评估规则:单日异常超5次需检查权限配置是否合理。

4. 作业与Notebook健康指标

  • 作业失败率:从DatabricksJobEvents计算失败作业数占总作业数的比例,评估规则:失败率超5%需排查作业代码或集群配置。
  • Notebook执行时长异常:统计Notebook执行时长较历史平均超2倍的次数,评估规则:单日超3次需优化代码或调整资源规格。

二、基于Log Analytics的告警配置

1. 告警规则创建步骤

  1. 进入目标Azure Log Analytics工作区,选择告警 > 新建告警规则
  2. 信号类型选择日志,点击添加条件
  3. 输入对应指标的Kusto查询语句,设置评估周期与频率
  4. 关联已有的动作组(支持邮件、Teams、Azure函数等通知方式)
  5. 配置告警名称、严重级别与描述,完成创建

2. 常用告警的Kusto查询示例

账户级CPU使用率过高告警

ClusterMetrics
| where TimeGenerated > ago(15m)
| summarize avg(CpuUsagePercent) by AccountId
| where avg_CpuUsagePercent > 80
  • 评估周期:15分钟
  • 频率:5分钟
  • 触发条件:查询返回结果不为空

闲置集群告警

DatabricksClusterEvents
| where EventName == "RUNNING"
| extend IdleDuration = now() - TimeGenerated
| where IdleDuration > 4h
| summarize ClusterCount = count() by AccountId
| where ClusterCount > 0
  • 评估周期:4小时
  • 频率:1小时
  • 触发条件:查询返回结果不为空

作业失败率过高告警

DatabricksJobEvents
| where TimeGenerated > ago(1d)
| where EventName in ("JOB_RUN_FAILED", "JOB_RUN_SUCCEEDED")
| summarize FailedCount = countif(EventName == "JOB_RUN_FAILED"), TotalCount = count() by AccountId
| where (FailedCount * 100.0 / TotalCount) > 5
  • 评估周期:1天
  • 频率:1小时
  • 触发条件:查询返回结果不为空

UC权限异常变更告警

UnityCatalogEvents
| where TimeGenerated > ago(1d)
| where EventName has_all ("PERMISSION", "CHANGE")
| summarize ChangeCount = count() by AccountId
| where ChangeCount > 10
  • 评估周期:1天
  • 频率:1小时
  • 触发条件:查询返回结果不为空

3. 成本告警配置(纯Log Analytics实现)

若未启用Azure Cost Management联动,可通过集群规格与运行时长计算成本并告警:

ClusterMetrics
| where TimeGenerated > ago(1d)
| extend HourlyCost = case(
    ClusterInstanceType contains "Standard_DS3_v2", 0.8,
    ClusterInstanceType contains "Standard_DS4_v2", 1.6,
    ClusterInstanceType contains "Standard_E8s_v5", 3.2,
    0 // 根据实际使用的实例类型补充成本
)
| summarize TotalDailyCost = sum(HourlyCost) by AccountId
| where TotalDailyCost > 1000 // 替换为实际预算阈值

内容的提问来源于stack exchange,提问作者Saurabh Mehta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:02:42