O que é o EC2?
Através do Amazon Elastic Compute Cloud (Amazon EC2) é possível criar servidores virtuais na AWS. Ao utilizar o EC2 você pode subir a quantidade de instâncias que precisar, além de conseguir escalar e desescalar elas de acordo com a sua necessidade. Também é possível fazer configurações de rede, segurança e armazenamento nesses hosts.
Conheça mais sobre o EC2 no site da Amazon.
Como utilizar o módulo AWS do Metricbeat para monitorar suas instâncias EC2
Através desse módulo AWS é possível coletar as métricas de monitoramento do Cloudwatch e enviar elas para o Elasticsearch, esse é um jeito alternativo de monitorar suas instâncias, pois você também poderia usar o módulo System para monitorar elas, a diferença é que para usar o módulo System, você teria que configurar ele em todos os hosts do seu ambiente, já o módulo AWS Metrics te permite executar ele apenas em um host.
Para começar esse lab, você precisará ter um ambiente com um host EC2 e outro ambiente com o Elasticsearch e com o Kibana configurados.
Assim que você tiver esses pré requisitos, poderá começar a seguir os passos abaixo para configurar suas permissões na AWS, configurar o Metricbeat para coletar os dados das instâncias EC2.
Criação do usuário e política na Amazon
Para ter acesso as informações do seu ambiente na AWS vai ser necessário que você crie um usuário para ter uma Access Key e uma Secret Key. Acesse o IAM no console da AWS, crie um usuário e salve a Access Key a Secret Key.
Depois de criar o usuário, você precisará criar uma politica do IAM com os seguintes níveis de acesso:
Cloudwatch: ListMetrics e GetMetricData
EC2: DescribeRegions e DescribeInstances
Por fim revise e crie a política como mostra a imagem abaixo.
Atribua a política que você criou ao usuário que você vai usar.
Instalação e configuração do Metricbeat
Para instalar o Metricbeat nos hosts, siga os passos descritos abaixo.
Faça o download do Metricbeat nesse link.
Instale o Metricbeat:
Windows:PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-metricbeat.ps1
Linux:sudo rpm -vi metricbeat-7.10.1-x86_64.rpm
Acesse o arquivo de configuração do Metricbeat:
Windows:C:\Program Files\Metricbeat\metricbeat.yml
Linux:/etc/metricbeat/metricbeat.yml
Insira nele as informações de conexão com o Elasticsearch e com o Kibana:
output.elasticsearch:
hosts: ["url_do_elasticsearch:9200"]
setup.kibana:
host: ["url_do_kibana:5601"]
Habilite e configure o módulo da AWS:
Windows:.\metricbeat.exe modules enable aws
Linux:sudo metricbeat modules enable aws
Para modificar as configurações do módulo, altere o arquivo aws.yml:
Windows:modules.d/aws.yml
Linux:/etc/metricbeat/modules.d/aws.yml
Por padrão, o arquivo vem com as seguintes informações:
# Module: aws
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.10/metricbeat-module-aws.html
- module: aws
period: 1m
metricsets:
- elb
- natgateway
- rds
- transitgateway
- usage
- vpn
- module: aws
period: 5m
metricsets:
- cloudwatch
metrics:
- namespace: AWS/EC2
#name: ["CPUUtilization", "DiskWriteOps"]
resource_type: ec2:instance
#dimensions:
# - name: InstanceId
# value: i-0686946e22cf9494a
#statistic: ["Average", "Maximum"]
- module: aws
period: 5m
metricsets:
- dynamodb
- ebs
- ec2
- lambda
- rds
- sns
- sqs
- module: aws
period: 24h
metricsets:
- billing
cost_explorer_config:
group_by_dimension_keys:
- "AZ"
- "INSTANCE_TYPE"
- "SERVICE"
# group_by_tag_keys:
# - "aws:createdBy"
- module: aws
period: 24h
metricsets:
- s3_daily_storage
- module: aws
period: 1m
latency: 5m
metricsets:
- s3_request
Também insira nele as credenciais de acesso a AWS que você criou anteriormente:
metricbeat.modules:
- module: aws
period: 300s
metricsets:
- "ec2"
access_key_id: '${AWS_ACCESS_KEY_ID:"SUA ACCESS KEY"}'
secret_access_key: '${AWS_SECRET_ACCESS_KEY:"SUA SECRET KEY"}'
default_region: '${AWS_REGION:us-east-1}'
Carregue os dashboards do módulo:
Windows:.\metricbeat.exe setup
Linux:sudo metricbeat setup
Inicie o serviço do Metricbeat:
Windows:Start-Service metricbeat
Linux:sudo service metricbeat start
Depois disso, você conseguirá ver os logs do seu ambiente no discover, além de ter dashboards com informações e métricas do estado das suas instâncias na Amazon.
Top comments (0)