AWS EKS故障排除常见问题

AWS EKS故障排除常见问题

只有当您已在Applications Manager中添加了Amazon监控器时,才能配置AWS EKS监控器。
在Applications Manager中监控Elastic Kubernetes Service之前,请确保您已满足Amazon监控的先决条件

如何验证是否满足所有先决条件?
  1. 要检查是否安装了aws-cli,请执行以下命令:aws --version
    示例输出 (对于Windows 10):aws-cli/2.1.29 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
  2. 要检查是否安装了kubectl,请执行命令:kubectl version --short --client
    示例输出:客户端版本:v1.19.15-eks-ad4801
  3. 登录AWS控制台并检查在Applications Manager中使用其凭证的IAM用户是否有权访问先决条件中列出的所有API 。

何时为EKS监视器填充数据?

  1. 我们只在EKS集群处于活动状态时才启动数据收集。 

          可能的状态:创建、活动、删除、失败、更新

如果集群处于创建/更新状态,我们只会更新“概览”选项卡中的“集群信息”组


如果您的AWS EKS监视器中未填充数据 (无数据/无UI消息),可能是由于以下任何原因所导致:
  1. 您尚未满足在Applications Manager中监控AWS EKS所需的先决条件 。
  2. 通过验证上述先决条件,检查已安装APM的用户是否具有访问已安装kubectl/aws-cli的权限。
  3. EKS集群未处于活动状态 。
     注意: Applications Manager仅在EKS集群处于活动状态时启动数据收集。如果集群处于创建/更新状态,则只会在概览选项卡中的集群信息组中更新数据。
如果未填充容器Insights数据:
  1. 通过使用上述方法验证您是否满足所有先决条件
  2. 确保amazon-cloudwatch pod是否处于运行状态。如果处于运行状态并且AWS控制台的cloudwatch中仍然没有数据,请确保CloudWatchAgentServerPolicy已附加到运行 amazon-cloudwatch pod的节点 (EC2实例)。欲了解更多信息请点击此处
如果要禁用代理服务器:
  1. 在Applications Manager中,导航到管理 > 产品设置 > 连接 > 代理服务器。
  2. 首先验证是否已配置代理服务器。
  3. 如果已配置,则需要在使用代理服务器中排除kubectl,请导航到EKS监控页面 > 概览选项卡 > 集群信息并获取集群端点 信息。在没有协议的情况下,不要对以地址开头的地址使用代理 (http/https) 字段中提供端点信息
 注意: 只有kubectl 1.19及以上版本支持代理。

如果要禁用特定节点条件的自动告警

通过导航到管理 > 性能轮询 > 优化数据手机 > Elastic Kubernetes Service 禁用特定条件



注意:如果一个节点没有处于准备就绪状态,它的运行情况会自动受到影响。

EKS监视器中可能出现的错误及其故障排除

无法从 'eks:DescribeCluster' API获取数据 (或) 
'eks:DescribeCluster' API 的访问被拒绝(或)
无法收集 <SERVICE_NAME> 的数据。<API_NAME> 的访问被拒绝。
  1. 确保您已满足在Applications Manager中发现和监控Elastic Kubernetes Service集群的先决条件
  2. 登录AWS控制台并验证在Applications Manager中使用凭证的IAM用户是否有先决条件中API的访问权限。
由于未安装kubectl/aws-cli,数据收集已停止。
  1. 确保您已遵循并完成了所有的先决条件
  2. 通过执行上述步骤来验证您是否已完成先决条件
数据收集已停止。无法通过kubectl连接到EKS集群端点。

    1. 如果您使用的是私有EKS端点并遇到此错误,请参阅此处 以使用私有端点访问运行 kubectl 命令。

      1. 如果您想单独为特定的IP地址添加对Kubernetes API服务器的访问权限,请参阅此处

    2. 确保在EKS集群的VPC中启用DNS主机名。要启用DNS主机名DNS解析,请参阅此处

    3. 确保安全组的入站策略配置正确。

数据收集已停止。用户无权通过kubectl获取数据。
    1. 确保其用于添加EKS监视器的用户凭证具有根权限

    2. 需要解决未经授权的错误,请参阅此处

    3. 需要添加IAM用户以启用对EKS集群的访问,请参阅此处


