使用 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 服务主体编辑
- 转到 Microsoft Azure 门户。搜索并选择 Azure Active Directory。
- 在导航窗格中,选择 应用注册,然后单击 新建注册。
-
键入应用程序的名称(本教程使用
ingest-tutorial-monitor-azure
),然后单击 注册(接受其他设置的默认值)。复制 应用程序(客户端)ID 并保存以备后用。此 ID 用于配置 Elastic Agent 以连接到您的 Azure 帐户。
-
在导航窗格中,选择 证书和机密,然后单击 新建客户端机密 以创建新的安全密钥。
-
键入机密的描述并选择过期时间。单击 添加 以创建客户端机密。在 值 下,复制机密值并保存(以及您的客户端 ID)以备后用。
这是您唯一可以复制机密值的机会。离开此页面后,您将无法检索此值!
授予服务主体的访问权限编辑
创建 Azure 服务主体后,您需要授予其正确的权限。您需要 Billing Reader
角色才能配置 Elastic Agent 以收集账单指标。
- 在 Azure 门户中,搜索并选择 订阅。
- 在订阅页面中,单击您的订阅的名称。
- 在导航窗格中,选择 访问控制 (IAM)。
- 单击 添加 并选择 添加角色分配。
- 在 角色 选项卡上,选择 账单读取者 角色,然后单击 下一步。
- 在 成员 选项卡上,选择将访问权限分配给 用户、组或服务主体 的选项。
- 单击 选择成员,然后搜索并选择您之前创建的主体。
- 对于描述,输入服务主体的名称。
-
单击 下一步 以查看角色分配
- 单击 查看 + 分配 以授予服务主体对您的订阅的访问权限。
步骤 2:安装 Azure 账单指标集成编辑
在此步骤中,您将在 Kibana 中安装 Azure 账单指标集成。此集成包含一个用于收集指标的输入,例如有关您的订阅的 Azure 使用情况详细信息和预测信息。
要添加集成
-
转到 Kibana 主页并单击 添加集成。
- 在查询栏中,搜索 Azure 账单 并选择 Azure 账单指标集成以查看有关它的更多详细信息。
- 单击 添加 Azure 账单指标。
-
在集成设置下,配置集成名称,并可选择添加描述。
如果您没有看到用于配置集成的选项,您可能处于为新部署设计的流程中。请按照步骤操作,然后在准备好配置集成后返回本教程。
-
为所有必需字段指定值。有关这些设置的更多信息,请参阅 Azure 账单指标 文档。
客户端 ID
您之前在创建服务主体时复制的应用程序(客户端)ID。
客户端机密
您之前复制的机密值。
租户 ID
Azure Active Directory 主页上列出的租户 ID。
订阅 ID
订阅页面上列出的订阅 ID。
- 确保 收集 Azure 账单指标 选择器已打开。
- 接受默认值以创建新的代理策略。
- 单击 保存并继续。此步骤需要一两分钟才能完成。完成后,您将拥有一个包含您刚刚指定的 Azure 配置的代理策略。
应该会出现一个弹出窗口,提示您 将 Elastic Agent 添加到您的主机。
步骤 3:在您的机器上安装并运行 Elastic Agent编辑
为了获得对 Azure 最新 API 更改的支持,我们建议您使用与 Elastic Stack 兼容的最新 Elastic Agent 在服务版本。否则,您的集成可能无法按预期工作。
您可以在任何可以访问 Azure 帐户并将事件转发到 Elasticsearch 的主机上安装 Elastic Agent。
-
在弹出窗口中,单击 将 Elastic Agent 添加到您的主机 以打开 添加代理 侧边栏。
如果您不小心关闭了弹出窗口,请转到 Fleet → 代理,然后单击 添加代理 以访问安装说明。
添加代理 侧边栏有两个选项:注册到 Fleet 和 以独立模式运行。默认情况下,代理会注册到 Fleet,因为这通过在 Kibana 中提供集中式管理工具,减少了管理主机的用户的工作量。
-
您需要的注册令牌应该已经选中。
注册令牌特定于您刚刚创建的 Elastic Agent 策略。当您运行命令将代理注册到 Fleet 时,您将传入注册令牌。
- 要下载、安装和注册 Elastic Agent,请选择您的主机操作系统并复制说明中显示的安装命令。
- 在您要安装 Elastic Agent 的主机上运行该命令。
Elastic Agent 需要几分钟才能注册到 Fleet、下载策略中指定的配置并开始收集数据。您可以等待确认传入数据,或者关闭窗口。
步骤 4:可视化 Azure 账单指标编辑
现在指标已流式传输到 Elasticsearch,您可以在 Kibana 中可视化它们。在 Kibana 中,打开主菜单并单击 仪表板。搜索 Azure 账单并选择名为 [Azure 账单] 账单概述 的仪表板。
请记住,Elastic Agent 每 24 小时收集一次数据。
步骤 5:收集 Azure 活动日志编辑
Azure 活动日志提供对您订阅中资源上执行的操作的洞察,例如何时以及谁修改了资源,以及何时启动(或启动失败)虚拟机。
在此步骤中,您将配置 Azure 将活动日志导出到 Azure 事件中心,然后配置 Azure 日志集成以从事件中心读取日志并将其发送到 Elasticsearch。
为您的日志创建事件中心编辑
Azure 事件中心 是一个数据流平台和事件摄取服务,用于在将 Azure 日志发送到 Elasticsearch 之前存储它们。
要创建 Azure 事件中心
- 转到 Azure 门户。
- 搜索并选择 事件中心.
- 单击 创建 并创建一个新的事件中心命名空间。您需要创建一个新的资源组,或选择一个现有的资源组。
-
输入命名空间所需的设置,然后单击 查看 + 创建.
- 单击 创建 以部署资源。
- 在新命名空间中,单击 + 事件中心 并输入事件中心的名称。
- 单击 查看 + 创建,然后单击 创建 以部署资源。
- 记下命名空间和事件中心名称,因为您稍后会需要它们。
配置诊断设置以将日志发送到事件中心编辑
每个创建日志的 Azure 服务都具有诊断设置,允许您将日志和指标导出到外部目标。在此步骤中,您将配置 Azure Monitor 服务将活动日志导出到您之前创建的事件中心。
要配置 Azure Monitor 服务的诊断设置
- 转到 Azure 门户,然后转到 主页 → 监控.
- 在导航页面中,选择 活动日志,然后单击 导出活动日志.
- 选择您的订阅,然后单击 添加诊断设置.
- 输入诊断设置的名称。
- 在日志类别列表中,选择要导出的日志。
-
在“目标详细信息”下,选择 流式传输到事件中心 并选择您之前创建的命名空间和事件中心。例如
- 保存诊断设置。
配置 Azure 日志集成以收集活动日志编辑
现在活动日志已流式传输到事件中心,您可以配置 Azure 活动日志集成以摄取日志。
要添加集成
- 转到 Kibana 主页并单击 添加集成。
- 在查询栏中,搜索 Azure 活动日志 并选择 Azure 活动日志集成以查看有关它的更多详细信息。
- 单击 添加 Azure 活动日志.
- 在集成设置下,配置集成名称,并可选择添加描述。
-
为所有必需字段指定值。有关这些设置的更多信息,请参阅 Azure 活动日志 文档。
事件中心
您之前创建的事件中心的名称。
连接字符串
事件中心命名空间的连接字符串主密钥。要了解如何获取连接字符串,请参阅 Azure 文档中的 获取事件中心连接字符串。
您应该创建新的共享访问策略(具有侦听权限),而不是从 RootManageSharedAccessKey 策略复制连接字符串,并从新策略复制连接字符串。
存储帐户
Elastic Agent 可以用来存储代理使用过的有关日志的信息的 Blob 存储帐户的名称。您可以对所有集成使用相同的存储帐户容器。
存储帐户密钥
为存储帐户定义的有效访问密钥。
- 确保 从事件中心收集 Azure 活动日志 选择器已打开。
- 在 现有主机 下,选择您之前创建的代理策略。
-
保存并部署集成。
此步骤需要一两分钟才能完成。完成后,您将拥有一个包含 Azure 活动日志配置和计费指标配置的代理策略。已部署的 Elastic Agent 将获取策略更改并开始将 Azure 活动日志发送到 Elasticsearch。
步骤 5:可视化 Azure 活动日志编辑
现在日志已流式传输到 Elasticsearch,您可以在 Kibana 中对其进行可视化。要查看原始日志,请打开 Kibana 中的主菜单,然后单击 日志。请注意,您可以根据特定数据流进行筛选。此示例使用 data_stream.dataset : "azure.activitylogs"
来显示 Azure 活动日志
Stream 页面上的默认视图包括 Message 列,该列未填充活动日志。为了避免在 Stream 页面上看到 failed to find message
重复出现,您可以更改视图中显示的默认列。在 日志 → Stream 页面上,单击 设置 并删除 Message 列。添加一个基于其他字段的新列,例如 azure.activitylogs.event_category
。
Azure 活动日志集成还附带预构建的仪表板,您可以使用它们来可视化数据。在 Kibana 中,打开主菜单,然后单击 仪表板。搜索 Azure 活动,然后选择名为 [Logs Azure] 用户活动 的仪表板
恭喜!您已完成本教程。要尝试本系列中的其他教程,请访问 教程 页面。