对 Azure Monitor 的描述
Azure Monitor 是一个平台,用于收集有关资源的数据、分析该数据、可视化信息,甚至处理结果。 Azure Monitor 可以监视 Azure 资源、本地资源,甚至监视使用其他云提供商托管的虚拟机等多云资源。
下图说明了 Azure Monitor 的全面程度:
左侧是日志记录和指标数据的源列表,这些源可在应用程序体系结构的每个层(从应用程序到作系统和网络)收集。
在中心,日志记录和指标数据存储在中央存储库中。
在右侧,数据以多种方式使用。 您可以查看体系结构每一层的实时和历史性能,也可以查看聚合和详细信息。 数据在不同级别显示,供不同的受众使用。 可以在 Azure Monitor 仪表板上查看高级报表,也可以使用 Power BI 和 Kusto 查询创建自定义视图。
此外,还可以利用数据在关键事件发生时实时采取行动,通过短信、电子邮件等方式向团队发送警报。 或者,可以使用阈值触发自动缩放功能来缩放以满足需求。
Azure Log Analytics
Azure Log Analytics 是 Azure 门户中的工具,可在其中对 Azure Monitor 收集的数据编写和运行日志查询。 Log Analytics 是一个可靠的工具,支持简单、复杂的查询和数据分析。 可以编写一个简单的查询,该查询返回一组记录,然后使用 Log Analytics 的功能对记录进行排序、筛选和分析。 可以编写高级查询来执行统计分析,并将结果可视化到图表中以识别特定趋势。 无论是以交互方式处理查询的结果,还是将其与其他 Azure Monitor 功能(如日志查询警报或工作簿)一起使用,Log Analytics 都是用于编写和测试这些查询的工具。
Azure Monitor 警报
Azure Monitor 警报是一种在 Azure Monitor 检测到超出阈值时保持通知的自动化方式。 设置警报条件和通知操作,然后在警报触发时通知您通过 Azure Monitor 警报。 根据配置,Azure Monitor 警报还可以尝试纠正措施。
可以设置警报来监视日志,并在特定日志事件发生时触发;也可以设置警报来监视指标,并在某些指标被超出时触发。 例如,可以设置基于指标的警报,以便在虚拟机上的 CPU 使用率超过 80%时通知你。 基于指标的警报规则基于数值提供准实时警报。 基于日志的规则允许跨来自多个源的数据执行复杂的逻辑。
Azure Monitor 警报使用动作组来配置要通知的人员以及要执行的操作。 一个操作组只是您与一个或多个警报关联的通知和操作偏好的集合。 Azure Monitor、服务运行状况监视器和 Azure 顾问均使用操作组在触发警报时通知你。
Application Insights
Application Insights(Azure Monitor 功能)监视 Web 应用程序。 Application Insights 能够监视在 Azure、本地或其他云环境中运行的应用程序。
可通过两种方法配置 Application Insights 来帮助监视应用程序。 可以在应用程序中安装 SDK,也可以使用 Application Insights 代理。 C#.NET、VB.NET、Java、JavaScript、Node.js和 Python 支持 Application Insights 代理。
Application Insights 启动并运行后,可以使用它监视广泛的信息,例如:
- 请求速率、响应时间和失败率
- 依赖项速率、响应时间和故障率,以显示外部服务是否正在降低性能
- 用户浏览器报告的页面视图和加载性能
- 来自网页的 AJAX 调用,包括速率、响应时间和失败率
- 用户和会话计数
- Windows 或 Linux 服务器计算机的性能计数器,例如 CPU、内存和网络使用情况
Application Insights 不仅有助于监视应用程序的性能,还可以将其配置为定期向应用程序发送综合请求,从而允许你在低活动期间检查状态并监视应用程序。