对无代理收集器进行故障排除 - AWS Application Discovery

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

对无代理收集器进行故障排除

本节包含的主题可以帮助您解决 Application Discovery Service 无代理收集器(无代理收集器)的已知问题。

修复安装过程中无法访问 AWS 的无代理收集器

无代理收集器需要通过 TCP 端口 443 对多个域进行出站访问。 AWS 在控制台中配置无代理收集器时,可能会收到以下错误消息。

无法到达 AWS

AWS 无法到达。请验证网络设置。

出现此错误的原因是 Agentless Collector 尝试与该收集器在设置过程中需要与之通信的 AWS 域建立 HTTPS 连接失败。如果无法建立连接,则无代理收集器配置将失败。

将连接修复到 AWS
  1. 请咨询您的 IT 管理员,了解贵公司的防火墙是否阻止了通过端口 443 向任何需要出站访问的 AWS 域名的出站流量。哪些 AWS 域名需要出站访问取决于您的主区域是美国西部(俄勒冈)区域、us-west-2 还是其他区域。

    如果您的 AWS 账户主区域为 us-west-2,则以下域名需要出站访问:
    • arsenal-discovery.us-west-2.amazonaws.com

    • migrationhub-config.us-west-2.amazonaws.com

    • api.ecr-public.us-east-1.amazonaws.com

    • public.ecr.aws

    如果您的 AWS 账户主区域不是,则以下域名需要出站访问权限us-west-2
    • arsenal-discovery.us-west-2.amazonaws.com

    • arsenal-discovery.your-home-region.amazonaws.com

    • migrationhub-config.us-west-2.amazonaws.com

    • api.ecr-public.us-east-1.amazonaws.com

    • public.ecr.aws

    如果您的防火墙阻止了对 Agentless Collector 需要与之通信的 AWS 域的出站访问,请在 “收集器配置” 下的 “数据同步” 部分中配置代理主机。

  2. 如果更新防火墙不能解决连接问题,请使用以下步骤确保收集器虚拟机具有与上一步中列出的域的出站网络连接。

    1. 从 VMware vCenter 获取无代理收集器的 IP 地址。

    2. 打开收集器的 VM 控制台并ec2-user使用密码登录collector,如以下示例所示。

      username: ec2-user password: collector
    3. 通过在端口 443 上运行 telnet 来测试与所列域的连接,如以下示例所示。

      telnet migrationhub-config.us-west-2.amazonaws.com 443
  3. 如果 telnet 无法解析域,请尝试按照适用于 Amazon Linux 2 的说明配置静态 DNS 服务器。

  4. 如果错误仍然存在,要获得更多支持,请参阅就无代理 AWS 收集器问题联系 Support

修复连接到代理主机时的自签名认证问题

如果通过 HTTPS 与可选提供的代理进行通信,并且该代理具有自签名证书,则可能需要提供证书。

  1. 从 VMware vCenter 获取无代理收集器的 IP 地址。

  2. 打开收集器的 VM 控制台并ec2-user使用密码登录collector,如以下示例所示。

    username: ec2-user password: collector
  3. 将与安全代理关联的证书正文(包括-----BEGIN CERTIFICATE----------END CERTIFICATE-----)粘贴到以下文件中:

    /etc/pki/ca-trust/source/anchors/https-proxy-ca.pem
  4. 要安装新证书,请运行以下命令:

    sudo update-ca-trust
  5. 运行以下命令重新启动无代理收集器:

    sudo shutdown -r now

寻找不健康的收藏家

每个收集器的状态信息可在 AWS Migration Hub (Migration Hub)控制台的数据收集器页面上找到。您可以通过查找任何状态为需要关注” 的收藏家来识别有问题的收藏家。

以下过程介绍如何访问无代理收集器控制台以识别运行状况问题。

