View a markdown version of this page

问题排查 AWS Application Discovery Service - AWS Application Discovery Service

AWS 应用程序发现服务不再向新客户开放。或者 AWS Transform ,使用提供类似功能的。有关更多信息,请参阅AWS 应用程序发现服务可用性变更

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

问题排查 AWS Application Discovery Service

在本部分中,可以找到有关如何修复 AWS Application Discovery Service的常见问题的信息。

通过数据探索停止数据收集

要停止数据探索,您可以关闭 Migration Hub 控制台中 “发现” > “数据收集器” > “代理” 选项卡下的拨动开关,也可以调用 StopContinuousExport API。停止数据收集最多可能需要 30 分钟,在此阶段,控制台上的拨动开关和 DescribeContinuousExport API 调用会将数据探索状态显示为 “停止进行中”。

注意

如果刷新控制台页面后,开关未关闭并抛出错误消息或 DescribeContinuousExport API 返回 “Stop_Failed” 状态,则可以通过关闭拨动开关或调用 StopContinuousExport API 来重试。如果 “数据探索” 仍然显示错误且未能成功停止,请联系 AWS 支持人员。

也可以按照以下步骤所述手动停止数据收集。

选项 1:停止代理数据收集

如果已使用 ADS 代理完成发现并且不再想要在 ADS 数据库存储库中收集更多数据:

  1. 从 Migration Hub 控制台中选择发现 > 数据收集器 > 代理选项卡。

  2. 选择所有正在运行的现有代理并选择 Stop Data Collection (停止数据收集)

    这将确保代理在 ADS 数据存储库和您的 S3 存储桶中均不会收集新数据。您的现有数据仍可访问。

选项 2:删除数据探索的 Amazon Kinesis 数据流

如果您想继续通过代理在 ADS 数据存储库中收集数据,但不想通过数据探索在 Amazon S3 存储桶中收集数据,则可以手动删除通过数据探索创建的 Amazon Data Firehose 流:

  1. 从 AWS 控制台登录亚马逊 Kinesis,然后从导航窗格中选择 Data Fire hose。

  2. 删除数据探索功能创建的以下流:

    • aws-application-discovery-service-id_mapping_agent

    • aws-application-discovery-service-inbound_connection_agent

    • aws-application-discovery-service-network_interface_agent

    • aws-application-discovery-service-os_info_agent

    • aws-application-discovery-service-outbound_connection_agent

    • aws-application-discovery-service-processes_agent

    • aws-application-discovery-service-sys_performance_agent

移除通过数据探索收集的数据

删除通过数据探索收集的数据
  1. 移除存储在 Amazon S3 中的发现代理数据。

    AWS Application Discovery Service (ADS) 收集的数据存储在名为的 S3 存储桶中aws-application-discover-discovery-service-uniqueid

    注意

    在 Amazon Athena 中启用数据探索时删除 Amazon S3 存储桶或其中的任何对象都会导致错误。它继续向 S3 发送新的发现代理数据。Athena中也将无法再访问已删除的数据。

  2. 移除 AWS Glue Data Catalog。

    在 Amazon Athena 中开启数据探索功能后,它会在您的账户中创建一个 Amazon S3 存储桶,用于存储 ADS 代理定期收集的数据。此外,它还创建了一个 AWS Glue Data Catalog 允许您从亚马逊雅典娜查询存储在亚马逊 S3 存储桶中的数据。当您关闭 Amazon Athena 中的数据探索时,您的 Amazon S3 存储桶中不会存储任何新数据,但之前收集的数据将保留。如果您不再需要这些数据,并且想要将账户恢复到开启 Amazon Athena 数据探索之前的状态。

    1. 从 AWS 控制台访问 Amazon S3 并手动删除名为 “aws-application-discover-discovery-service-uniqueid” 的存储桶

    2. 您可以通过删除应用程序发现服务数据库和 AWS 所有这些表来手动删除数据探索 Glue 数据目录:

      • os_info_agent

      • network_interface_agent

      • sys_performance_agent

      • processes_agent

      • inbound_connection_agent

      • outbound_connection_agent

      • id_mapping_agent

正在从中删除您的数据 AWS Application Discovery Service

要从应用程序发现服务中删除您的所有数据,请联系AWS 支持部门并请求删除完整数据。

修复 Amazon Athena 中数据探索的常见问题

在本节中,您可以找到有关如何修复 Amazon Athena 中常见数据探索问题的信息。

Amazon Athena 中的数据探索无法启动,因为服务相关角色和必需的角色 AWS 无法创建资源

当您在 Amazon Athena 中开启数据探索时,它会在您的账户中创建服务相关角色AWSServiceRoleForApplicationDiscoveryServiceContinuousExport,从而创建所需的 AWS 资源,使代理收集的数据可在亚马逊 Athena 中访问,包括亚马逊 S3 存储桶、亚马逊 Kinesis 流和。 AWS Glue Data Catalog如果您的账户没有在 Amazon Athena 中进行数据探索的相应权限来创建此角色,则该账户将无法初始化。请参考AWS 的托管策略 AWS Application Discovery Service

新的代理数据未显示在亚马逊 Athena 中

