使用 Elastic Agent 监控 Microsoft Azure

编辑

使用 Elastic Agent 监控 Microsoft Azure

编辑

在本教程中,您将学习如何部署 Elastic Agent 并使用 Elastic Observability 监控您的 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. 角色 选项卡上,选择 计费读取者 角色,然后单击 下一步
  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. 接受默认值以创建新的代理策略。
  8. 单击 保存并继续。此步骤需要一到两分钟才能完成。完成后,您将拥有一个包含您刚指定的 Azure 配置的代理策略。

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

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

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

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

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

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

    添加代理 弹出窗口有两个选项:在 Fleet 中注册独立运行。默认是将代理注册到 Fleet 中,因为这通过在 Kibana 中提供集中管理工具来减少管理主机的人员的工作量。

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

    注册令牌特定于您刚刚创建的 Elastic 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 日志。对于本教程,您将创建一个事件中心,因为您正在从一项服务(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 活动,然后选择名为 [Logs Azure] 用户活动 的仪表板。

Screenshot of Azure activity logs dashboard

恭喜!您已完成本教程。