Grafana, Prometheus ve Node Exporter Kullanarak Linux Sunucularını İzleme

 Bu yazıda, Linux sunucusunu izlemek ve Grafana aracılığıyla güzel bir kontrol paneli oluşturmak için bu araçları kuracağız.

Prometheus:

Prometheus, modern, dinamik ortamlarda güvenilirlik ve ölçeklenebilirlik için tasarlanmış açık kaynaklı bir izleme ve uyarı araç setidir.  Cloud Native Computing Foundation’ın (CNCF) bir parçasıdır ve konteynerli uygulamaları ve mikro hizmet mimarilerini izlemek için yaygın olarak kullanılır.

Grafana:

Grafana, veritabanları, izleme sistemleri ve Prometheus gibi zaman serisi veritabanları dahil olmak üzere çeşitli veri kaynaklarıyla entegre olan açık kaynaklı bir analiz ve izleme platformudur.  Etkileşimli kontrol panelleri, çizelgeler ve grafikler oluşturmak ve paylaşmak için zengin özelliklere sahip ve görsel olarak çekici bir yol sunarak ölçümleri ve günlükleri görselleştirmek ve analiz etmek için popüler bir seçim haline getirir.

Node Exporter:

Node Exporter, Linux ve Unix benzeri işletim sistemlerinden çeşitli sistem düzeyinde ölçümler toplayan bir Prometheus ihracatçısıdır.  Prometheus ile izlemek istediğiniz her makinede (düğümde) çalışan bir aracı görevi görür.  Node Exporter, sistem kaynakları, donanım ve diğer önemli bilgilerle ilgili çeşitli ölçümleri açığa çıkarır ve bu da onu Prometheus tabanlı izleme kurulumlarında temel bir bileşen haline getirir.

Now, let’s initiate our setup:

Bu projenin kurulumu olarak bir Linux sanal makinesi kullanacağız ve onu Prometheus, Grafana ve Node Exporter kullanarak izleyeceğiz.

Başlamak için iki sanal makineye ihtiyacımız olacak: biri Prometheus ve Grafana’nın kurulumu yapılmış olacak, diğeri ise izlenen örnek olarak hizmet verecek.  Metrikleri toplamak için ikincisine Node Exporter’ı kuracağız.

Birincil makineye Prometheus ve Grafana’nın kurulması:

  • https://prometheus.io/download/ adresine gidin ve prometheus-2.49.0-rc.1.linux-amd64.tar.gz bağlantı adresini kopyalayın. (Daha yeni bir versiyon bulunabilir)
wget https://github.com/prometheus/prometheus/releases/download/v2.49.0-rc.1/prometheus-2.49.0-rc.1.linux-amd64.tar.gz
  • Binary dosyayı çıkartın.
tar xvfz prometheus-2.49.0-rc.1.linux-amd64.tar.gz
  • Çıkarılan dizine gidin
cd prometheus-2.49.0-rc.1.linux-amd64.tar.gz
  • Prometheus sunucusunu başlatın.
./prometheus
  • Artık prometheus sunucusuna 9090 numaralı bağlantı noktasından erişebilirsiniz.
http://{ip of your virtual machine}:9090/

Şimdi aynı makineye (birincil makine) grafanayı kuracağız.

  • Grafana’yı kurmadan önce sisteminizde gerekli paketlerin bulunduğundan emin olun.  Aşağıdaki komutları çalıştırın:
sudo apt-get update sudo apt-get install -y apt-transport-https software-properties-common wget
  • Paket bütünlüğünü sağlamak için Grafana GPG anahtarını ekleyin:
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add
  • Grafana’nın kararlı deposunu ekleyin:
echo "deb https://packages.grafana.com/enterprise/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
  • Depoyu güncelleyin ve Grafana’yı yükleyin:
sudo apt-get update
sudo apt-get install grafana-enterprise
  • Grafana sunucusunu başlatın:
sudo systemctl daemon-reload
sudo systemctl start grafana-server
  • Çalıştığından emin olmak için Grafana sunucusunun durumunu kontrol edin:
sudo systemctl status grafana-server
  • Artık grafana sunucusuna 3000 numaralı bağlantı noktasından erişebilirsiniz:
http://{ip of your virtual machine}:3000

Şimdi Node makinesi üzerinde çalışalım (İzlemek istediğimiz makine)

