使用 Elastic Agent 监控 Microsoft Azure

编辑

使用 Elastic Agent 监控 Microsoft Azure

编辑

在本教程中,您将学习如何部署 Elastic Agent 并使用 Elastic 可观测性监控您的 Azure 基础设施。

您将学习的内容
编辑

您将学习如何:

  • 创建一个具有读取监控数据权限的 Azure 服务主体。
  • 收集 Azure 账单指标。
  • 收集 Azure 活动日志。
  • 在 Kibana 中可视化日志和基础设施指标。
步骤 1:创建一个 Azure 服务主体
编辑

在此步骤中,您将创建一个 Azure 服务主体,然后授予其访问 Azure REST API 的权限。

Azure REST API 允许您使用不同的操作来深入了解您的 Azure 资源。要访问 Azure REST API,您需要使用 Azure 资源管理器身份验证模型。因此,您必须使用 Azure Active Directory (Azure AD) 对所有请求进行身份验证。您可以使用 Azure 门户Azure PowerShell 创建服务主体。然后,您需要授予访问权限,详情请参见 此处。本教程演示如何使用 Azure 门户。

创建 Azure 服务主体
编辑
  1. 转到 Microsoft Azure 门户。搜索并选择 Azure Active Directory
  2. 在导航窗格中,选择 应用注册,然后单击 新建注册
  3. 键入您的应用程序名称(本教程使用 ingest-tutorial-monitor-azure),然后单击 注册(接受其他设置的默认值)。

    Screenshot of the application registration

    复制 应用程序(客户端)ID 并保存以备后用。此 ID 对于配置 Elastic Agent 以连接到您的 Azure 帐户是必需的。

  4. 在导航窗格中,选择 证书和机密,然后单击 新建客户端机密 以创建一个新的安全密钥。

    Screenshot of adding a new client secret
  5. 键入机密的描述并选择一个过期时间。单击 添加 创建客户端机密。在 下,复制机密值并保存(以及您的客户端 ID)以备后用。

    这是您唯一一次可以复制机密值的机会。离开此页面后,您将无法检索此值!

为您的服务主体授予访问权限
编辑

创建 Azure 服务主体后,您需要为其授予正确的权限。您需要 Billing Reader 角色才能配置 Elastic Agent 以收集账单指标。

  1. 在 Azure 门户中,搜索并选择 订阅
  2. 在“订阅”页面中,单击您的订阅的名称。
  3. 在导航窗格中,选择 访问控制 (IAM)
  4. 单击 添加 并选择 添加角色分配
  5. 角色 选项卡上,选择 Billing Reader 角色,然后单击 下一步
  6. 成员 选项卡上,选择为 用户、组或服务主体 分配访问权限的选项。
  7. 单击 选择成员,然后搜索并选择您之前创建的服务主体。
  8. 对于说明,输入您的服务主体的名称。
  9. 单击 下一步 查看角色分配。

    Screen capture of adding a role assignment
  10. 单击 审核 + 分配 以授予服务主体对您订阅的访问权限。
步骤 2:安装 Azure 账单指标集成
编辑

在此步骤中,您将在 Kibana 中安装 Azure 账单指标集成。此集成包含一个用于收集指标的输入,例如有关您订阅的 Azure 使用情况详细信息和预测信息。

要添加集成:

  1. 在主菜单中找到 集成,或使用 全局搜索字段
  2. 在查询栏中,搜索 Azure 账单 并选择 Azure 账单指标集成以查看有关它的更多详细信息。
  3. 单击 添加 Azure 账单指标
  4. 在“集成设置”下,配置集成名称,并可选择添加说明。

    如果您没有看到配置集成的选项,则您可能处于专为新部署设计的流程中。按照步骤操作,然后在准备好配置集成后返回本教程。

  5. 为所有必填字段指定值。有关这些设置的更多信息,请参阅 Azure 账单指标 文档。

    客户端 ID

    您之前创建服务主体时复制的应用程序(客户端)ID。

    客户端机密

    您之前复制的机密值。

    租户 ID

    Azure Active Directory 主页上列出的租户 ID。

    订阅 ID

    “订阅”主页上列出的订阅 ID。

    Screenshot of integration settings for Azure
  6. 确保 收集 Azure 账单指标 选择器已打开。
  7. 接受默认值以创建新的 Agent 策略。
  8. 单击 保存并继续。此步骤需要一到两分钟才能完成。完成后,您将拥有一个包含您刚刚指定的 Azure 配置的 Agent 策略。

应该会弹出一个窗口,提示您 将 Elastic Agent 添加到您的主机

步骤 3:在您的计算机上安装并运行 Elastic Agent
编辑

为了获得对 Azure 最新 API 更改的支持,我们建议您使用与 Elastic Stack 兼容的最新 Elastic Agent 在线版本。否则,您的集成可能无法按预期工作。

您可以将 Elastic Agent 安装在任何可以访问 Azure 帐户并将事件转发到 Elasticsearch 的主机上。

  1. 在弹出窗口中,单击 将 Elastic Agent 添加到您的主机 以打开 添加 Agent 浮出层。

    如果您不小心关闭了弹出窗口,请转到 Fleet → Agents,然后单击 添加 Agent 以访问安装说明。

    添加 Agent 浮出层有两个选项:加入 Fleet独立运行。默认情况下是将 Agent 加入 Fleet,因为这通过在 Kibana 中提供集中式管理工具来减少管理主机的人员的工作量。

  2. 您需要的注册令牌应该已经被选中。

    注册令牌特定于您刚刚创建的 Elastic Agent 策略。当您运行命令将 Agent 加入 Fleet 时,您将传入注册令牌。

  3. 要下载、安装和注册 Elastic Agent,请选择您的主机操作系统并复制说明中显示的安装命令。
  4. 在您想要安装 Elastic Agent 的主机上运行该命令。

