如何在Azure中报告过时资产并实现每日邮件推送?
针对Azure过时资产每日邮件告警的原生方案
你可以通过以下Azure原生工具组合实现需求,无需依赖第三方服务:
1. Azure Monitor日志查询+警报规则
- 利用Azure Monitor日志工作区,针对不同资产类型编写Kusto查询,筛选90天内无活动记录的资源:
- 示例:查询90天未运行的虚拟机
VMComputer | where TimeGenerated < ago(90d) | summarize LastActivity = max(TimeGenerated) by Computer, ResourceId | where LastActivity < ago(90d) - 示例:查询90天无访问记录的存储账户
StorageBlobLogs | where TimeGenerated < ago(90d) | summarize LastAccess = max(TimeGenerated) by AccountName, ResourceId | where LastAccess < ago(90d)
- 示例:查询90天未运行的虚拟机
- 将查询保存为日志查询规则,设置每日运行周期;基于该规则创建警报,触发条件设为“查询返回结果数>0”。
- 在警报的动作组中添加“电子邮件”动作,配置接收地址,即可实现每日自动推送包含过时资产列表的邮件。
2. Azure Advisor+自动化Runbook补充方案
- Azure Advisor的成本优化模块会自动识别闲置资源(默认周期为7-30天),若需90天的筛选逻辑,可通过Advisor API编写Azure自动化Runbook:
- 在自动化账户中创建PowerShell/Python Runbook,调用Advisor API获取资源闲置数据
- 筛选出90天未活动的资产,通过自动化账户的邮件动作发送通知
- 设置Runbook每日触发执行
关键注意事项
- 需提前为目标资源开启诊断设置,确保Azure Monitor能收集到活动日志数据
- 不同资产类型的活动日志字段存在差异,需参考对应服务的日志文档调整Kusto查询逻辑
内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

