如何获得 Azure 环境的整体视图

How to get hollistic view of Azure environment

在 Azure 中有大量关于监控 network/resources 的杂乱无章的文档。我正在寻找的是需要哪些部分来从 VM、NVA 防火墙、Azure 负载平衡器和其他网络资源和网络连接中获取信息,并将其整合到 Azure 中的单一玻璃中。只关心 Azure,暂时不关心本地。

我遇到过 azure monitor、日志分析工作空间、事件中心、vm 扩展、网络观察器、见解等...但我不确定哪些是必需的,哪些不是。一个文档指向下一个文档,最后我打开了 30 个选项卡。我还需要能够将日志推送到其他安全设备,例如 SIEM。

有没有人知道部署指南以更合乎逻辑的方式包装了这一切?有没有人对至少需要哪些来自 azure(不是第 3 方)的部分有任何反馈才能完成单一管理面板以全面查看我的 Azure 环境?

Azure 中的可观察性概述

您要找的东西很可能是 Azure Monitor。它是 Azure 内部所有与可观察性相关的总称。

  1. 要存储指标和日志,您需要 Log Analytics: it can query data with kusto query language、可视化结果、定义查询警报。

  2. Alerts 是一个相当复杂的野兽,因为它分布在整个云中。我最常用的两种类型:

    1. 日志分析警报(我在上面提到过)
    2. 警报选项卡,在每个 Azure 组件视图中都可用。例如,打开资源组,然后向下滚动到监控部分

    每个组件还有一部分内置指标。您可能注意到 Overview 视图中的许多 azure 组件显示了一些 charts。例如,Azure 存储帐户显示 Total egressTotal ingress 和其他折线图。当您单击这些图表时,您可以自定义它们。这些指标和图表免费使用。

  3. Microsoft 还为 Azure Functions 和 Web 应用程序提供一体化的可观察性解决方案:Application Insights

  4. Dashboards 允许将多个图表合并为一个视图并与他人共享。

  5. 如果你关心安全,Azure 建议Azure Security Center

Deployment/management策略

我建议从以下开始:

  1. 创建 Log Analytics Workspace,它是指标和日志的存储。 azure docs article 解释了如何设计它:使用多少个实例、如何对摄取进行速率限制(如果失控可能代价高昂)、如何访问它等等。

  2. 要获取 Azure 组件日志,请在 Azure 门户的组件页面中查找 Diagnostic Settings 选项卡,但并非所有组件都有它(原文如此!)。我建议

    • 将最关键的数据发送到 Log Analytics 工作区,以可查询的格式将它们存储 30 天(在免费套餐中)。这是调查您的基础架构当前问题所必需的
    • 如果您可能需要 30 天后的日志 - 将它们发送到存储帐户
    • 您提到了 SIEM 集成 - 将所需事件路由到事件中心,然后根据您的要求处理流

    因此,如果您需要长期存储 - 您需要创建 Azure 存储帐户。

    如果您需要实时分析——您需要构建基于 Azure Event Hub 的管道。

  3. 如果您有 Azure Functions 和 Web 应用程序 - 添加 Application Insights。根据我的经验,我建议从每个 Azure 函数资源或服务的单独实例开始。

  4. 分别为每个组件创建警报。如果您通过 UI 执行此操作 - 在门户中打开组件页面并在此处查找“警报”选项卡。如果您正在自动化该过程(请尽快这样做),不要指望轻松旅行:我使用了 ARM 模板和 terraform - 在这两种情况下,都有许多几乎没有记录的功能。

  5. 将相关组件核心指标加入仪表板并与团队共享。 This guide 是一个很好的起点。请注意,当您共享仪表板时,它也会作为 azure 资源保留在订阅中。