Elastic Agent 需要几分钟才能加入 Fleet,下载策略中指定的配置并开始收集数据。您可以等待确认传入的数据,也可以关闭窗口。

步骤 4:可视化 Azure 账单指标
编辑

现在指标已流式传输到 Elasticsearch,您可以在 Kibana 中将其可视化。在主菜单中找到 仪表盘,或使用 全局搜索字段。搜索 Azure 账单并选择名为 [Azure 账单] 账单概述 的仪表盘。

Screenshot of Azure billing overview dashboard

请记住,Elastic Agent 每 24 小时收集一次数据。

步骤 5:收集 Azure 活动日志
编辑

Azure 活动日志提供对在您的订阅中对资源执行的操作的深入了解,例如何时以及谁修改了资源,以及何时启动了虚拟机(或启动失败)。

在此步骤中,您将配置 Azure 将活动日志导出到 Azure 事件中心,然后配置 Azure 日志集成以从事件中心读取日志并将其发送到 Elasticsearch。

为您的日志创建事件中心
编辑

Azure 事件中心 是一个数据流式传输平台和事件摄取服务,您可以在将 Azure 日志发送到 Elasticsearch 之前使用它来存储正在传输的日志。在本教程中,您将创建一个单一的事件中心,因为您正在收集来自一项服务的日志:Azure Monitor 服务。

要创建 Azure 事件中心:

  1. 转到 Azure 门户。
  2. 搜索并选择 事件中心
  3. 单击 创建 并创建一个新的事件中心命名空间。您需要创建一个新的资源组,或选择一个现有的资源组。
  4. 输入命名空间的必需设置,然后单击 查看 + 创建

    Screenshot of window for creating an event hub namespace
  5. 单击 创建 部署资源。
  6. 在新命名空间中,单击 + 事件中心 并输入事件中心的名称。
  7. 单击 查看 + 创建,然后单击 创建 部署资源。
  8. 请记下命名空间和事件中心名称,稍后您将需要它们。
配置诊断设置以将日志发送到事件中心
编辑

每个创建日志的 Azure 服务都具有诊断设置,允许您将日志和指标导出到外部目标。在此步骤中,您将配置 Azure Monitor 服务以将活动日志导出到您之前创建的事件中心。

配置 Azure Monitor 服务的诊断设置:

  1. 转到 Azure 门户,然后转到主页 → 监控
  2. 在导航页面中,选择活动日志,然后单击导出活动日志
  3. 选择您的订阅,然后单击添加诊断设置
  4. 输入诊断设置的名称。
  5. 在日志类别列表中,选择要导出的日志。
  6. 在“目标详细信息”下,选择流式传输到事件中心并选择您之前创建的命名空间和事件中心。例如:

    Screenshot of Azure diagnostic settings showing Administrative
  7. 保存诊断设置。
配置 Azure 日志集成以收集活动日志
编辑

现在活动日志已流式传输到事件中心,您可以配置 Azure 活动日志集成以摄取日志。

要添加集成:

  1. 在主菜单中找到 集成,或使用 全局搜索字段
  2. 在查询栏中,搜索Azure 活动日志,然后选择 Azure 活动日志集成以查看有关它的更多详细信息。
  3. 单击添加 Azure 活动日志
  4. 在“集成设置”下,配置集成名称,并可选择添加说明。
  5. 为所有必需字段指定值。有关这些设置的更多信息,请参阅Azure 活动日志文档。

    事件中心

    您之前创建的事件中心名称。

    连接字符串

    事件中心命名空间的连接字符串主键。要了解如何获取连接字符串,请参阅 Azure 文档中的获取事件中心连接字符串

    不要复制 RootManageSharedAccessKey 策略中的连接字符串,而应创建一个新的共享访问策略(具有侦听权限),并从新策略中复制连接字符串。

    存储帐户

    Elastic Agent 可用于存储代理使用的日志信息的 Blob 存储帐户的名称。您可以对所有集成使用相同的存储帐户容器。

    存储帐户密钥

    为存储帐户定义的有效访问密钥。

    Screenshot of integration settings for Azure activity logs
  6. 确保从事件中心收集 Azure 活动日志选择器已打开。
  7. 现有主机下,选择之前创建的代理策略。
  8. 保存并部署集成。

    此步骤大约需要一到两分钟才能完成。完成后,您将拥有一个包含 Azure 活动日志配置和计费指标配置的代理策略。已部署的 Elastic Agent 将获取策略更改并开始将 Azure 活动日志发送到 Elasticsearch。

步骤 5:可视化 Azure 活动日志
编辑

现在日志已流式传输到 Elasticsearch,您可以在 Kibana 中对其进行可视化。要查看原始日志,请在主菜单中查找发现或使用全局搜索字段。请注意,您可以根据特定数据流进行筛选。例如,您可以使用data_stream.dataset : "azure.activitylogs"来显示 Azure 活动日志。

Azure 活动日志集成还附带预构建的仪表板,您可以使用这些仪表板来可视化数据。在 Kibana 中,打开主菜单并单击仪表板。搜索 Azure 活动,然后选择名为[日志 Azure] 用户活动的仪表板。

Screenshot of Azure activity logs dashboard

恭喜!您已完成本教程。