你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

监视 Azure 运营商见解引入代理并对其进行故障排除

有关引入代理的概述,请参阅引入代理概述

如果注意到通过引入代理收集数据时出现问题,请使用本部分中的信息修复常见问题或创建诊断包。 可以向在 Azure 门户中创建的支持工单上传诊断包。

引入代理是一个软件包,因此诊断仅限于应用程序的功能。 我们不提供 OS 或资源监视。 建议使用标准工具(例如 snmpd、Prometheus 节点导出程序等工具)将 OS 级数据、日志和指标发送到自己的监视系统。 使用 Azure Monitor 监视虚拟机介绍了在 Azure VM 上运行引入代理时可使用的工具。

该代理将日志和指标写入 /var/log/az-aoi-ingestion/ 下的文件中。 如果代理因任何原因(如配置错误)而无法启动,则 stdout.log 文件包含解释问题的用户可读日志。

指标以简单的易读形式报告。

先决条件

  • 对于其中大多数故障排除技术,需要与运行代理的 VM 建立 SSH 连接。

引入代理诊断

若要收集诊断包,请通过 SSH 连接到虚拟机并运行命令 /usr/bin/microsoft/az-aoi-ingestion-gather-diags。 此命令在当前目录中生成带日期戳的 zip 文件,你可从系统复制该文件。

如果已通过 Azure Monitor 代理配置了日志收集,则可以在 Log Analytics 工作区的门户视图中查看引入代理日志,并且可能不需要收集诊断包来调试问题。

注意

Microsoft 支持部门可能会在调查问题时请求诊断包。 诊断包不包含任何客户数据,也不包含任何凭据的值。

所有源的共同问题

问题大致分为四类。

  • 代理配置错误,这阻止代理启动。
  • 从源接收数据时出现的问题(通常是配置错误或网络连接)。
  • 将文件上传到数据产品的输入存储帐户时出现的问题(通常是网络连接)。
  • 运行代理的 VM 出现的问题。

代理无法启动

故障表现:sudo systemctl status az-aoi-ingestion 显示服务处于失败状态。

  • 确保服务正在运行。
    sudo systemctl start az-aoi-ingestion
    
  • 查看 /var/log/az-aoi-ingestion/stdout.log 文件并检查是否有任何报告的错误。 解决配置文件的任何问题,并再次启动代理。

AOI 中未显示任何数据

故障表现:Azure 数据资源管理器中未显示任何数据。

  • 检查引入代理 VM 与数据产品的输入存储帐户之间的网络连接和防火墙配置。
  • 检查引入代理中的日志,了解上传到 Azure 时出现的错误。 如果日志显示身份验证问题,请检查代理配置是否具有数据产品的正确接收器设置和身份验证。 然后,重启代理。
  • 检查引入代理是否正在从其源接收数据。 检查网络与引入代理之间的网络连接和防火墙配置。

MCC EDR 源的问题

本部分介绍特定于 MCC EDR 源的问题。

还可以使用 MCC 提供的诊断,或者 Azure Monitor 中的 Azure 运营商见解本身提供的诊断来帮助确定和调试引入问题。

MCC 无法连接

故障表现:MCC 报告有关 MSF 不可用的警报。

  • 检查代理是否正在运行。
  • 确保 MCC 配置有正确的 IP 和端口。
  • 检查代理中的日志,并查看它是否报告了连接。 否则,请检查到代理 VM 的网络连接,并验证防火墙是否未阻止流向端口 36001 的流量。
  • 收集数据包捕获以查看连接失败的位置。

AOI 中未显示 EDR

故障表现:Azure 数据资源管理器中未显示任何数据。

  • 检查 MCC 是否正常运行,以及引入代理是否正在运行。
  • 检查诊断包中的引入代理日志,了解上传到 Azure 的错误。 如果日志显示连接字符串无效或连接问题,请修复配置、连接字符串或 SAS 令牌,然后重启代理。
  • 检查存储帐户上的网络连接和防火墙配置。

数据缺失或不完整

故障表现:Azure Monitor 在 ADX 中显示传入的 EDR 速率低于预期。

  • 检查代理是否在所有 VM 上运行,并且未报告诊断包日志中的错误。
  • 确认未超过额定负载发送代理 VM。
  • 检查诊断包中的代理指标,了解删除的字节/删除的 EDR。 如果指标未显示任何已删除的数据,则 MCC 不会将数据发送到代理。 检查“接收的字节数”指标,查看从 MCC 接收的数据量。
  • 检查代理 VM 是否未重载 - 监视 CPU 和内存使用情况。 具体而言,请确保没有其他进程从 VM 获取资源。