访问无代理收集器控制台
  1. 使用你的 AWS 账户,登录 AWS Management Console 并打开 Migration Hub 控制台,网址为 https://console.aws.amazon.com/migrationhub/

  2. 在 Migration Hub 控制台导航窗格的 “发现” 下,选择 “数据收集器”。

  3. 在 “无代理收集器” 选项卡中,记下状态为 “需要注意” 的每个连接器的 IP 地址

  4. 要打开无代理收集器控制台,请打开 Web 浏览器。然后在地址栏中键入以下 URL: https:// /<ip_address>,其中 ip_addres s 是运行状况不佳的收集器的 IP 地址。

  5. 选择 “登录”,然后输入无代理收集器密码,该密码是在中配置收集器时设置的。步骤 5:配置无代理收集器

  6. 在 “无代理收集器” 控制板页面的 “数据收集” 下,选择 VMware vCent er 部分的 “查看和编辑”

  7. 按照中的说明编辑 VMware vCenter ter证书更正 URL 和凭证。

更正运行状况问题后,收集器将重新建立与 vCenter Server 的连接,并且收集器的状态将更改为 “正在收集” 状态。如果问题仍然存在,请参阅就无代理 AWS 收集器问题联系 Support

收集器运行状况不佳的最常见原因是 IP 地址和凭据问题。 修复 IP 地址问题修复 vCenter 凭据问题可以帮助您解决这些问题并将收集器恢复到正常状态。

修复 IP 地址问题

如果收集器安装期间提供的 vCenter 端点格式错误、无效,或者 vCenter 服务器当前已关闭且无法访问,则收集器可能会进入不健康状态。在这种情况下,您将收到一条连接错误消息。

以下过程可以帮助您解决 IP 地址问题。

修复收集器 IP 地址问题
  1. 从 VMware vCenter 获取无代理收集器的 IP 地址。

  2. 打开 Web 浏览器打开无代理收集器控制台,然后在地址栏中键入以下 URL:https:///<ip_address>,其中 ip_addr ess 是收集器来自的 IP 地址。步骤 3:部署无代理收集器

  3. 选择 “登录”,然后输入无代理收集器密码,该密码是在中配置收集器时设置的。步骤 5:配置无代理收集器

  4. 在 “无代理收集器” 控制板页面的 “数据收集” 下,选择 VMware vCent er 部分的 “查看和编辑”

  5. VMware 数据收集详细信息页面的 “已发现的 vCenter 服务器” 下,记下 vCenter 列中的 IP 地址。

  6. 使用单独的命令行工具(如ping或)traceroute,验证关联的 vCenter 服务器是否处于活动状态,并且可以从收集器虚拟机访问 IP。

    • 如果 IP 地址不正确且 vCenter 服务处于活动状态,请在收集器控制台中更新 IP 地址,然后选择下一步。

    • 如果 IP 地址正确但 vCenter 服务器处于非活动状态,请将其激活。

    • 如果 IP 地址正确且 vCenter 服务器处于活动状态,请检查它是否因防火墙问题而阻止入口网络连接。如果是,请更新您的防火墙设置以允许来自收集器虚拟机的传入连接。

修复 vCenter 凭据问题

如果配置收集器时提供的 vCenter 用户凭据无效,或者没有 vCenter 读取和查看帐户权限,则收集器可能会进入不健康状态。

如果您遇到与 vCenter 凭据相关的问题,请检查并确保已为系统组设置了 vCenter 读取和查看权限。

有关编辑 vCenter 凭据的信息,请参阅。编辑 VMware vCenter ter证书

修复数据库和分析数据收集模块中的数据转发问题

Agentless Collector 中的数据库和分析数据收集模块的主页显示了访问 DMS 和访问 S3 的连接状态。如果您看到 “无法访问 DMS” 和 “访问 S3”,请配置数据转发。有关更多信息,请参阅 配置数据转发

如果您在配置数据转发后遇到此问题,请检查以确保您的数据收集模块可以访问互联网。然后,请确保您已将 DMS CollectorPolicyFleetAdvisorS3Policy 策略添加到您的 IAM 用户。有关更多信息,请参阅 步骤 1:为无代理收集器创建 IAM 用户