如果新数据没有流入 Athena,自代理启动以来已超过 30 分钟,且数据探索状态为 “活跃”,请查看下面列出的解决方案:

  • AWS 探索特工

    确保代理的 Collection (收集) 状态标记为 Started (已启动)Health (运行状况) 状态标记为 Running (正在运行)

  • Kinesis 角色

    确保您的账户中具有 AWSApplicationDiscoveryServiceFirehose 角色。

  • 消防水带状态

    确保以下 Firehose 交付流正常运行:

    • aws-application-discovery-service/os_info_agent

    • aws-application-discovery-service-network_interface_agent

    • aws-application-discovery-service-sys_performance_agent

    • aws-application-discovery-service-processes_agent

    • aws-application-discovery-service-inbound_connection_agent

    • aws-application-discovery-service-outbound_connection_agent

    • aws-application-discovery-service-id_mapping_agent

  • AWS Glue Data Catalog

    确保application-discovery-service-database数据库已启用 AWS Glue。确保 AWS Glue中存在以下表:

    • os_info_agent

    • network_interface_agent

    • sys_performance_agent

    • processes_agent

    • inbound_connection_agent

    • outbound_connection_agent

    • id_mapping_agent

  • Amazon S3 存储桶

    确保您的账户aws-application-discovery-service-uniqueid中有一个名为 Amazon S3 存储桶。如果存储桶中的对象已被移动或删除,它们将无法在 Athena 中正常显示。

  • 您的本地服务器

    确保您的服务器正在运行,以便代理收集数据并将数据发送到 AWS Application Discovery Service。

您没有足够的权限访问 Amazon S3、Amazon Data Firehose 或 AWS Glue

如果您正在使用 AWS Organizations,但在亚马逊雅典娜中进行数据探索的初始化失败,可能是因为您没有权限访问亚马逊 S3、Amazon Data Firehose、Athena 或。 AWS Glue

您需要具有管理员权限的 IAM 用户才能授予您访问这些服务的权限。管理员可以使用他们的账户来授予此访问权限。请参阅AWS 的托管策略 AWS Application Discovery Service

为确保亚马逊雅典娜中的数据探索正常运行,请勿修改或删除亚马逊雅典娜中的数据探索创建的 AWS 资源,包括亚马逊 S3 存储桶、Amazon Data Firehose Streams 和。 AWS Glue Data Catalog如果意外删除或修改了这些资源,请停止并启动数据探究,它将自动再次创建这些资源。如果您删除通过数据探索创建的 Amazon S3 存储桶,则可能会丢失在该存储桶中收集的数据。

解决导入记录失败的问题

迁移中心导入允许您将本地环境的详细信息直接导入迁移中心,而无需使用发现连接器或发现代理。这让您可以直接根据导入的数据执行迁移评估和规划。您还可以将设备作为应用程序来分组,并跟踪其迁移状态。

在导入数据时,您有可能遇到错误。这些错误通常由于以下原因所致:

  • 已达到与导入相关的配额 -存在与导入任务相关的配额。如果您提出的导入任务请求超出配额,则该请求将失败并返回错误。有关更多信息,请参阅 AWS Application Discovery Service 配额

  • 在导入文件中插入了额外的逗号 (,) — .CSV 文件中的逗号用于区分一个字段和下一个字段。不支持字段中出现逗号,因为逗号总是用来拆分字段。这会导致一连串格式错误。确保逗号只在字段之间使用,切勿用在导入文件中。

  • 字段的值超出其支持范围 -某些字段(例如)CPU.NumberOfCores必须具有其支持的值范围。如果超出支持的范围,则记录无法导入。

如果您的导入请求发生错误,要解决错误,可下载您的导入任务的失败记录,然后在失败条目 CSV 文件中纠正错误,并再次导入。

Console
下载失败记录归档
  1. 登录并打开 Mig AWS 管理控制台 ration Hub 控制台,网址为https://console.aws.amazon.com/migrationhub

  2. 在左侧导航窗格中,在 Discover (发现) 下,选择 Tools (工具)

  3. Discovery Tools (发现工具) 中,选择 view imports (查看导入)

  4. Imports (导入) 控制面板中,选择关联导入请求与 Failed records (失败的记录) 数量的单选按钮。

  5. 从控制面板中表格的上方,选择 Download failed records (下载失败的记录)。这将打开浏览器下载对话框,以下载归档文件。

AWS CLI
下载失败记录归档
  1. 打开一个终端窗口,键入以下命令,其中 ImportName is the name of the import task with the failed entries that you want to correct.

    aws discovery describe-import-tasks - -name ImportName
  2. 从输出中,复制为 errorsAndFailedEntriesZip 返回的值的整个内容,但不复制引号。

  3. 打开一个 Web 浏览器,将该内容粘贴到 URL 文本框,并按 ENTER。这将下载压缩为 .zip 格式的失败记录归档。

现在,您已下载了失败记录归档,可以提取其中包含的两个文件并纠正错误。请注意,如果您的错误与基于服务的限制有关,则您需要请求放宽限制,或者删除足够多的相关资源,以使您的账户不超出限制。归档中包含下列文件:

  • errors-file.csv — 此文件是您的错误日志,它跟踪每条失败条目的每条失败记录的行ExternalId、列名和描述性错误消息。

  • failed-entries-file.csv — 此文件仅包含原始导入文件中的失败条目。

要更正您遇到的非限制类错误,可对照 errors-file.csv 文件纠正 failed-entries-file.csv 文件中的问题,然后导入后一个文件。有关导入文件的说明,请参阅导入数据