Prometheus Node Exporter Kurulumu

Prometheus Node Exporter Kurulumu

Node exporter’ı linux sunucularımızda ki metricleri elde etmek için kullanırız.

Kurmadan önce prometheus kurulu olmalı, bunun için prometheus kurulumu isimli yazımızı inceleyebilirsiniz. Sonrasında network tarafında 9100 nolu port izinli olmalı ancak tabii ki farklı bir portta kullanabilirsiniz.

Öncelikle /tmp dizinine geçip dosyamızı indiriyoruz.

cd /tmp
curl -LO 
https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz

Dileseniz indirmek için prometheus download sayfasına da göz atabilirsiniz.

node exporter download

Şimdi indirdiğimiz dosyayı açıp /usr/local/bin/ içinde gönderelim

tar -xvf node_exporter-1.3.1.linux-amd64.tar.gz
mv node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin/

Node exporter için bir user oluşturalım.

useradd -rs /bin/false node_exporter

Node Exporter için bir servis oluşturmalıyız, aşağıdaki dosyayı oluşturalım ve içini daha aşağıdaki şekilde doldurup kaydedelim.

vi /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

Şimdi servisi başlatabiliriz.

sudo systemctl daemon-reload
sudo systemctl start node_exporter

sudo systemctl status node_exporter
sudo systemctl enable node_exporter

Buraya kadar hata almadı iseniz http://sunucunuzunipadresi:9100/metrics adresinde metricleri görüyor olmalısınız.

Şimdi prometheus’un yaml dosyasına node exporter ı tanımlayabiliriz.

vi /etc/prometheus/prometheus.yml

Dosyanın en altına aşağıdaki şekilde ekleyebilirsiniz. İp adresini değiştirmeyi unutmayınız, node exporter local de ise localhost şeklinde de yazabilirsiniz.

- job_name: 'node_exporter_metrics'
  scrape_interval: 5s
  static_configs:
    - targets: ['IPADRESI:9100']

Şimdi tanımların geçerli olabilmesi için bu kez prometheus servisini restart edelim.

systemctl restart prometheus
prometheus targets

Artık prometheus da linux sunucunuzun metriklerini görmeye hazırsınız.

Ayhan ARDA

Prometheus Kurulumu

Prometheus Kurulumu

Prometheus açık kaynaklı, pull temelli monitöring aracıdır. Çok hafif ve iyi bir uyarı mekanizmasına sahiptir. Centos/rhel tabanlı dağıtımlarda aşağıdaki gibi kurabilirsiniz.

https://prometheus.io/download/ adresinden şu an güncel sürüm olan 2.34 ü indireceğiz.

Prometheus download

Başlamadan önce eğer root değilseniz sudo kullanabilir olduğunuza emin olunuz, networkünüzde prometheus un default portu olan 9090 portu için bir engel olmamalı , dilerseniz farklı bir boş port kullanabilirsiniz. Prometheus’u indirebilmek için kuracağınız sunucu internete açık olmalı , eğer internet erişiminiz yok ise farklı bir sunucudan ilgili dosyayı indirip kuracağınız sunucuya aktarabilirsiniz.

Aşağıdaki şekilde indirip, açıp klasörün adını değiştirelim. Ben işlemi /home dizini içindeyken yapıyorum, Siz dilediğiniz path’te yapabilirsiniz.

cd /home
curl -LO url -LO https://github.com/prometheus/prometheus/releases/download/v2.34.0/prometheus-2.34.0.linux-amd64.tar.gz
tar -xvf prometheus-2.34.0.linux-amd64.tar.gz
mv prometheus-2.34.0.linux-amd64 prometheus-files

Şimdi prometheus kullanıcısı ve dizinlerini oluşturup haklarını verelim.

sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Şimdi binary’leri /usr/local/bin ‘ e kopyalayıp izinlerini değiştirelim

sudo cp prometheus-files/prometheus /usr/local/bin/
sudo cp prometheus-files/promtool /usr/local/bin/
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool

Aynı şekilde kütüphaneler için de işlem yapıyoruz.

sudo cp -r prometheus-files/consoles /etc/prometheus
sudo cp -r prometheus-files/console_libraries /etc/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries

Şimdi prometheus’un yaml dosyasını oluşturup aşağıdakileri ekleyip kaydedelim. Dilerseniz portu değiştirebilirsiniz.

sudo vi /etc/prometheus/prometheus.yml
global:
  scrape_interval: 10s

scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']

Kaydedip çıktıysak şimdi sahipliğini değiştirelim.

sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

Artık bunu bir servis haline getirebiliriz. Aşağıdaki dosyayı oluştuurp açalım ve içine bir altında yazanlarıkopyalayıp kaydedelim.

vi /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
    --config.file /etc/prometheus/prometheus.yml \
    --storage.tsdb.path /var/lib/prometheus/ \
    --web.console.templates=/etc/prometheus/consoles \
    --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

Systemd servislerini reload edelim ve servisimizi başlatıp çalıştığını kontrol edelim.

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl status prometheus

Bir sorun yok ise aşağıdaki şekilde bir sonuç elde görmeliyiz.

Prometheus çalışıyor

Şimdi web arayüzünden erişebiliriz. Görüntü aşağıdaki gibi olmalı.

http://<sunucunuzun-ip-adresi>:9090/graph
Prometheus webui
Prometheus Query