View a markdown version of this page

AWSSupport-CollectEKSLinuxNodeStatistics - AWS Systems Manager Referência do Automation Runbook

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWSSupport-CollectEKSLinuxNodeStatistics

Descrição

O AWSSupport-CollectEKSLinuxNodeStatistics runbook coleta estatísticas do Linux de uma instância do Amazon EC2 que faz parte de um cluster do Amazon EKS e de um contêiner em execução na instância se containerd um ID de contêiner for especificado. A instância do Amazon EC2 precisa ser gerenciada por. AWS Systems Manager

As estatísticas do Linux em nível de host coletadas incluem:

  • Informações do sistema operacional.

  • Estatísticas da interface de rede - de ethtool e /sys/class/net/interface/statistics diretório.

  • Os descritores de arquivo contam.

  • As portas efêmeras contam.

  • Um monte de iptables regras.

  • Verifique a tabela completa do Conntrack.

As estatísticas do Linux em nível de contêiner incluem:

  • Informações do identificador - URI e rótulos da imagem.

  • Estatísticas da interface de rede - de ethtool e /sys/class/net/interface/statistics diretório.

  • Resultados de traceroute e DNS se o parâmetro for preenchido. NetworkTargets

  • Contagens de análise de captura de pacotes - retransmissões TCP, pacotes fora de serviço, etc.

O runbook coleta dados de várias distribuições Linux, incluindo Amazon Linux 2, Amazon Linux 2023 e Debian/Ubuntu. Ele usa as versões mais recentes das seguintes imagens da galeria pública do Amazon ECR:

  • amazon-ecs-network-sidecarimagem para obter acesso às ferramentas de solução de problemas.

  • aws-cliimagem para carregar o arquivo JSON do relatório estatístico e os arquivos de captura de pacotes para o bucket do Amazon S3 especificado.

Importante

Esse runbook não é compatível com instâncias do Fargate. Esse runbook pode falhar se a instância for desligada ou desconectada durante a execução.

Como funciona?

O runbook executa as seguintes ações:

  • Verifica se o bucket de destino do Amazon S3 não concede acesso público de leitura ou gravação.

  • Garante que a instância de destino do Amazon EC2 seja gerenciada pelo Systems Manager e esteja em um estado de execução.

  • Verifica se a instância está executando um sistema operacional Linux.

  • Coleta estatísticas abrangentes do Linux da instância do Amazon EC2 e, opcionalmente, de um contêiner especificado.

  • Carrega as estatísticas coletadas no bucket do Amazon S3 especificado.

Execute esta automação (console)

Permissões obrigatórias do IAM

O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.

O AutomationAssumeRole parâmetro requer as seguintes ações:

  • s3:GetAccountPublicAccessBlock

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketAcl

  • s3:GetBucketPolicyStatus

  • s3:GetBucketLocation

  • s3:GetEncryptionConfiguration

  • s3:PutObject

  • ssm:DescribeInstanceInformation

  • ssm:SendCommand

  • ssm:GetCommandInvocation

  • ec2:DescribeInstances

Exemplo de política do IAM:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetAccountPublicAccessBlock" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketPolicyStatus", "s3:GetBucketLocation", "s3:GetEncryptionConfiguration" ], "Resource": "arn:aws:s3:::S3_BUCKET_NAME" }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::S3_BUCKET_NAME/*" }, { "Effect": "Allow", "Action": [ "ssm:DescribeInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:SendCommand" ], "Resource": [ "arn:aws:ssm:*:*:document/AWS-RunShellScript", "arn:aws:ec2:*:111122223333:instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetCommandInvocation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances" ], "Resource": "*" } ] }

Instruções

Siga estas etapas para configurar a automação:

  1. Navegue até AWSSupport-CollectEKSLinuxNodeStatisticsem Systems Manager em Documentos.

  2. Selecione Execute automation (Executar automação).

  3. Para os parâmetros de entrada, insira o seguinte:

    • AutomationAssumeRole (Opcional):

      O Amazon Resource Name (ARN) da função do IAM que permite que o Systems Manager Automation execute as ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.

    • InstanceId (Obrigatório):

      O ID da instância do Amazon EC2 para coletar estatísticas.

    • S3 BucketName (obrigatório):

      Nome do bucket do Amazon S3 para exportar a saída JSON da instância do Amazon EC2 como um arquivo.

    • S3 KeyPrefix (opcional):

      O prefixo de chave do Amazon S3 (subpasta) para exportar a saída JSON da instância do Amazon EC2 como um arquivo. Padrão: AWSSupport-CollectEKSLinuxNodeStatistics.

    • S3 BucketOwnerRoleArn (opcional):

      O ARN da função do IAM com permissões para obter o bucket e a conta do Amazon S3 bloqueia as configurações de acesso público, a configuração da criptografia do bucket, o bucket, o ACLs status da política do bucket e o upload de objetos para o bucket. Se esse parâmetro não for especificado, o runbook usa o AutomationAssumeRole (se especificado) ou o usuário que inicia esse runbook (se não AutomationAssumeRole for especificado).

    • S3 BucketOwnerAccount (opcional):

      A AWS conta que possui o bucket do Amazon S3. Se você não especificar esse parâmetro, o runbook presume que o bucket está nessa conta.

    • ContainerId (Opcional):

      O ID de um contêiner em execução na instância especificada do Amazon EC2.

    • NetworkTargets (Opcional):

      Uma lista separada por vírgulas de IPv4 endereços, nomes and/or DNS para testar a resolução do DNS e a conectividade usando traceroute.

  4. Selecione Executar.

  5. A automação é iniciada.

  6. O bucket realiza as seguintes etapas:

    • CheckBucketAccess:

      Verifica se o bucket do Amazon S3 de destino potencialmente concede acesso público de leitura e and/or gravação a seus objetos.

    • AssertInstanceIsSSMManaged:

      Garante que a instância de destino do Amazon EC2 seja gerenciada pelo Systems Manager, caso contrário, a automação termina.

    • VerifyInstanceState:

      Verifica se a instância do Amazon EC2 está em execução antes de tentar coletar estatísticas.

    • BranchOnVerifyLinuxInstance:

      Verifica se a instância é uma instância Linux antes de continuar.

    • BranchOnVerifyInstanceRunning:

      Verifica se a instância está em execução antes de continuar.

    • CollectEKSLinuxNodeStatistics:

      Coleta estatísticas abrangentes do Linux da instância do Amazon EC2, incluindo informações do sistema operacional, estatísticas da interface de rede, descritores de arquivos, portas efêmeras, regras de firewall e, opcionalmente, estatísticas em nível de contêiner.

    • GenerateStatisticsOutputS3Uri:

      Gera o URI completo do Amazon S3 para os arquivos de estatísticas do Linux para ser usado como saída do documento de automação.

  7. Depois de concluído, revise a seção Outputs para obter os resultados detalhados da execução.

Referências

Automação do Systems Manager