第一章:Azure Monitor 概述与核心组件
说到 Azure 监控,我个人最喜欢的还是 Azure Monitor。它是我日常巡检、排障时最常用的工具。说白了,Azure Monitor 就是一个统一的数据收集、分析、报警平台。它把 Azure 上所有资源产生的日志、性能计数器、事件、自定义指标全拉到一个池子里,方便你集中查看。
我记得刚接手一个大客户的 Azure 环境时,光诊断设置就配了上百条,日志分散在十几个存储账户里,想查个特定故障点得翻好几个地方。后来用 Azure Monitor 一整合,世界清静了。
1.1 Azure Monitor 的定位与价值
Azure Monitor 不是单打独斗的工具。它跟 Azure 各类服务深度绑定——虚拟机、AKS、数据库、应用网关,甚至本地服务器都能接入。你不需要在每台机器上重复装代理,也不用自己在脚本里拼凑日志。它帮你干三件事:
- 收集:自动从 Azure 资源拉取平台日志、指标,也支持自定义来源。
- 存储与分析:Log Analytics Workspace 就是日志的“大本营”,支持 KQL 查询。
- 响应:你可以在数据上创建告警规则,触发自动动作或通知。
核心价值点:把分散的数据集中到一个查询引擎里,用 KQL(Kusto 查询语言)就能做跨资源、跨订阅的分析。我经常用它做容量趋势分析——几行 KQL 就搞定了三个月的数据聚合。
1.2 核心组件一览
Azure Monitor 的组件挺多,但我把它拆成五个核心部分。下面这张图能帮你快速建立印象:
1.3 五大组件详解
1.3.1 Log Analytics Workspace
这就是日志的“宅基地”。所有 Azure 平台的诊断日志、活动日志、安全日志、自定义数据都会流到这里。你可以把 Workspace 理解成一个数据库——表结构可拓展,你还可以用 KQL 做 join 或跨表查询。
我之前踩过一个坑:给所有虚拟机配了诊断设置,但忘了把 Workspace 配在同一个区域,导致数据跨境传输成本飙升。嗯,这里要注意——Log Analytics Workspace 尽量部署在资源所在的区域,不然流量费会让你心痛。
| 定价层 | 数据保留 | 适用于 |
|---|---|---|
| 免费层(已弃用) | 7 天 | 测试,不推荐生产 |
| 按量付费 | 30 天起,可增加到 730 天 | 小型项目、开发环境 |
| 预留容量 | 与按量付费一致 | 高频查询、大数据量业务 |
1.3.2 Azure Monitor 指标
指标是最轻量的监控方式。每台虚拟机默认都有 CPU、内存、磁盘 IO 等指标,你甚至不需要装代理。这些指标按分钟级粒度收集,自动保留 30 天(超过 30 天需要路由到 Log Analytics)。
我个人习惯用指标来设“快速告警”——比如当 CPU 超过 90% 持续 5 分钟,立刻触发告警。因为它延迟低、费用也低,适合做阈值型报警。
1.3.3 工作簿 (Workbooks)
工作簿就像一个交互式报表。你可以把 KQL 查询的结果直接绘制成表格或图表,还能添加参数让其他人筛选时间范围或资源组。我经常在排障时先用工作簿把相关指标和日志放在同一个页面,一眼就能看出异常关联。
小技巧:我建议把常用的排障查询做成工作簿模板,团队内共享。比如“VM 异常排查工作簿”包含性能计数器、应用日志、Azure 活动日志,直接复制一份就能用。
1.3.4 告警规则 (Alerts)
告警规则是监控的出口。你可以在指标或者日志查询上创建规则,条件满足时触发邮件、短信、Webhook 或自动化 Runbook。配置时要注意“静默时间”——我曾经在凌晨两点被一个重复告警吵醒,后来加了个“降噪”动作,只在业务时段发送邮件。
1.3.5 视图与仪表板
Azure 门户自带的仪表板可以把上述所有组件的可视化内容钉在一起。你也可以使用 Azure Dashboards 或者 Grafana(需要连接 Azure Monitor 数据源)。我个人比较偏爱 Grafana,因为它对时序图的展示更灵活,能画告警线、趋势线。
1.4 常见集成场景
说几个我实际遇到过的场景:
- VM 监控:安装 Azure Monitor Agent,搭配诊断设置拉取 Windows 事件和 Syslog,用工作簿展示 CPU、内存、磁盘变化,并设置 CPU > 90% 告警。
- Web 应用监控:为 App Service 开启 Application Insights,把请求率、响应时间、异常栈写入 Log Analytics,用 KQL 统计错误率。
- 混合环境监控:通过 Azure Arc 把本地服务器注册到 Azure,再配置 Log Analytics Agent 推送日志。我曾经在客户机房配了一个 Arc 网关,数据就能统一进 workspace。
注意:不管用哪种集成方式,一定要先算好数据量。有些客户把所有调试日志都丢进 workspace,每月费用翻了好几倍。建议在诊断设置中只选择必要的日志类别,并配置合理的保留天数。
1.5 架构小结
本章的内容就这些。总结一下:Azure Monitor 的核心就是“采-存-查-报-动”。数据经过收集层进入 Log Analytics 或指标存储,然后通过 KQL 或工作簿分析,最后通过告警和仪表板输出价值。我在实际工作中几乎每天都离不开它——不管是排查应用慢的问题,还是分析资源利用率,Azure Monitor 都是第一站。