Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本文可帮助你排查在 Azure Monitor 中使用适用于 Windows 的 Log Analytics 代理时可能会遇到的错误。 它提出了解决这些问题的可能方案。
Log Analytics 故障排除工具
适用于 Windows 故障排除工具的 Log Analytics 代理是 PowerShell 脚本的集合,可帮助你查找和诊断 Log Analytics 代理的问题。 代理安装会自动包括该工具。 运行该工具应该是诊断问题的第一步。
使用故障排除工具
在安装了 Log Analytics 代理的计算机上以管理员身份打开 PowerShell 提示符。
转到该工具所在的目录:
cd "C:\Program Files\Microsoft Monitoring Agent\Agent\Troubleshooter"使用以下命令运行主脚本:
.\GetAgentInfo.ps1选择故障排除方案。
按照控制台上的说明进行操作。 跟踪日志步骤需要手动干预才能停止日志收集。 根据问题的可重现性,等待持续时间并选择 s 停止日志收集,然后继续执行下一步。
进程在完成时记录结果文件的位置,并打开突出显示它的新资源管理器窗口。
安装
安装 Log Analytics 代理内部版本 10.20.18053.0 及更高版本时,会自动包含故障排除工具。
涵盖的方案
故障排除工具检查以下方案:
- 代理未报告数据或检测信号数据缺失。
- 代理扩展部署失败。
- 代理崩溃。
- 代理消耗大量 CPU 或内存。
- 安装和卸载体验失败。
- 自定义日志有问题。
- OMS 网关有问题。
- 性能计数器有问题。
- 无法收集代理日志。
注意
遇到问题时,请运行故障排除工具。 初始获取日志有助于支持团队更快速地解决您的问题。
重要的故障排除源
为了帮助排查与适用于 Windows 的 Log Analytics 代理相关的问题,代理会将事件记录到 Windows 事件日志。 它使用 “应用程序和服务\Operations Manager ”部分。
连接问题
如果代理通过代理服务器或防火墙进行通信,则限制可能会阻止源计算机与 Azure Monitor 服务之间的通信。 如果配置错误阻碍通信,则在尝试安装代理或在安装后配置代理以报告给另一个工作区时,工作区注册可能会失败。 成功注册后,代理通信可能会失败。 本部分介绍使用 Windows 代理排查此类问题的方法。
仔细检查防火墙或代理是否已配置为允许下表中所述的端口和 URL。 另请确认是否没有为 Web 流量启用 HTTP 检查。 该检查可能会阻止代理与 Azure Monitor 之间的安全 TLS 通道。
| 代理资源 | 端口 | 方向 | 绕过 HTTPS 检查 |
|---|---|---|---|
| *.ods.opinsights.azure.cn | 端口 443 | 出站 | 是 |
| *.oms.opinsights.azure.cn | 端口 443 | 出站 | 是 |
| *.blob.core.chinacloudapi.cn | 端口 443 | 出站 | 是 |
| *.agentsvc.azure-automation.cn | 端口 443 | 出站 | 是 |
可以使用 Azure 自动化混合 Runbook 执行器连接到自动化服务并注册,以使用 Runbook 或管理解决方案。 它必须能够访问在 配置混合 Runbook 运行器网络时列出的所需端口和 URL。
可以使用多种方法验证代理是否成功与 Azure Monitor 通信:
运行以下查询,以确认代理向其配置的工作区发送心跳信号。 请将
<ComputerName>替换为计算机的实际名称。Heartbeat | where Computer like "<ComputerName>" | summarize arg_max(TimeGenerated, * ) by Computer如果计算机成功与服务通信,查询将返回结果。 如果查询未返回结果,请先验证代理是否已配置为向正确的工作区报告。 如果一切配置正确,请继续执行步骤 3。 搜索 Windows 事件日志,确定代理是否正在记录可能阻止它与 Azure Monitor 通信的问题。
识别连接问题的另一种方法是运行 TestCloudConnectivity 工具。 默认情况下,该工具会连同代理一起安装在 %SystemRoot%\Program Files\Microsoft Monitoring Agent\Agent 文件夹中。 在权限提升的命令提示符下,转到该文件夹并运行该工具。 此工具将返回结果并突出显示测试失败的位置。 例如,它可能与阻止的特定端口或 URL 相关。
按事件源Health Service Modules、HealthService 和 Service Connector 筛选 Operations Manager 事件日志,并按事件级别警告和错误筛选,以确认是否正在记录下表中的事件。 如果这样做,请查看针对每个可能事件包含的解决方案步骤。
事件 ID 源 说明 解决方案 2133 和 2129 运行状况服务 从代理连接到服务失败。 当代理无法直接或通过防火墙或代理服务器与 Azure Monitor 服务进行通信时,将发生此错误。 验证该代理程序的代理设置,或者网络防火墙或代理是否允许将该计算机的 TCP 流量发送到服务。 2138 运行状况服务模块 代理要求身份验证。 配置代理设置,并指定使用代理服务器进行身份验证所需的用户名和密码。 2129 运行状况服务模块 连接失败。 TLS 协商失败。 检查网络适配器的 TCP/IP 设置和代理程序的代理设置。 2127 运行状况服务模块 无法发送数据所接收的错误代码。 如果它只在一天中定期发生,则可能是可以忽略的随机异常。 通过监视来了解问题发生的频率。 如果在一整天经常发生,请先检查网络配置和代理设置。 如果说明包含 HTTP 错误代码 404,并且它是代理首次尝试将数据发送到服务,则它还显示 500 错误。 500 错误包含内部 404 错误代码。 错误代码 404 表示“未找到”,即,仍在预配新工作区的存储区域。 在下一次重试时,数据会按预期成功写入工作区。 HTTP 错误 403 可能表示出现权限或凭据问题。 403 错误会包含更多信息来帮助排查问题。 4000 服务连接器 DNS 名称解析失败。 计算机无法解析在向服务发送数据时使用的 Internet 地址。 可能是计算机上的 DNS 解析程序设置有问题、代理设置不正确,或者提供商出现了暂时性的 DNS 问题。 如果定期发生,则可能是由于与网络相关的暂时性问题。 4001 服务连接器 无法连接到服务。 当代理无法直接或通过防火墙或代理服务器与 Azure Monitor 服务进行通信时,将发生此错误。 验证该代理程序的代理设置,或者网络防火墙或代理是否允许将该计算机的 TCP 流量发送到服务。 4002 服务连接器 服务返回 HTTP 状态代码 403 以响应查询。 请咨询服务管理员以了解服务的运行状况。 稍后会重试查询。 此错误是在代理的初始注册阶段写入的。 会看到类似于 https://< workspaceID.oms.opinsights.azure.cn/AgentService.svc/AgentTopologyRequest> 的 URL。 403 错误代码表示“禁止”,并可能由错误键入的工作区 ID 或密钥导致。 或者可能是计算机上的数据和时间不正确。 如果时间比当前时间快/慢 15 分钟,则无法加入。 若要更正此问题,请更新 Windows 计算机的日期和时间。
数据收集问题
安装代理并将其配置为向一个或多个工作区报告后,可能会停止接收配置。 它还可以停止收集或发送性能数据、日志或其他数据到服务。 此问题取决于计算机上所针对的内容以及哪些功能已启用。 需要确定:
- 工作区中是特定的数据类型不可用,还是所有数据都不可用?
- 该数据类型是由解决方案指定的,还是指定为工作区数据收集配置的一部分?
- 有多少台计算机受到影响? 是有一台计算机还是多台计算机向工作区报告?
- 它是否工作,它是否在一天的特定时间停止,还是从未收集过?
- 使用的日志搜索查询在语法上是否正确?
- 代理是否曾经从 Azure Monitor 接收过其配置?
故障排除的第一步是确定计算机是否发送检测信号事件。
Heartbeat
| where Computer like "<ComputerName>"
| summarize arg_max(TimeGenerated, * ) by Computer
如果查询返回了结果,则你需要确定是否未收集特定的数据类型并将其转发到服务。 此问题可能是代理未从服务接收更新的配置或阻止代理正常运行的其他一些症状导致的。 执行以下步骤进一步进行故障排除。
在计算机上打开权限提升的命令提示符,并输入
net stop healthservice && net start healthservice重启代理服务。打开“Operations Manager”事件日志,并在“事件源”下的“运行状况服务”中搜索“事件 ID”7023、7024、7025、7028 和 1210。 这些事件表示代理可成功从 Azure Monitor 接收配置,并且它们正在监视计算机。 事件 ID 1210 的事件说明还明确指定了代理监视范围中所有解决方案和见解所在的最后一行。
等待几分钟。 如果查询结果或可视化效果中未按预期显示数据,请根据你查看的是解决方法还是见解中的数据,在“Operations Manager”事件日志中,搜索“事件源”下的“运行状况服务”和“运行状况服务模块”。 按 事件级别警告 和 错误 进行筛选,以确认它是否从下表中写入事件。
事件 ID 源 说明 解决方案 8,000 健康服务 此事件指明与收集的性能、事件或其他数据类型相关的工作流是否无法转发到服务以供工作区使用。 来自源运行状况服务的事件 ID 2136 将连同此事件一起写入,可能表示代理无法与服务通信。 原因可能是代理和身份验证设置的配置不当、网络中断,或者网络防火墙或代理不允许将计算机的 TCP 流量发送到服务。 10102 和 10103 运行状况服务模块 工作流无法解析数据源。 如果计算机上不存在指定的性能计数器或实例,则可能会出现此问题。 如果工作区数据设置错误地定义它,则也可能发生这种情况。 如果它是用户指定的 性能计数器,请验证指定的信息采用正确的格式,并存在于目标计算机上。 26002 运行状况服务模块 工作流无法解析数据源。 如果计算机上不存在指定的 Windows 事件日志,则可能会出现此问题。 如果预期不需要在计算机上此注册此事件日志,则可以安全忽略此错误。 否则,如果是用户指定的 事件日志,请验证指定的信息是否正确。