☁️CloudWatch Exporter

Adım 1: CloudWatch JAR'ını indirin

wget -O 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

Bu komut, CloudWatch Exporter'ın JAR dosyasını indirir ve cloudwatch_exporter.jar olarak kaydeder.

Adım 2: Java'yı yükleyin

sudo apt-get install -y openjdk-11-jre-headless

Bu komut, OpenJDK 11'in JRE (Java Runtime Environment) sürümünü yükler.

Adım 3: AWS kimlik bilgilerini yapılandırın

mkdir -p ~/.aws/
vim ~/.aws/credentials

Bu komutlar, .aws adlı bir dizin oluşturur ve credentials dosyasını düzenler. Vim düzenleyicisi açılacak ve dosyanın içeriğini düzenlemeniz gerekecek.

Dosyanın içeriğini aşağıdaki gibi düzenleyin:

[default]
aws_access_key_id=YOUR_ACCESS_KEY
aws_secret_access_key=YOUR_SECRET_ACCESS_KEY

YOUR_ACCESS_KEY ve YOUR_SECRET_ACCESS_KEY değerlerini kendi AWS kimlik bilgilerinizle değiştirin. Bu kimlik bilgileri, CloudWatch API'lerine erişmek için kullanılacak.

Adım 4: Prometheus yapılandırma dosyasını düzenleyin

vim /path/to/prometheus.yml

Bu komutla Prometheus yapılandırma dosyasını açarsınız. /path/to/prometheus.yml yerine Prometheus'un yüklü olduğu dizini ve prometheus.yml dosyasının yolunu belirtmelisiniz.

Dosyanın içeriğine aşağıdaki yapılandırmaları ekleyin:

- job_name: cloudwatch
  static_configs:
    - targets: ['localhost:9106']

Bu yapılandırma, Prometheus'un CloudWatch Exporter'ı hedef olarak kullanmasını sağlar. Exporter'ın varsayılan olarak localhost:9106 adresinde çalışacağını belirtir. Bu yapılandırmayı ekleyip prometheus servisini yeniden başlatıyoruz.

systemctl restart prometheus

Adım 5: CloudWatch Exporter'ı çalıştırın

CloudWatch Exporter için örnek yapılandırma dosyası (cloudwatchexporter.yml):

region: us-west-1  # İlgili AWS bölgesini burada belirtin.
metrics:
  - aws_namespace: AWS/ELB
    aws_metric_name: RequestCount
    aws_dimensions: [AvailabilityZone, LoadBalancerName]
    aws_statistics: [SampleCount, Average]
    aws_period: 300
    aws_unit: Count
  - aws_namespace: AWS/EC2
    aws_metric_name: CPUUtilization
    aws_dimensions: [InstanceId]
    aws_statistics: [SampleCount, Average]
    aws_period: 300
    aws_unit: Percent

Bu cloudwatchexporter.yml dosyası örneğinde, region değerini kendi kullanmak istediğiniz AWS bölgesine ayarlayabilirsiniz. Ardından, örnek metrikler eklenmiştir. Bu örnekte, AWS/ELB ve AWS/EC2 adında iki adet metrik bulunmaktadır. Siz kendi ihtiyaçlarınıza göre bu metrikleri ve özelliklerini düzenleyebilirsiniz. Metrikleri ekleyebilir, kaldırabilir veya değiştirebilirsiniz.

  • region: AWS bölgesini belirtir. Bu örnekte "us-west-1" olarak belirtilmiştir.

  • metrics: CloudWatch Exporter'ın topladığı metriklerin yapılandırmasını içerir. Her bir metrik için aşağıdaki özellikler belirtilir:

    • aws_namespace: Metriğin bulunduğu AWS hizmetinin adı.

    • aws_metric_name: Toplanacak metriğin adı.

    • aws_dimensions: Metriğin boyutlarını belirtir.

    • aws_statistics: Toplanan metriğin istatistik türlerini belirtir.

    • aws_period: Metriğin toplandığı dönem aralığı.

    • aws_unit: Metriğin birimi.

Bu cloudwatchexporter.yml dosyasını CloudWatch Exporter ile çalıştırdığınız komuta eklemeniz gerekmektedir. Yani, CloudWatch Exporter'ı çalıştırmak için kullanacağınız komutu şu şekilde güncellemeniz gerekmektedir:

/usr/bin/java -jar cloudwatch_exporter.jar 9106 /path/to/cloudwatchexporter.yml

Bu komutla CloudWatch Exporter'ı çalıştırırsınız. Exporter, localhost:9106 adresindeki HTTP sunucusunda dinlemeye başlar. Bu şekilde CloudWatch Exporter, cloudwatchexporter.yml dosyasındaki yapılandırmaları kullanarak metrikleri toplayacak ve Prometheus'a sunacak.

Bu adımları izleyerek CloudWatch Exporter'ı Prometheus ile kullanabilirsiniz.

Last updated

Was this helpful?