SFTP 拉取源的问题

本部分介绍特定于 SFTP 拉取源的问题。

还可以使用 Azure Monitor 中的 Azure 运营商见解本身提供的诊断来帮助确定和调试引入问题。

代理无法连接到 SFTP 服务器

故障表现:没有文件上传到 AOI。 代理日志文件 /var/log/az-aoi-ingestion/stdout.log 包含在连接 SFTP 服务器时遇到的错误。

  • 验证代理使用的 SFTP 用户和凭据是否对 SFTP 服务器有效。
  • 检查代理与 SFTP 服务器之间的网络连接和防火墙配置。 默认情况下,SFTP 服务器必须打开端口 22 才能接受 SFTP 连接。
  • 检查代理 VM 上的 known_hosts 文件是否包含 SFTP 服务器的有效公共 SSH 密钥:
    • 在代理 VM 上运行 ssh-keygen -l -F *<sftp-server-IP-or-hostname>*
    • 如果没有输出,则 known_hosts 不包含匹配条目。 按照设置 Azure 运营商见解引入代理中的说明为 SFTP 服务器添加 known_hosts 条目。

没有文件上传到 Azure 运营商见解

故障表现:Azure 数据资源管理器中未显示任何数据。 类别Ingestion的日志不会显示在Azure Operator Insights 监视数据中或包含错误。 相关数据类型的数据质量指标的引入行数为零。

  • 检查代理是否在所有 VM 上运行,并确认未在日志中报告错误。
  • 检查文件是否在 SFTP 服务器上的正确位置,并确认它们没有因为文件源配置而被排除在外(请参阅缺少文件)。
  • 确保配置的 SFTP 用户可以读取 base_path 下的所有目录,文件源配置不会排除这些目录。
  • 检查引入代理 VM 与数据产品的输入存储帐户之间的网络连接和防火墙配置。

缺少文件

故障表现:Azure 数据资源管理器中缺少数据。 Azure Operator Insights 监视数据中类别Ingestion的日志低于预期或包含错误。 相关数据类型的数据质量指标的引入行数低于预期。

  • 检查代理是否在所有 VM 上运行,并确认未在日志中报告错误。 在诊断包日志中搜索缺少的文件的名称,以查找与该文件相关的错误。
  • 检查文件是否在 SFTP 服务器上,并确认它们没有因为文件源配置而被排除在外。检查文件源配置并确认:
    • 这些文件位于 SFTP 服务器上(路径见 base_path)。 确保文件的文件路径中没有要上传的符号链接:引入代理会忽略符号链接。
    • 文件的“上次修改”时间至少比此文件源的最近上传运行时间早 settling_time 秒。
    • 文件的“上次修改”时间晚于 exclude_before_time(如果指定)。
    • 相对于 base_path 的文件路径与 include_pattern(如果指定)提供的正则表达式匹配。
    • 相对于 base_path 的文件路径与 exclude_pattern(如果指定)提供的正则表达式不匹配。
  • 如果缺少最近的文件,请在诊断包中检查代理日志,确认引入代理在预期时间为源执行了上传运行。 源配置中的 cron 参数提供了预期的计划。
  • 检查代理 VM 是否未重载 - 监视 CPU 和内存使用情况。 具体而言,请确保没有其他进程从 VM 获取资源。

文件上传多次

故障表现:Azure 运营商见解中出现重复数据。

  • 检查引入代理在上次上传时是否在诊断包中遇到可重试错误,并且是否在上次成功上传后的 24 小时后重试了该上传。 在这种情况下,代理可能会在重试尝试期间上传重复数据。 数据重复应该仅影响重试尝试。
  • 检查配置文件中定义的文件源是否引用了非重叠文件集。 如果将多个文件源配置为从 SFTP 服务器上的同一位置拉取文件,请使用 include_patternexclude_pattern 配置字段来指定每个文件源应考虑的不同文件集。
  • 如果运行的是 SFTP 引入代理的多个实例,请确认为每个代理配置的文件源不与任何其他代理上的文件源重叠。 具体而言,请查看从另一个代理的配置意外复制的文件源配置。
  • 如果近期更改了已配置的文件源的管道 id,请使用 exclude_before_time 字段以避免使用新管道 id 重新上传文件。 有关说明,请参阅更改 Azure 运营商见解引入代理的配置

了解如何: