Solução de problemas do Container Insights no Amazon EKS
Esta seção aborda problemas comuns que você pode encontrar ao configurar ou operar o Container Insights no Amazon EKS. Use as tabelas e os comandos de diagnóstico a seguir para identificar e resolver problemas, independentemente de você usar a abordagem OTel ou Classic.
Para obter orientação de configuração específica da abordagem, consulte Início rápido: OTel Container Insights no Amazon EKS ou Guia de instalação (AWS CLI). Para comparar abordagens, consulte Comparar abordagens do Container Insights.
As métricas não aparecem no CloudWatch
Se você não vê métricas no namespace ContainerInsights, use a tabela a seguir para identificar a causa.
| Sintomas | Causa | Resolução |
|---|---|---|
Nenhuma métrica no namespace ContainerInsights |
O perfil do IAM não tem a permissão cloudwatch:PutMetricData |
Anexe a política gerenciada pela CloudWatchAgentServerPolicy ao perfil do IAM do atendente. |
| As métricas aparecem para alguns nós, mas não para outros | O DaemonSet do atendente não está programado em todos os nós devido a taints | Adicione tolerâncias ao DaemonSet do atendente para permitir o agendamento em nós com taint. |
| As métricas param de aparecer | O pod do atendente foi eliminado pelo OOM ou está sendo reiniciado | Aumente os limites de memória na especificação do recurso do pod do atendente. |
| As métricas estão obsoletas ou com valor zero | A conexão de rede está bloqueada | Verifique os grupos de segurança da VPC e verifique se existe um endpoint da VPC do CloudWatch. |
| As métricas aprimoradas não foram encontradas | Atendente não configurado para observabilidade aprimorada | Defina enhancedObservability: true na configuração do atendente. |
Os pods do atendente não iniciam
Se os pods do atendente falharem ao iniciar ou permanecerem em um estado de não execução, use a tabela a seguir para diagnosticar o problema.
| Sintomas | Causa | Resolução |
|---|---|---|
ImagePullBackOff |
O Amazon ECR está inacessível ou a tag da imagem está incorreta | Verifique o URI da imagem e confirme se seus nós conseguem acessar o Amazon ECR. |
Pending |
CPU ou memória insuficientes no nó | Dimensione o grupo de nós ou reduza as solicitações de recursos na especificação do pod do atendente. |
CrashLoopBackOff |
Configuração inválida ou montagem de volume ausente | Verifique os logs do pod em busca de erros de configuração executando kubectl logs no pod afetado. |
FailedScheduling |
A afinidade ou os taints do nó impedem o agendamento | Analise o nodeSelector e as tolerâncias na especificação do DaemonSet. |
| Código de saída 1 | A conta de serviço não tem a anotação IRSA | Verifique se a conta de serviço tem a anotação eks.amazonaws.com/role-arn. |
Falhas na instalação do complemento
Se a instalação do complemento amazon-cloudwatch-observability falhar ou relatar um status de não integridade, use a tabela a seguir para solucionar problemas.
| Sintomas | Causa | Resolução |
|---|---|---|
CREATE_FAILED |
Recursos conflitantes de uma instalação anterior | Exclua recursos conflitantes e use --resolve-conflicts OVERWRITE ao criar o complemento. |
| Provedor OIDC não encontrado | Não existe nenhum provedor de identidade IAM OIDC para o cluster. | Crie o provedor executando eksctl utils
associate-iam-oidc-provider. |
| Conflito de versão | A versão do complemento não é compatível com a versão do Kubernetes | Liste as versões compatíveis executando aws eks
describe-addon-versions. |
DEGRADEDStatus de |
As verificações de integridade estão falhando devido à falta de permissões | Verifique os logs do pod e verifique se a função IRSA tem as políticas necessárias anexadas. |
Problemas de entrega de logs
Se os logs do contêiner não aparecerem no Amazon CloudWatch Logs, use a tabela a seguir para identificar a causa.
| Sintomas | Causa | Resolução |
|---|---|---|
| O grupo de logs não existe | Permissões logs:CreateLogGroup ausentes |
Adicione permissões do Amazon CloudWatch Logs ao perfil do IAM do atendente. |
| O grupo de logs existe, mas está vazio | Atendente não configurado para logs ou incompatibilidade de região | Verifique se a configuração do atendente inclui a coleta de logs e se a região corresponde à região do seu cluster. |
| Os logs estão atrasados em mais de 5 minutos | O intervalo de descarga é muito alto ou o nó está sob carga pesada | Reduza o valor force_flush_interval na configuração do atendente. |
| Os logs de desempenho não foram encontrados | O atendente está configurado somente para logs de aplicações | Verifique se a seção de log de desempenho do Container Insights está presente na configuração do atendente. |
Problemas específicos da migração
Se você tiver problemas ao migrar entre as abordagens do Container Insights, use a tabela a seguir. Para ver o fluxo de trabalho completo da migração, consulte Guias de migração.
| Sintomas | Causa | Resolução |
|---|---|---|
| Métricas duplicadas durante a execução paralela | Ambas as abordagens publicam métricas simultaneamente | Espera-se esse comportamento durante uma execução paralela. Desative a abordagem antiga depois de validar a nova abordagem. |
| Valores de métrica diferentes entre abordagens | Métodos de cálculo diferentes | Pequenas diferenças (menos de 5%) são esperadas. Grandes diferenças indicam uma incompatibilidade de configuração entre as abordagens. |
| A reversão falhou | A configuração personalizada não foi reaplicada | Reaplique seus valores de configuração completos ao reverter. |
| Alarmes disparam durante a migração | Lacunas de métricas durante o período de transição | Defina temporariamente o tratamento de dados ausentes como notBreaching nos alarmes afetados. |
Problemas do OTel Container Insights
Os problemas a seguir são específicos da abordagem do OTel Container Insights. Para obter orientação geral de configuração, consulte Início rápido: OTel Container Insights no Amazon EKS.
| Sintomas | Causa | Resolução |
|---|---|---|
| Erro 403 de exportador proibido | O perfil do IAM tem permissões CloudWatch ausentes | Verifique se o CloudWatchAgentServerPolicy está vinculado ao perfil do atendente. |
| Conexão recusada no endpoint de métricas | O coletor não consegue alcançar o kubelet | Verifique se hostNetwork: true está definido na especificação do pod ou confirme se a conta de serviço tem as permissões necessárias. |
| Alto uso de memória | A fila do processador de lote é muito grande | Reduza os valores batch/timeout e batch/send_batch_size na configuração do coletor. |
| As métricas personalizadas não aparecem | Receptor não configurado para o endpoint da aplicação | Adicione um receptor Prometheus que tenha como alvo a porta de métricas da sua aplicação na configuração do coletor. |
Comandos de diagnóstico geral
Use os comandos a seguir para coletar informações sobre sua implantação do Container Insights.
Para verificar o status do pod do atendente, execute o comando a seguir.
kubectl get pods -n amazon-cloudwatch
Para visualizar os logs do pod do atendente, execute o comando a seguir.
kubectl logs -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent --tail=50
Para verificar o status do DaemonSet do atendente, execute o comando a seguir.
kubectl get daemonset -n amazon-cloudwatch
Para criar o perfil do IAM em uma conta de serviço, execute o comando a seguir.
kubectl get serviceaccount -n amazon-cloudwatch -o yaml
Para verificar o status do complemento do cluster, execute o comando a seguir. Substitua cluster-name pelo nome do cluster do Amazon EKS.
aws eks describe-addon --cluster-namecluster-name--addon-name amazon-cloudwatch-observability
Para listar grupos de logs do Container Insights, execute o comando a seguir. Substitua cluster-name pelo nome do cluster do Amazon EKS.
aws logs describe-log-groups --log-group-name-prefix "/aws/containerinsights/cluster-name"
Recursos relacionados
Para ter mais informações sobre como configurar e operar o Container Insights no Amazon EKS, consulte os tópicos a seguir.
-
Início rápido: OTel Container Insights no Amazon EKS: configurar o OTel Container Insights
-
Guia de instalação (AWS CLI): configurar o Classic Container Insights
-
Guias de migração: migrar entre abordagens
-
Comparar abordagens do Container Insights: comparar as abordagens do Container Insights