https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.darwin-amd64.tar.gz
  • Binary dosyayı çıkartın.
tar xvfz node_exporter-1.7.0.darwin-amd64.tar.gz
  • Çıkarılan dizine gidin
cd node_exporter-1.7.0.darwin-amd64.tar.gz
  • Düğüm aktarıcı sunucusunu başlatın.
./node_exporter
  • Artık düğüm dışa aktarıcı sunucusuna 9100 numaralı bağlantı noktasından erişebilirsiniz.
http://{ip of your virtual machine}:9100/

Artık sunucularımıza hem Prometheus’u hem de Node Exporter’ı yüklediğimize göre, Prometheus’u Node Exporter’dan  verileri toplayacak şekilde yapılandıralım.

Şimdi birincil makinemizde çalışacağız.

Adım 1: Prometheus Yapılandırmasını Düzenleyin

Genellikle prometheus.yml olarak adlandırılan Prometheus yapılandırma dosyanızı açın:

global:
scrape_interval: 15s
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100','100.0.0.3:9100']

Yukarıdaki yapılandırmada, ‘100.0.0.3’ü, Node Exporter’ı çalıştıran uzak sunucunuzun gerçek IP adresi veya ana bilgisayar adı ile değiştirin.  Bu yapılandırma, Prometheus’a hem yerel Node Exporter’dan (localhost:9100) hem de uzak sunucudan (100.0.0.3:9100) ölçümleri almasını söyler.

Adım 2: Yapılandırmayı YAML olarak, Exporter.yml gibi bir şey olarak kaydedin.

Adım 3: Prometheus’u Yeni Yapılandırmayla başlatın.

Şimdi, —config.file bayrağını kullanarak yeni yapılandırma dosyasını ileterek Prometheus sunucusunu başlatın:

./prometheus - config.file=exporter.yml

Matrisleri görüntülemek için Grafana Kontrol Panelini ayarlama

  1. Web tarayıcınızı başlatın ve Grafana Kontrol Paneli URL’sini girin: http://{sanal makinenizin ip’i}:3000/login
  2. Aşağıdaki varsayılan oturum açma ayrıntılarını kullanın:

Kullanıcı adı: admin

Parola: admin

3. Şimdi grafanamız için bir veri kaynağı eklememiz gerekiyor.  burada veri kaynağı olarak prometheus kullanıyoruz, bu nedenle veri kaynağı olarak prometheus ekleyin.

4. Prometheus sunucusunun ana bilgisayar adını veya ip adresini girin ve veri kaynağını kaydedip test edin

Artık kurulumu tamamladığımıza göre güzel ve anlaşılır kontrol panellerini görselleştirmeye hazırsınız.  Prometheus’un hem yerel hem de uzaktaki Node Exporter’lardan veri toplaması ve kullanıcı dostu bir arayüz sunan Grafana ile güçlü bir izleme çözümü parmaklarınızın ucunda.

  1. Kontrol panelini içe aktarmak için https://grafana.com/grafana/dashboards/ adresini ziyaret edin, burada diğer geliştiriciler tarafından geliştirilen çeşitli kontrol panellerini bulabiliriz, bunları alabiliriz veya kendimizinkini oluşturabiliriz.
  2. Burada, bu kontrol panelini içe aktarmak için Node Exporter Full’ı içe aktaracağız, json dosyasını indireceğiz ve json dosyasının içeriğini grafana kontrol paneli içe aktarma bölümümüze kopyalayıp yapıştırıp veri kaynağını seçip içe aktar’a tıklayacağız.
  3. Güzel ve bilgilendirici ölçümleri görselleştirmeye hazırsınız.  Prometheus ve Grafana’nın birleşimi, sisteminizin performansına ilişkin öngörüler elde etmenize olanak tanıyan güçlü bir izleme çözümü sunar.

Artık ek paneller ekleyerek, farklı görselleştirmeler deneyerek ve herhangi bir anormal sistem davranışına ilişkin uyarılar ayarlayarak kontrol panellerinizi daha fazla keşfedebilir ve özelleştirebilirsiniz.  Prometheus ve Grafana ile izleme, altyapınızı anlamak ve optimize etmek için bir fırsatlar dünyasının kapılarını açar.

Yazının orijinalini buradan okuyabilirsiniz.