如果您的数据收集模块无法连接 AWS,请提供对以下域的出站访问权限。

  • dms.your-home-region.amazonaws.com

  • s3.amazonaws.com

修复数据库和分析数据收集模块中的连接问题

Agentless Collector 中的数据库和分析数据收集模块连接到您的 LDAP 服务器,以发现数据环境中的操作系统服务器。然后,数据收集模块连接到您的操作系统服务器以发现数据库和分析服务器。数据收集模块从这些数据库服务器收集容量和性能指标。如果您的数据收集模块无法连接到这些服务器,请验证您是否可以连接到您的服务器。

在以下示例中,用您的值替换可替换的值。

  • 要验证是否可以连接到 LDAP 服务器,请安装ldap-util软件包。为此,请运行以下命令。

    sudo apt-get install ldap-util

    然后运行以下命令。

    ldapsearch -x -D "CN=user,CN=Users,DC=example,DC=com" -w "password" -b "dc=example,dc=com" -h
  • 要验证是否可以连接到 Linux 操作系统服务器,请使用以下命令。

    ssh -i C:\Users\user\private_key.pem -p 22 username@my-linux-host.domain.com

    在 Windows 中以管理员身份运行前面的示例。

    ssh username@my-linux-host.domain.com

    在 Linux 中运行前面的示例。

  • 要验证是否可以连接到 Windows 操作系统服务器,请使用以下命令。

    winrs -r:[hostname or ip] -u:username -p:password cmd

    在 Windows 中以管理员身份运行前面的示例。

    sudo apt install -y winrm winrm --user=username --password=password [http or https]://[hostname or ip]:[port] "[cmd.exe or any other CLI command]"

    在 Linux 中运行前面的示例。

  • 要验证是否可以连接到 SQL Server 数据库,请使用以下命令。

    sqlcmd -S [hostname or IP] -U username -P 'password' SELECT GETDATE() AS sysdate
  • 要验证是否可以连接到 MySQL 数据库,请使用以下命令。

    mysql -u username -p 'password' -h [hostname or IP] -P [port] SELECT NOW() FROM DUAL
  • 要验证是否可以连接到 Oracle 数据库,请使用以下命令。

    sqlplus username/password@[hostname or IP]:port/servicename SELECT SYSDATE FROM DUAL
  • 要验证您是否可以连接到 PostgreSQL 数据库,请使用以下命令。

    psql -U username -h [hostname or IP] -p port -d database SELECT CURRENT_TIMESTAMP AS sysdate

如果您无法连接到数据库和分析服务器,请确保提供所需的权限。有关更多信息,请参阅 发现您的数据库服务器

支持独立 ESX 主机

无代理收集器不支持独立的 ESX 主机。ESX 主机必须是 vCenter Server 实例的一部分。

就无代理 AWS 收集器问题联系 Support

如果您在使用 Application Discovery Service 无代理收集器(无代理收集器)时遇到问题并需要帮助,请联系AWS 支持部门。我们将与您联系,并可能要求您发送收集器日志。

获取无代理收集器日志
  1. 从 VMware vCenter 获取无代理收集器的 IP 地址。

  2. 打开收集器的 VM 控制台并ec2-user使用密码登录collector,如以下示例所示。

    username: ec2-user password: collector
  3. 使用以下命令导航到日志文件夹。

    cd /var/log/aws/collector
  4. 使用以下命令压缩日志文件。

    sudo cp /local/agentless_collector/compose.log . docker inspect $(docker ps --format {{.Names}}) | sudo tee docker_inspect.log >/dev/null sudo tar czf logs_$(date '+%d-%m-%Y_%H.%M.%S').tar.gz * --exclude='db.mv*'
  5. 从无代理收集器虚拟机复制日志文件。

    scp logs*.tar.gz targetuser@targetaddress
  6. tar.gz文件交给 E AWS nterprise Support。