Introdução:
O monitoramento de servidores é uma tarefa essencial para garantir a disponibilidade e o desempenho dos aplicativos hospedados na nuvem. A Amazon Web Services (AWS) oferece um serviço chamado CloudWatch que permite monitorar servidores, contêineres e outros serviços na nuvem. No entanto, o CloudWatch não monitora algumas métricas específicas, como espaço em disco e consumo de memória dos servidores. Neste artigo, discutiremos como monitorar essas métricas usando o CloudWatch para servidores Windows e Linux, e como automatizar o processo.
Criando um Servidor usando o CloudWatch:
Para começar, vamos criar um servidor Windows na AWS. Acesse o console da AWS e selecione “EC2” no menu de serviços. Em seguida, clique em “Instâncias” e depois em “Launch Instance”. Selecione a opção “Windows Server 2019 Base” e, em seguida, selecione o tipo de instância. Para um desempenho mais rápido, recomendamos selecionar uma instância T3 medium com 4GB de memória.
Em seguida, criaremos um novo par de chaves para acessar o servidor. Clique em “Next: Configure Instance Details” e selecione as configurações padrão para a rede e o grupo de segurança. Em seguida, clique em “Next: Add Storage” e adicione um segundo volume de 10 GB para o servidor. Por fim, clique em “Next: Add Tags” e adicione tags para a instância, se desejado. Clique em “Next: Configure Security Group” e selecione as configurações padrão para o grupo de segurança. Por fim, clique em “Review and Launch” e, em seguida, em “Launch”.
Criando uma Função IAM:
Antes de usarmos o System Manager para gerenciar nosso servidor, precisamos criar uma função IAM que permita que nosso servidor acesse os serviços necessários. Acesse o console da AWS e selecione “IAM” no menu de serviços. Em seguida, clique em “Roles” e depois em “Create role”. Selecione “EC2” como o tipo de entidade e, em seguida, selecione “Next: Permissions”.
Em seguida, selecione as políticas “AmazonCloudWatchAgentAdminPolicy” e “AmazonCloudWatchAgentServerPolicy”. Essas políticas permitem que o agente do CloudWatch acesse as métricas e os logs do servidor. Em seguida, selecione “Next: Tags” e adicione tags à função, se desejado. Por fim, selecione “Next: Review” e, em seguida, insira um nome para a função, como “CloudWatch-EC2-Role”. Clique em “Create role” para criar a função.
saiba mais sobre o IAM acessando o artigo:”Segurança AWS IAM: 8 Configurações Essenciais”- https://comunidadecloud.com/seguranca-aws-iam-8-configuracoes-essenciais/
Instalando o Agente do CloudWatch:
Em seguida, conectaremos ao nosso servidor usando o Remote Desktop e instalaremos o Agente do CloudWatch. O agente é um pacote de software que coleta métricas e logs do nosso servidor e os envia para o CloudWatch. Acesse o console da AWS e selecione “Systems Manager” no menu de serviços. Em seguida, clique em “Session Manager” e, em seguida, em “Start Session”. Isso abrirá uma janela de prompt de comando no servidor.
No prompt de comando, digite o seguinte comando para instalar o agente do CloudWatch:
msiexec.exe /i https://aws-cloudwatch.s3.amazonaws.com/Windows/CloudWatchMonitoringAgent/CloudWatchMonitoringAgent.msi /qn
Isso instalará o agente do CloudWatch no servidor. Em seguida, precisamos configurar o agente para coletar as métricas que desejamos monitorar.
Configurando o Agente do CloudWatch:
Para configurar o agente do CloudWatch, precisamos criar um arquivo de configuração. No prompt de comando, digite o seguinte comando para criar o arquivo de configuração:
cd C:\ProgramData\Amazon\AmazonCloudWatchAgent\
mkdir config
cd config
New-Item -ItemType File -Name aws_cloudwatch_agent.json
Isso criará um arquivo chamado “aws_cloudwatch_agent.json” no diretório “C:\ProgramData\Amazon\AmazonCloudWatchAgent\config”. Abra o arquivo usando o Bloco de Notas e adicione as seguintes linhas:
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "ssm-user"
},
"metrics": {
"append_dimensions": {
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
}
}
}
}
Essa configuração coletará as métricas de consumo de memória e espaço em disco do servidor a cada 60 segundos. Você pode adicionar outras métricas à configuração, se desejado.
Automatizando o Processo – CloudWatch:
Para automatizar o processo de instalação e configuração do Agente do CloudWatch, podemos usar o System Manager. Acesse o console da AWS e selecione “Systems Manager” no menu de serviços. Em seguida, clique em “State Manager” e, em seguida, em “Create Association”. Selecione a função IAM que criamos anteriormente e, em seguida, selecione o documento “AWS-ConfigureCloudWatch”.
Em seguida, selecione “Simple Configuration” e insira as seguintes informações:
{
"properties": {
"metrics": {
"append_dimensions": {
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"disk": {
"measurement": [
"used_percent"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
}
}
}
}
}
Isso criará uma associação que instalará e configurará o agente do CloudWatch em todos os servidores que estiverem associados à associação. Você pode selecionar quais servidores associar à associação usando tags ou grupos de instâncias.
Para saber mais, acesse o artigo: “Como Monitorar Servidores na AWS com o CloudWatch: Um Guia Completo” https://comunidadecloud.com/como-monitorar-servidores-aws-cloudwatch/
Monitoramento de Servidores Linux – CloudWatch:
O processo para monitorar servidores Linux é semelhante ao processo para servidores Windows. Acesse o console da AWS e selecione “EC2” no menu de serviços. Em seguida, clique em “Instâncias” e, em seguida, em “Launch Instance”. Selecione a opção “Amazon Linux 2 AMI” e, em seguida, selecione o tipo de instância. Para um desempenho mais rápido, recomendamos selecionar uma instância T3 medium com 4GB de memória.
Em seguida, criaremos um novo par de chaves para acessar o servidor. Clique em “Next: Configure Instance Details” e selecione as configurações padrão para a rede e o grupo de segurança. Em seguida, clique em “Next: Add Storage” e adicione um segundo volume de 10 GB para o servidor. Por fim, clique em “Next: Add Tags” e adicione tags para a instância, se desejado. Clique em “Next: Configure Security Group” e selecione as configurações padrão para o grupo de segurança. Por fim, clique em “Review and Launch” e, em seguida, em “Launch”.
Para instalar o agente do CloudWatch em um servidor Linux, você pode usar o seguinte comando:
sudo yum install amazon-cloudwatch-agent -y
Isso instalará o agente do CloudWatch no servidor. Em seguida, você pode criar um arquivo de configuração semelhante ao arquivo de configuração para servidores Windows e usar o comando “sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/path/to/config/file.json -s” para carregar a configuração no agente do CloudWatch.
Conclusão:
O monitoramento de servidores na AWS com o CloudWatch é essencial para manter o desempenho e a segurança de nossos aplicativos. Usando o Agente do CloudWatch e o System Manager, podemos automatizar o processo de coleta e monitoramento de métricas para servidores Windows e Linux.
Isso nos permite identificar e resolver rapidamente quaisquer problemas que possam surgir, garantindo que nossos aplicativos estejam sempre funcionando sem problemas.
Além disso, a automatização do processo de instalação e configuração do agente do CloudWatch nos permite economizar tempo e recursos, permitindo que nos concentremos em outras tarefas importantes.
Quer assistir o passo a passo deste artigo em vídeo?
Clique aqui:
https://www.youtube.com/watch?v=id2krgoqTtc