

AWS Application Discovery Service 不再向新客户开放。或者 AWS Transform ，使用提供类似功能的。有关更多信息，请参阅 App [AWS lication Discovery Service 可用性变更](https://docs.aws.amazon.com/application-discovery/latest/userguide/application-discovery-service-availability-change.html)。

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

# 故障排除 AWS Application Discovery Service
<a name="troubleshooting"></a>

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

**Topics**
+ [通过数据探索停止数据收集](#stop-data-collection)
+ [移除通过数据探索收集的数据](#remove-collected-data)
+ [修复在 Amazon Athena 中探索数据的常见问题](#troubleshoot-data-exploration)
+ [排除导入失败记录的问题](#troubleshooting-import-failed-records)

## 通过数据探索停止数据收集
<a name="stop-data-collection"></a>

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

**注意**  
如果刷新控制台页面后，切换开关未关闭并且引发错误消息或 `DescribeContinuousExport` API 返回“Stop\_Failed”状态，则可通过关闭切换开关或调用 `StopContinuousExport` API 来重试。如果 “数据探索” 仍然显示错误且无法成功停止，请联系 AWS 支持人员。

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

**选项 1：停止代理数据收集**

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

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

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

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

**选项 2：删除数据探索的 Amazon Kinesis Data Streams**

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

1. 从 AWS 控制台登录 Amazon Kinesis，然后从导航窗格中选择 D **ata Firehose**。

1. 删除由数据探索功能创建的以下流：
   + `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`

## 移除通过数据探索收集的数据
<a name="remove-collected-data"></a>

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

1. 移除存储在 Amazon S3 中的发现代理数据。

   由 AWS Application Discovery Service (ADS) 收集的数据存储在名为的 S3 存储桶中`aws-application-discover-discovery-service-{{uniqueid}}`。
**注意**  
在 Amazon Athena 中启用数据浏览功能时，删除 Amazon S3 存储桶或其中的任何对象都会导致错误。它继续向 S3 发送新的发现代理数据。在 Athena 中也将无法再访问已删除的数据。

1. 移除 AWS Glue Data Catalog。

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

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

   1. 您可以通过删除*application-discovery-service-database*数据库和所有这些表来手动移 AWS 除数据探索 Glue Data Catalog：
      + `os_info_agent`
      + `network_interface_agent`
      + `sys_performance_agent`
      + `processes_agent`
      + `inbound_connection_agent`
      + `outbound_connection_agent`
      + `id_mapping_agent`

**从中移除您的数据 AWS Application Discovery Service**  
要从 Application Discovery Service 中删除所有数据，请联系[AWS 支持](https://aws.amazon.com/contact-us/)部门并申请删除全部数据。

## 修复在 Amazon Athena 中探索数据的常见问题
<a name="troubleshoot-data-exploration"></a>

在本节中，您可以找到有关如何解决在 Amazon Athena 中进行数据探索的常见问题的信息。

**Topics**
+ [无法在 Amazon Athena 中启动数据探索，因为无法创建服务相关角色和 AWS 所需资源](#slr-failed-initialize)
+ [新的代理数据未显示在亚马逊 Athena 中](#new-agent-data-not-showing)
+ [您没有足够的权限访问亚马逊 S3、Amazon Data Firehose 或 AWS Glue](#insufficient-permissions)

### 无法在 Amazon Athena 中启动数据探索，因为无法创建服务相关角色和 AWS 所需资源
<a name="slr-failed-initialize"></a>

 当你在 Amazon Athena 中开启数据探索功能时，它会在你的账户中创建服务相关角色`AWSServiceRoleForApplicationDiscoveryServiceContinuousExport`，这样它就可以创建 AWS 所需的资源，使代理收集的数据可以在亚马逊雅典娜中访问，包括亚马逊 S3 存储桶、Amazon Kinesis 流和。 AWS Glue Data Catalog如果您的账户没有适当的权限在 Amazon Athena 中进行数据浏览以创建此角色，则该角色将无法初始化。请参考[AWS 的托管策略 AWS Application Discovery Service](security-iam-awsmanpol.md)。

### 新的代理数据未显示在亚马逊 Athena 中
<a name="new-agent-data-not-showing"></a>

如果新数据未流入 Athena，则代理启动已超过 30 分钟，且数据探索状态为 “活动”，请查看下面列出的解决方案：
+ AWS 发现代理

  确保代理的 **Collection (收集)** 状态标记为 **Started (已启动)**，**Health (运行状况)** 状态标记为 **Running (正在运行)**。
+ Kinesis 角色

  确保您的账户中具有 `AWSApplicationDiscoveryServiceFirehose` 角色。
+ Firehose 状态

  确保以下 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。

### 您没有足够的权限访问亚马逊 S3、Amazon Data Firehose 或 AWS Glue
<a name="insufficient-permissions"></a>

如果您正在使用 AWS Organizations，并且在 Amazon Athena 中初始化数据探索失败，则可能是因为您无权访问亚马逊 S3、Amazon Data Firehose、Athena 或。 AWS Glue

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

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

## 排除导入失败记录的问题
<a name="troubleshooting-import-failed-records"></a>

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

在导入数据时，您有可能遇到错误。这些错误通常由于以下原因所致：
+ **已达到与导入相关的配额**-存在与导入任务相关的配额。如果您提出的导入任务请求超出配额，则该请求将失败并返回错误。有关更多信息，请参阅 [AWS Application Discovery Service 配额](ads_service_limits.md)。
+ 在@@ **导入文件中插入了一个额外的逗号 (,) — .CSV 文件**中的逗号用于区分一个字段和下一个字段。不支持字段中出现逗号，因为逗号总是用来拆分字段。这会导致一连串格式错误。确保逗号只在字段之间使用，切勿用在导入文件中。
+ **字段的值超出了其支持的范围** — 有些字段（例如某些字段）`CPU.NumberOfCores`必须具有它们支持的值范围。如果超出支持的范围，则记录无法导入。

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

------
#### [ Console ]

**下载失败记录归档**

1. 登录并打开 Mig AWS 管理控制台 ration Hub 控制台，网址为[https://console.aws.amazon.com/migrationhub](https://console.aws.amazon.com/migrationhub)。

1. 在左侧导航窗格中，在 **Discover (发现)** 下，选择 **Tools (工具)**。

1. 从 **Discovery Tools (发现工具)** 中，选择 **view imports (查看导入)**。

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

1. 从控制面板中表格的上方，选择 **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}}
   ```

1. 从输出中，复制为 `errorsAndFailedEntriesZip` 返回的值的整个内容，但不复制引号。

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

------

现在，您已下载了失败记录归档，可以提取其中包含的两个文件并纠正错误。请注意，如果您的错误与基于服务的限制有关，则您需要请求放宽限制，或者删除足够多的相关资源，以使您的账户不超出限制。归档中包含下列文件：
+ **errors-file.csv** — 此文件是您的错误日志，它跟踪每条失败条目的行`ExternalId`、列名和每条失败记录的描述性错误消息。
+ **failed-entries-file.csv**-此文件仅包含原始导入文件中失败的条目。

要更正您遇到的 non-limit-based错误，请使用更正`failed-entries-file.csv`文件中的问题，然后导入该文件。`errors-file.csv`有关导入文件的说明，请参阅[导入数据](discovery-import.md#start-data-import)。