执行kubectl命令时超时。

    1. 增加超时值 (超时的默认值和最小值是30秒)。如果需要增加该值,请转到EKS监控页面,监控操作 -> 编辑监视器 -> 提供适当的值并更新。

    2. 确保您的系统具有稳定的网络连接。

    3. 运行以下kubectl命令可以了解接收响应所需的大致时间。

      1. kubectl get nodes

      2. kubectl get pods --all-namespaces

APM中使用的kubectl命令列表

  1. 所有命令都将附加  --kubeconfig <FILEPATH>.
  2. kubectl config set clusters.%s.proxy-url %s
  3. kubectl version -o json
  4. kubectl get namespaces -o json
  5. kubectl get componentstatuses -o json --all-namespaces
  6. kubectl get nodes -o json
  7. kubectl get pods -o json --all-namespaces
  8. kubectl get services -o json --all-namespaces
  9. kubectl get deployments -o json --all-namespaces
  10. kubectl get persistentvolumes -o json --all-namespaces
  11. kubectl get persistentvolumeclaims -o json --all-namespaces
  12. kubectl describe nodes

使用的 aws 命令列表

  1. aws configure set aws_access_key_id {access_key}
  2. aws configure set aws_secret_access_key {secret_access_key}
  3. aws configure set default.region {region}
  4. aws eks --region {region} update-kubeconfig --name {cluster_name} --kubeconfig <FILEPATH>

    • Related Articles

    • IPSLA 故障排除帮助文档

      本文档涵盖基本故障排除和配置详细信息。它还有助于查找和解决与配置和数据收集有关的问题 涵盖的主题: 即使使用IP SLA和Cisco RTTMON-MIB正确启动了源设备,监视器配置也会失败? 即使已添加设备,IP SLA监视器配置也不会在添加监视器页面中显示设备? 添加监视器失败。无法更改活动监视器。尝试再次创建自己的监视器? 为什么阈值参数设置更新未反映在现有的IP SLA监视器中? 有哪些阈值参数可用? 为什么我收到 “源路由器SNMP写社区可能是错误的” 消息? ...
    • Azure SQL数据库 - 故障排除 - 将客户端IP添加到Azure防火墙

      "与数据库的连接失败并出现错误:无法打开登录请求的服务器 <ServerName>。IP 地址为 <SomeIP> 的客户端不允许访问服务器。要启用访问,请使用Windows Azure管理门户或在主数据库上运行sp_set_firewall_rule来为此IP地址或地址范围创建防火墙规则” - Azure SQL数据库的监视器详细信息页面中的错误消息“ 故障排除 在Azure门户中,用户应在SQL服务器的防火墙设置下添加客户端IP ...
    • Microsoft Azure - 故障排除 - AD Application和服务主体模式下的应用程序密钥无效错误

      “订阅者 <subscriptionID> 的Azure服务发现失败。无效的应用程序密钥” - 使用AD Application和服务主体模式编辑新Azure监视器时出现错误消息 故障排除: 在 AD应用程序和服务主体模式下,用户在Azure门户中创建一个AD应用程序,并在Applications Manager中提供生成密钥客户端ID、TenantID和应用程序密钥的门户。创建1年后,Application密钥将会过期并抛出上述错误消息。  ​​​ ...
    • 拓扑图故障排除

      确保在设置 ->系统设置 ->常规下启动了数据库查询。 启动后,点击右上角的支持图标 ->数据库查询,依次执行以下查询,确保所有页面均位于页面底部中心,并将输出保存为 .csv格式,然后将其发送给OpManager支持。 从LAYER2CONFIGURATION表中获取拓扑图ID(从LAYER2CONFIGURATION中选择拓扑图ID,其中拓扑图名称=<'MAPNAME'>) 从LAYER2CONFIGURATION中选择* ...
    • 故障排除ServiceNow附加集成错误

      问题: 尝试添加ServiceNow实例时弹出以下错误: 解决方案: 确保的ServiceNow实例可以从AppManager的服务器访问,并且用户帐户具有ITIL ,itil_admin和personalize_choices分配的角色。