Log Analytics 代理概述

Azure Log Analytics 代理从任何云、本地计算机中的 Windows 和 Linux 虚拟机收集遥测数据,并将其收集的数据发送到 Azure Monitor 中的 Log Analytics 工作区。 Log Analytics 代理还支持 Azure Monitor 中的见解和其他服务,例如 Azure 安全中心Azure 自动化。 本文提供了该代理的详细概述、系统和网络要求以及部署方法。

备注

你可能还会看到称为 Microsoft Monitoring Agent (MMA) 的 Log Analytics 代理。

与 Azure 诊断扩展的比较

Azure Monitor 中的 Azure 诊断扩展也可用于从 Azure 虚拟机的来宾操作系统收集监视数据。 根据自己的需求,你可以选择使用任一代理或两者。 如需详细了解 Azure Monitor 代理的比较,请参阅 Azure Monitor 代理概述

需要考虑的主要区别是:

  • Azure 诊断扩展只能在 Azure 中的虚拟机中使用。 Log Analytics 代理可在 Azure、其他云和本地中的虚拟机中使用。
  • Azure 诊断扩展将数据发送到 Azure 存储、Azure Monitor 指标(仅限 Windows)和事件中心。 Log Analytics 代理将数据发送到 Azure Monitor 日志
  • 解决方案和其他服务(如 Azure 安全中心)需要 Log Analytics 代理。

成本

Log Analytics 代理不收取任何费用,但引入的数据可能产生费用。 请查看使用 Azure Monitor 日志管理使用情况和成本,获取有关 Log Analytics 工作区中收集的数据定价的详细信息。

支持的操作系统

有关 Log Analytics 代理支持的 Windows 和 Linux 操作系统版本的列表,请参阅支持的操作系统

收集的数据

下表列出了在配置 Log Analytics 工作区后即可从所有连接的代理收集的数据的类型。 请参阅 Azure Monitor 监视的内容是什么?,获取使用 Log Analytics 代理收集其他类型的数据的见解、解决方案和其他解决方案的列表。

数据源 说明
Windows 事件日志 发送到 Windows 事件日志记录系统的信息。
Syslog 发送到 Linux 事件日志记录系统的信息。
“性能” 测量操作系统和工作负载不同方面性能的数值。
IIS 日志 在来宾操作系统上运行的 IIS 网站的使用情况信息。
自定义日志 Windows 和 Linux 计算机上的文本文件中的事件。

数据目标

Log Analytics 代理将数据发送到 Azure Monitor 中的 Log Analytics 工作区。 Windows 代理可以是多宿主代理,这样便可以将数据发送到多个工作区。 Linux 代理只能发送到一个目标(一个工作区或一个管理组)。

其他服务

Linux 和 Windows 的代理不只是用于连接到 Azure Monitor。 其他服务(如 Azure 安全中心)依赖于该代理及其连接的 Log Analytics 工作区。 该代理还支持使用 Azure 自动化来托管混合 Runbook 辅助角色和其他服务(如更新管理Azure 安全中心)。 有关混合 Runbook 辅助角色的详细信息,请参阅 Azure 自动化混合 Runbook 辅助角色

工作区和管理组的限制

  • Windows 代理最多可以连接到四个工作区。
  • Linux 代理不支持多宿主,并且只能连接到一个工作区或管理组。

安全性限制

安装选项

可通过多种方法安装 Log Analytics 代理并将计算机连接到 Azure Monitor,具体取决于你的要求。 以下部分列出了可对不同类型的虚拟机采用的方法。

备注

不支持对已经配置了 Log Analytics 代理的计算机进行克隆。 如果该代理已与某个工作区关联,此克隆操作对“黄金映像”将不起作用。

Azure 虚拟机

本地或其他云中的 Windows 虚拟机

本地或其他云中的 Linux 虚拟机

  • 通过调用 GitHub 上托管的包装器脚本来手动安装该代理。

工作区 ID 和密钥

无论使用何种安装方法,都需要有该代理将要连接到的 Log Analytics 工作区的工作区 ID 和密钥。 请从 Azure 门户中的“Log Analytics 工作区”菜单中选择该工作区。 然后在“设置”部分中选择“代理管理” 。

工作区详细信息

TLS 1.2 协议

为了确保传输到 Azure Monitor 日志的数据的安全性,我们强烈建议你将代理配置为至少使用传输层安全性 (TLS) 1.2。 我们发现旧版 TLS/安全套接字层 (SSL) 容易受到攻击,尽管目前出于向后兼容,这些协议仍可正常工作,但我们 不建议使用。 有关其他信息,请查看使用 TLS 1.2 安全地发送数据

网络要求

用于 Linux 和 Windows 的代理通过 TCP 端口 443 与 Azure Monitor 服务进行出站通信。 如果计算机通过防火墙或代理服务器建立连接,以便通过 Internet 进行通信,请查看下文以了解网络配置要求。 如果 IT 安全策略不允许网络上的计算机连接到 Internet,则可以设置 Log Analytics 网关并将代理配置为通过该网关连接到 Azure Monitor。 然后,代理可以接收配置信息并发送收集的数据。

Log Analytics 代理通信示意图

下表列出了 Linux 和 Windows 代理与 Azure Monitor 日志通信所需的代理和防火墙配置信息。

防火墙要求

代理资源 端口 方向 绕过 HTTPS 检查
*.ods.opinsights.azure.cn 端口 443 出站
*.oms.opinsights.azure.cn 端口 443 出站
*.blob.core.chinacloudapi.cn 端口 443 出站
*.azure-automation.cn 端口 443 出站

如果计划使用 Azure 自动化混合 Runbook 辅助角色连接到自动化服务并在该服务中注册以在环境中使用 Runbook 或管理功能,则它必须可以访问针对混合 Runbook 辅助角色配置网络中所述的端口号和 URL。

代理配置

Windows 和 Linux 代理支持使用 HTTPS 协议通过代理服务器或 Log Analytics 网关与 Azure Monitor 服务进行通信。 并同时支持匿名身份验证和基本身份验证(用户名/密码)。 对于直接连接到服务的 Windows 代理,代理配置在安装过程中指定,或在部署后从控制面板或使用 PowerShell 指定。

对于 Linux 代理,代理服务器在安装过程中指定,或者在安装后通过修改 proxy.conf 配置文件来指定。 Linux 代理的代理配置值具有以下语法:

[protocol://][user:password@]proxyhost[:port]

属性 说明
协议 https
user 用于代理身份验证的可选用户名
password 用于代理身份验证的可选密码
proxyhost 代理服务器/Log Analytics 网关的地址或 FQDN
port 代理服务器/Log Analytics 网关的可选端口号

例如: https://user01:password@proxy01.contoso.com:30443

备注

如果密码中使用了特殊字符(如“@”),则会收到代理连接错误,因为值解析不正确。 若要解决此问题,请使用 URLDecode 等工具在 URL 中对密码进行编码。

后续步骤

  • 查看数据源,了解可用于从 Windows 或 Linux 系统收集数据的数据源。
  • 了解日志查询以便分析从数据源和解决方案中收集的数据。
  • 了解监视解决方案如何将功能添加到 Azure Monitor,以及如何将数据收集到 Log Analytics 工作区中。