Como monitorar as métricas de memória e disco para a instância do Amazon EC2 Linux

Como monitorar as métricas de memória e disco para a instância do Amazon EC2 Linux

Introdução

O AWS CloudWatch fornece a maioria das métricas de monitoramento por padrão. Mas não possui métricas para detalhes de utilização de memória e uso de espaço em disco. Então, se você deseja monitorar a memória no seu sistema ou monitorar o espaço livre em disco usando o CloudWatch. Então, primeiro você precisa adicionar essas métricas à sua conta usando scripts personalizados.

Este artigo ajudará você a monitorar a memória da instância do Linux EC2 e as métricas de disco com a AWS CloudWatch. Lembre -se de que isso não funcionará em nenhuma máquina Linux fora da rede EC2.

Prerequsiteis

Para este tutorial, você usará os scripts Perl fornecidos pela equipe da AWS, esses scripts têm algumas dependências. Você pode usar os seguintes comandos para instalar essas dependências de acordo com seus sistemas operacionais.

Sistemas baseados em redhat:

sudo yum install perl-switch perl-datetime tempo perl-syslog perl-lwp-protocol-https perl-digest-sudo yum install zip unzip 

Sistemas baseados em Debian:

sudo apt-get update sudo apt-get install unzip libwww-perl libdatetime-perl 

SUSE Linux Enterprise Server

sudo zypper install perl-switch perl-datetime sudo zypper install -y "perl (lwp :: protocolo :: https)" 

Baixar e configurar o script

A equipe oficial da AWS fornece scripts de monitoramento do CloudWatch. Você pode simplesmente baixar os scripts e configurar em seu sistema. Use o seguinte comando para baixar scripts e extrair em seu sistema.

CD/OPT WGET http: // aws-cloudwatch.S3.Amazonaws.com/downloads/CloudWatchMonitoringscripts-1.2.1.Zip Unzip CloudWatchMonitoringsCripts-1.2.1.fecho eclair 

Agora crie arquivo de credentils com o arquivo de modelo de enfrentamento.

CD /OPT /AWS-Scripts-Mon ​​CP Awscreds.modelos awscreds.conf 

Agora, você precisa adicionar awsaccesskeyid e awsssecretkey da sua conta da AWS. Isso verificará a propriedade da conta para o script. Se você não tiver, pode criar chaves em sua conta em Usuários >> Seção Credenciais de Segurança.

Teste e agendar scripts

Neste ponto, sua configuração está completa. Vamos usar o seguinte comando para verificar a conectividade entre o script e sua conta da AWS.

./Mon-Put-Instance-Data.PL--MEM-UTIL --verify --verbose 

A saída será algo como abaixo na verificação bem -sucedida.

Verificação concluída com sucesso. Nenhuma métrica real enviada para o CloudWatch. 

Como a verificação foi concluída com sucesso. Você pode adicionar o script ao Crontab para executar um intervalo regular para enviar dados para sua conta EC2. Edite Crontab e adicione o seguinte comando para executar a cada 5 minutos.

*/5 * * * */opt/aws-scripts-mon/mon-put-instance-data.PL-Mem-Ususe-Incl-Cache-Buff-Mem-Util-Disk-Space-Util-Disk-Path =/--From-Cron 

Veja métricas no CloudWatch

Você deve esperar algum tempo depois de adicionar Crontab. Para que ele possa coletar alguns dados para visualizar no gráfico de métricas. Depois de algum tempo

>> Painel de login aws
>> vá para CloudWatch Serviço
>> Clique em Navegue por métricas botão
>> Selecione Sistema Linux sob Namespaces personalizados.

Agora, selecione qualquer métrica para visualizar dados no gráfico, como mostrado na captura de tela abaixo.

Encontre a linha de comando do relatório de utilização

Você também pode encontrar as estatísticas de utilização de resouces nas últimas 24 horas. Use o seguinte comando para obter detalhes.

./Mon-get-Instance-Stats.PL-HOURS RECENTE = 24 

A saída será algo abaixo:

Instância i-xxxxxxxxxxxxxxx estatísticas nas últimas 12 horas. Utilização da CPU Média: 0.05%, mínimo: 0.03%, máximo: 1.56% Utilização de memória Média: 10.63%, mínimo: 10.62%, máximo: 10.63% de utilização de troca: n/a, mínimo: n/a, máximo: N/A Utilização de espaço em disco para/dev/xvda1 montado na/média: 6.65%, mínimo: 6.65%, máximo: 6.65%