Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Acessar logs do controlador de Funcionalidades do EKS
Os controladores de Funcionalidades do EKS para ACK, kro e Argo CD são executados em uma infraestrutura gerenciada pela AWS fora dos clusters. Você pode configurar a entrega de logs para esses controladores usando os logs fornecidos pelo Amazon CloudWatch, que oferecem visibilidade do comportamento do controlador para monitoramento e solução de problemas.
Os logs são entregues em formato JSON estruturado e incluem campos operacionais, como nível do log, mensagem, nome do controlador e identificadores de reconciliação. Os metadados internos da AWS são filtrados antes da entrega. Você recebe somente conteúdo de log operacional relevante para os controladores de funcionalidade.
Tipos de log compatíveis
Cada funcionalidade tem um ou mais tipos de log que você pode configurar de modo independente como fontes de entrega dos logs fornecidos pelo CloudWatch.
ACK
-
EKS_CAPABILITY_ACK_LOGS
kro
-
EKS_CAPABILITY_KRO_LOGS
Argo CD
-
EKS_CAPABILITY_ARGOCD_APPLICATION_LOGS
-
EKS_CAPABILITY_ARGOCD_APPLICATIONSET_LOGS
-
EKS_CAPABILITY_ARGOCD_COMMITSERVER_LOGS
-
EKS_CAPABILITY_ARGOCD_REPOSERVER_LOGS
-
EKS_CAPABILITY_ARGOCD_LOGS DO SERVIDOR
O ACK usa um único tipo de log que abrange todos os controladores de serviço do ACK. Os registros de log incluem um campo controllerGroup (por exemplo, s3.services.k8s.aws, rds.services.k8s.aws) que identifica qual controlador de serviço do ACK gerou o log. Você pode usar esse campo para filtrar os logs de um controlador de serviço específico no CloudWatch Logs Insights ou outras ferramentas de consulta.
O Argo CD tem cinco tipos de log diferentes, um por componente do controlador. Isso permite que você ative o registro em log somente para os controladores de que precisa e os encaminhe para destinos diferentes.
Configurar entrega de log
Para configurar a entrega de logs do controlador de funcionalidade, use o Console de gerenciamento da AWS ou a API do Amazon CloudWatch Logs. Para obter instruções de configuração detalhadas, consulte Habilitação do registro em log de serviços da AWS no Guia do usuário do Amazon CloudWatch Logs. Cada controlador de funcionalidade pode ser configurado como uma fonte individual de entrega de logs fornecidos pelo CloudWatch, para que você possa selecionar os logs a serem recebidos.
Console
-
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.
-
Selecione o nome do seu cluster.
-
Escolha a guia Funcionalidades e selecione a sua.
-
Na seção Entrega de logs, escolha Adicionar.
-
Selecione o tipo de log para a funcionalidade e escolha um destino.
-
Escolha Adicionar para criar a entrega.
Uso de APIS do Amazon CloudWatch Logs
A configuração do registro em log requer três etapas:
-
Crie uma fonte da entrega para a funcionalidade usando a API
PutDeliverySourcedo CloudWatch. Use o ARN da funcionalidade, comoresourceArn, e especifique o tipo de log desejado. -
Crie um destino de entrega com
PutDeliveryDestination. Especifique o ARN de um grupo de logs do CloudWatch, um bucket do S3 ou um fluxo de entrega do Amazon Data Firehose. -
Crie uma entrega para conectar a fonte e o destino usando
CreateDelivery.
Você pode recuperar o ARN da funcionalidade usando o comando describe-capability:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability\ --query 'capability.capabilityArn' --output text
É possível configurar uma única funcionalidade (fonte de entrega) para enviar logs para vários destinos criando múltiplas entregas. Você também pode enviar logs de várias funcionalidades para o mesmo destino.
Permissões do IAM
Dependendo do destino selecionado, pode ser necessário configurar políticas ou perfis do IAM para o grupo de logs do CloudWatch, o bucket do S3 e o Amazon Data Firehose para garantir sucesso na entrega de logs. Se for enviar logs entre contas da AWS, use a API PutDeliveryDestinationPolicy para configurar uma política do IAM que permita a entrega ao destino. Consulte a documentação de permissões do CloudWatch Vended Logs para obter informações adicionais.
Exemplo: consultar logs com o CloudWatch Logs Insights
Para ver os logs de erros de todos os controladores:
fields @timestamp, controller, message, error | filter level = "error" | sort @timestamp desc | limit 50
Para obter mais exemplos de consulta, incluindo filtragem por controlador de serviço, rastreamento de ciclos de reconciliação e filtragem de aplicações do Argo CD, consulte Usar logs do controlador para solucionar problemas.
Visualização dos logs
Depois que a entrega de logs estiver configurada, os logs serão entregues ao destino especificado. O método para acessar os logs depende do tipo de destino escolhido:
-
CloudWatch Logs: visualize os logs no console do CloudWatch Logs, use comandos da AWS CLI ou consulte com o CloudWatch Logs Insights.
-
Amazon S3: acesse os logs como objetos no bucket do S3 usando o console do S3, a AWS CLI ou ferramentas de analytics, como o Amazon Athena.
-
Amazon Data Firehose: os logs são transmitidos para o destino do Firehose que você configurou (como o S3, o OpenSearch Service, o Redshift etc.).
Preços
As cobranças do CloudWatch Vended Logs se aplicam à entrega e armazenamento de logs com base no destino de entrega escolhido. O CloudWatch Vended Logs permite a entrega confiável e segura de logs com autenticação e autorização da AWS integradas, a um preço reduzido em comparação com o CloudWatch Logs padrão. Consulte a seção Vended Logs da página de definição de preços do CloudWatch