Aprenda a instalar o CWAgent de métricas personalizadas e melhore o monitoramento da nuvem AWS.

  1. Acesse a página de Armazenamento de Parâmetros do AWS System Manager para criar um parâmetro e clique no botão “Criar parâmetro”.

    linux 1.png

  2. Defina AmazonCloudWatch-linux como nome, selecione o nível “Padrão” e tipo “String”.

    linux 2.png

  3. Insira o conteúdo JSON descrito abaixo em “Valor”. por fim, clique em “Criar parâmetro”.

    {
      "metrics":{
        "append_dimensions":{
          "AutoScalingGroupName":"${aws:AutoScalingGroupName}",
          "ImageId":"${aws:ImageId}",
          "InstanceId":"${aws:InstanceId}",
          "InstanceType":"${aws:InstanceType}"
        },
        "metrics_collected":{
          "disk":{
            "measurement":[
              "disk_total",
              "disk_used"
            ],
            "metrics_collection_interval":300,
            "ignore_file_system_types":[
              "tmpfs",
              "devtmpfs",
              "rootfs",
              "sysfs"
            ],
            "resources":[
              "*"
            ]
          },
          "mem":{
            "measurement":[
              "mem_total",
              "mem_used"
            ],
            "metrics_collection_interval":300
          },
          "swap":{
            "measurement":[
              "swap_used",
              "swap_used_percent"
            ],
            "metrics_collection_interval":300
          }
        }
      }
    }
    

    linux 3.png

  4. Assim que for criado, o parâmetro vai aparecer na tela de “Meus parâmetros”.

    linux 4.png

  5. Para que o CWAgent envie dados para o CloudWatch é necessário criar uma função e incluir duas permissões: AmazonEC2RoleforSSM e CloudWatchAgentServerPolicy, através das políticas gerenciadas da AWS na Função IAM para instâncias EC2. Essa função IAM deve ser anexada às instâncias EC2. Caso já possua alguma Função IAM em uso para EC2, é necessário apenas adicionar as permissões AmazonEC2RoleforSSM e  CloudWatchAgentServerPolicy. Acesse a página de “Funções” para prosseguir com o tutorial:

    linux 6.png

  6. Na tela “Criar função”, selecione ”Serviço da AWS” e EC2 como “Caso de uso”. Em seguida, clique em “Próximo”.

    linux 7.png

  7. Selecione a política AmazonEC2RoleforSSM e clique em “Próximo”.

    linux 9.png

  8. Na tela de revisão, verifique se as políticas corretas estão sendo aplicadas e clique em “Criar função”.

    linux 10.png

  9. É necessário realizar a instalação do CWAgent em todas as máquinas que deseja coletar as métricas. Para isso, é possível realizar o processo a partir do acesso individual de cada uma das máquinas ou automatizar essa etapa através da instalação do script bash na rotina de DevOps.

  10. Segue o script abaixo para realizar a instalação:

    #!/bin/bash
    
    cd /home/ubuntu
    wgethttps://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_amd64/amazon-ssm-agent.deb
    sudo dpkg -i amazon-ssm-agent.deb
    sudo rm -rf amazon-ssm-agent.deb
    
    mkdir cwAgentPackage
    cd cwAgentPackage
    wgethttps://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip
    sudo apt-get install -y --force-yes unzip
    unzip AmazonCloudWatchAgent.zip
    sudo chmod +x install.sh
    sudo ./install.sh
    cd ..
    sudo rm -rf cwAgentPackage
    
    ## JSON file stored via ParameterStore called AmazonCloudWatch-linux
    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:AmazonCloudWatch-linux -s
    sudo service amazon-ssm-agent restart
    

🎉 Agora, o agente envia as métricas para o CloudWatch, que serão coletadas pela CleanCloud e estarão disponíveis em até 12h para serem usadas nos dashboards e insights.

<aside> ❓ Ficou com dúvida? Acesse os links abaixo.

O que é CloudWatch ? O que é SSM ? O que é CWAgent ?

</aside>