Continuando nossa série sobre Prometheus, no artigo de hoje, vamos falar sobre como consumir dados do Cloud Watch com o Prometheus, eliminando a necessidade de programar scripts utilizando a API da AWS.
O Prometheus possuí um exporter que se conecta com o Cloud Watch, sendo necessário apenas escrever o arquivo YAML, baseado nos dados que você precisa, o exporter pode ser utilizado em docker ou diretamente no S.O.
Vou utilizar nesse ambiente uma EC2 CentOS, vamos seguir com a instalação do Exporter Cloud Watch.
1) Download do Exporter:
wget -O /usr/local/bin/cloudwatch_exporter.jar http://search.maven.org/remotecontent?filepath=io/prometheus/cloudwatch/cloudwatch_exporter/0.8.0/cloudwatch_exporter-0.8.0-jar-with-dependencies.jar
2) Instalação java:
yum install -y java-11-openjdk-headless.x86_64
3) Criar os diretórios e arquivos:
mkdir -p /etc/cloudwatchexporter touch /etc/cloudwatchexporter/cloudwtachexporter.yml mkdir -p ~/.aws/ touch ~/.aws/credentials
4) Conteúdo do ˜/.aws/credentials:
[default] aws_access_key_id=YOUR_ACCESS_KEY_ID aws_secret_access_key=YOUR_SECRET_ACCESS_KEY'
5) Conteúdo do /etc/systemd/system/cloudwatch_exporter.service e habilitar para inicialização:
[Unit] Description=CLoudwatch Exporter Wants=network-online.target After=network-online.target [Service] User=root Group=root Type=simple ExecStart=/usr/bin/java -jar /usr/local/bin/cloudwatch_exporter.jar 9106 /etc/cloudwatchexporter/cloudwatchexporter.yml [Install] WantedBy=multi-user.target
systemclt daemon-reload systemclt enable cloudwatch_exporter
6) Adicionar no arquivo do servidor prometheus, /etc/prometheus/prometheus.yml:
- job_name: 'cloudwatch_exporter' scrape_interval: 5s static_configs: - targets: ['localhost:9106']
7) Adicionar conteúdo no arquivo de configuração do cloudwatchexporter.yml:
region: us-east-1 metrics: - aws_namespace: AWS/ECS aws_metric_name: CPUUtilization aws_dimensions: [ClusterName, ServiceName] aws_dimensions_select: ClusterName: [jlcp-movi-desk] aws_statistics: [Average]
8) Validando a configuração no Exporter porta 9106:
Dica de como listar as métricas:
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html