Görsel İzleme Ortamı: Prometheus ve Grafana’yı Ayrı Linux Sunucularına Kurma
GENEL MİMARİ
Bu eğitim, Prometheus’un bir sunucuda ölçümleri topladığı ve Grafana’nın diğer sunucuda bu ölçümleri görselleştirdiği dağıtılmış bir izleme sistemi kurar. Her iki sunucunun da ağ üzerinden birbirleriyle iletişim kurabildiğinden emin olun, güvenlik duvarı ayarlarınızda gerekli portlar (Prometheus için 9090 ve Grafana için 3000) düzgün şekilde yapılandırılmalıdır.
Prometheus, yapılandırılmış hedeflerden ölçümleri çeken güçlü bir zaman serisi veritabanı ve izleme sistemi olarak hizmet verirken, Grafana güzel ve esnek bir görselleştirme katmanı sağlar. Bunları ayrı sunuculara kurarak sistem yükünü dağıtabilir ve daha ölçeklenebilir bir mimari oluşturabilirsiniz.
Adım Adım Talimatlar
- Prometheus’u Sunucu 1’e yükleyin: Prometheus’u yüklemek için paket deposunu kullanın
$ sudo apt update $ sudo apt install prometheus
Bu komutlar paket listelerini günceller ve Prometheus’u resmi depolarından yükler. Paket yöneticisi tüm bağımlılıkları (Node Exporter dahil), kullanıcı oluşturmayı ve Prometheus’u hızla çalışır hale getirmek için ilk yapılandırmayı yönetecektir. Bu yaklaşım manuel kurulumdan çok daha basittir ve gelecekteki güncellemelerin paket sistemi aracılığıyla yönetilmesini sağlar.
- Prometheus Kurulumunu Doğrulayın: Hizmetin düzgün çalıştığından emin olun
$ sudo systemctl status prometheus $ sudo systemctl status prometheus-node-exporter
Bu komutlar Prometheus ve Node Exporter’ın (otomatik olarak bir bağımlılık olarak yüklenen) doğru çalışıp çalışmadığını kontrol eder. Her iki hizmetin de etkin ve çalışır durumda olduğunu belirten bir çıktı görmelisiniz. Hizmetlerinden biri çalışmıyorsa, sudo systemctl start [hizmet-adı] ile başlatabilirsiniz.
Prometheus Kurulumunu Doğrulayın - Prometheus’u yapılandırın: Varsayılan yapılandırmayı ayarlayın
$ sudo nano /etc/prometheus/prometheus.yml
Varsayılan yapılandırma dosyası Prometheus’un kendisini izlemek için zaten ayarlanmıştır ve birlikte kuruldukları için Node Exporter’ı hedef olarak içermelidir. Yapılandırmanızın her iki hedefi de içerdiğini doğrulayın:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'node' static_configs: - targets: ['localhost:9100']
Eğer Node Exporter yapılandırması henüz eklenmemişse, yukarıda gösterildiği gibi ekleyin.
Node Exporter ve Prometheus yapılandırması Daha sonra değişiklikleri uygulamak için Prometheus’u yeniden başlatın:
$ sudo systemctl restart prometheus
- Prometheus için Güvenlik Duvarını Yapılandırın: Prometheus’a harici bağlantılara izin verin
$ sudo ufw allow 9090/tcp
Bu komut güvenlik duvarında 9090 portunu açar ve diğer sunucudaki Grafana’nın Prometheus’a bağlanmasına izin verir. Farklı bir güvenlik duvarı çözümü kullanıyorsanız, komutu buna göre ayarlayın.
- Sunucu 2’ye Grafana’yı yükleyin: Grafana’nın deposunu ekleyin ve paketi yükleyin
$ sudo apt install -y apt-transport-https software-properties-common wget $ wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - $ echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list $ sudo apt update $ sudo apt install -y grafana
Grafana standart depolarda bulunmadığından, önce resmi depolarını eklememiz gerekiyor. Bu komutlar gerekli bağımlılıkları yükler, Grafana deposunu ekler ve ardından Grafana’yı bu depodan yükler.
- Grafana’yı Başlatın ve Etkinleştirin: Grafana hizmetini etkinleştirin
$ sudo systemctl enable --now grafana-server
Bu komut hem Grafana’nın önyüklemede otomatik olarak başlamasını sağlar hem de hizmeti hemen başlatır. Grafana’nın sudo systemctl status grafana-server ile çalıştığını doğrulayın.
Grafana’nın çalıştığını doğrulayın - Grafana için Güvenlik Duvarını Yapılandırın: Grafana’ya harici bağlantılara izin verin
$ sudo ufw allow 3000/tcp
Bu komut güvenlik duvarında 3000 numaralı portu açar ve kullanıcıların Grafana web arayüzüne erişmesine olanak tanır. Grafana’nın varsayılan portu 3000’dir, ancak gerekirse yapılandırma dosyasında değiştirilebilir.
- Grafana’yı Prometheus’a bağlayın: Grafana’da oturum açın ve Prometheus’u veri kaynağı olarak ekleyin
Grafana’ya web tarayıcınızda http://[grafana-server-ip]:3000 adresinden erişin. Varsayılan kimlik bilgileriyle (kullanıcı adı: admin, parola: admin) oturum açın ve şu adımları izleyin:- Sol kenar çubuğu menüsünde “Bağlantılar”a tıklayın
- “Yeni bağlantı ekle” veya “Veri kaynakları”na tıklayın
- “Prometheus”u seçin
- URL’yi http://[prometheus-server-ip]:9090 olarak ayarlayın (gerçek Prometheus sunucu IP’nizle değiştirin)
- Bağlantıyı doğrulamak için “Kaydet ve Test Et”e tıklayın
Prometheus veri kaynağı olarak eklendi. IP veya ana bilgisayarı Prometheus sunucunuzu işaret edecek şekilde değiştirin - Mevcut Panoları İçe Aktar: Topluluk tarafından oluşturulan panolardan yararlanınGrafana, kolayca içe aktarabileceğiniz önceden oluşturulmuş panolardan oluşan zengin bir kütüphaneye sahiptir:
- Sol kenar çubuğundaki “Gösterge Panoları”na tıklayın
- Sağ üst köşedeki “Yeni” düğmesine tıklayın
- Açılır menüden “İçe Aktar”ı seçin
- Pano kimliğini 1860 girin (popüler bir Node Exporter panosu olan “Node Exporter Full” olarak adlandırılır)
- Açılır menüden Prometheus veri kaynağınızı seçin
- “İçe Aktar”a tıklayın
Bu, Node Exporter ölçümleri için özel olarak tasarlanmış kapsamlı bir sistem izleme panosunu içe aktaracaktır. Öğreticide gösterilen ekran görüntüsüne benzer şekilde, tek tek panelleri yapılandırmanıza gerek kalmadan CPU kullanımı, bellek kullanımı, disk G/Ç ve ağ trafiği gibi ölçümleri hemen göreceksiniz.
İçe aktarılan gösterge paneli şablonu - Kendi Panonuzu Oluşturun (İsteğe bağlı): İhtiyaçlarınıza göre uyarlanmış özel bir pano oluşturun
Önemsediğiniz belirli metriklere odaklanan özel bir pano oluşturmak için:- Sol kenar çubuğundaki “Gösterge Panoları”na tıklayın
- Sağ üst köşedeki “Yeni” düğmesine tıklayın
- Açılır menüden “Yeni gösterge paneli”ni seçin
- “Görselleştirme ekle”ye tıklayın
- Veri kaynağı bölümünde, açılır menüden “prometheus”u seçin
- “Metrik” altında, açılır menüden node_memory_MemFree_bytes gibi bir metrik seçin
- Verileri önizlemek için “Sorguları çalıştır”a tıklayın
- Sağ panelde görselleştirme ayarlarını gerektiği gibi düzenleyin
- Sağ taraftaki “Panel seçenekleri” bölümünde paneliniz için bir başlık ekleyin
- Paneli panonuza eklemek için “Uygula”ya tıklayın
- Diğer metrikler için ek paneller eklemek üzere işlemi tekrarlayın
- Panonuzu uygun bir adla kaydetmek için sağ üst köşedeki “Panoyu kaydet”e tıklayın
Kendi panolarınızı oluşturmak, altyapınız için en önemli olan belirli ölçümlere odaklanmanızı ve bunları izleme ihtiyaçlarınız için en mantıklı şekilde düzenlemenizi sağlar.
Özel izleme sorgusuyla Özel Grafana panosu oluşturma.
BUNDLED EXPORTERS
Prometheus’u Debian/Ubuntu sistemlerine apt ile kurarken, Node Exporter otomatik olarak bir bağımlılık olarak kurulur. Bu, ek adımlar olmadan kutudan çıktığı haliyle sistem ölçümlerini izlemenizi sağlar. Bunu sudo systemctl status prometheus-node-exporter’ı kontrol ederek doğrulayabilirsiniz. Paket yöneticisi, bu bileşenleri sorunsuz bir şekilde entegre etmek için gereken tüm yapılandırmayı yönetir.
Özetlersek
Prometheus’un bir sunucuda ölçümleri topladığı ve Grafana’nın bunları başka bir sunucuda görselleştirdiği dağıtılmış bir izleme sistemini başarıyla kurdunuz. Bu kurulum, altyapınızın kapsamlı bir şekilde izlenmesi için bir temel sağlar. Paket tabanlı kurulum yaklaşımı, sistemi ihtiyaçlarınıza göre yapılandırma esnekliğini sağlarken süreci basitleştirir. Node Exporter Prometheus ile birlikte otomatik olarak yüklendiğinden, ek yapılandırma olmadan ayrıntılı sistem ölçümlerine hemen erişebilirsiniz. Çeşitli hizmetleri izlemek için daha fazla ihracatçı ekleyerek, kritik koşullar için uyarılar oluşturarak ve ortamınızın farklı yönleri için özel panolar tasarlayarak bu sistemi genişletebilirsiniz.
Sıkça Sorulan Sorular (SSS)
Bu kurulumla ek sunucuları nasıl izleyebilirim?
Ek sunucuları izlemek için, izlemek istediğiniz her sunucuya sudo apt install prometheus-node-exporter kullanarak Node Exporter’ı yükleyin. Ardından, her sunucuyu node_exporter işinde hedef olarak ekleyerek Prometheus yapılandırmanızı güncelleyin. Örneğin:
- job_name: 'node_exporter' static_configs: - targets: ['localhost:9100', 'server2:9100', 'server3:9100']
‘Server2’ ve ‘server3’ ifadelerini gerçek ana bilgisayar adları veya IP adresleriyle değiştirmeyi unutmayın ve her sunucudaki güvenlik duvarının 9100 portuna bağlantılara izin verdiğinden emin olun.
Prometheus ve Grafana’da uyarıları nasıl ayarlarım?
Prometheus uyarıları için, sudo apt install prometheus-alertmanager ile Alertmanager’ı yüklemeniz, /etc/prometheus/rules.yml’de uyarı kurallarını tanımlamanız ve Prometheus yapılandırmanızda buna başvurmanız gerekir. Grafana uyarıları için, uyarı oluşturmak istediğiniz pano paneline gidin, panel başlığına tıklayın, “Düzenle”yi seçin ve ardından “Uyarı” sekmesine tıklayın. Buradan, uyarı için koşulları tanımlayabilir ve e-posta, Slack veya PagerDuty gibi bildirim kanallarını belirtebilirsiniz.
Yeni sürümler yayınlandığında Prometheus ve Grafana’yı nasıl güncellerim?
Prometheus’u standart depolarından yüklediğiniz için, Prometheus’u ve diğer sistem paketlerini güncellemek için sudo apt update komutunu çalıştırmanız yeterlidir. Kendi deposundan yüklenen Grafana için, Grafana deposu kaynak listenizde kaldığı sürece aynı komutlar çalışacaktır. Gerektiğinde her iki hizmet de güncellemelerden sonra otomatik olarak yeniden başlatılacaktır. Yapılandırma değişiklikleri gerektirebileceğinden, büyük sürüm güncellemeleri için her zaman sürüm notlarını kontrol edin.
Grafana’ya aktarabileceğim bazı yararlı pano kimlikleri nelerdir?
Prometheus ve Node Exporter benzeri sistemlerle izleme sistemleri için bazı popüler gösterge panelleri şunlardır:
- ID 1860: Node Exporter Full – Kapsamlı sistem ölçümleri
- ID 11074: Prometheus için Node Exporter – Temiz tasarıma sahip modern gösterge paneli
- ID 3662: Prometheus 2.0 Genel Bakış – Prometheus’un kendisini izlemek için
- ID 9578: Düğüm İhracatçısı Sunucu Ölçümleri – Önemli sunucu sağlık göstergelerine odaklanmıştır
- ID 9096: Prometheus İstatistikleri – Ayrıntılı Prometheus izleme
Bu panolardan herhangi birini içe aktarmak için Grafana’daki “+” simgesine gidin, “İçe Aktar”ı seçin, pano kimliğini girin, Prometheus veri kaynağınızı seçin ve “İçe Aktar”a tıklayın.
Prometheus ve Grafana örneklerimi nasıl güvenceye alabilirim?
Prometheus’u güvence altına almak için, temel kimlik doğrulaması (Nginx veya Apache kullanarak) ile ters bir proxy kurmayı, TLS şifrelemesi uygulamayı ve erişimi sınırlamak için katı güvenlik duvarı kuralları yapılandırmayı düşünün. Grafana için, varsayılan yönetici parolasını hemen değiştirin, uygun kullanıcı kimlik doğrulamasını (LDAP, OAuth, vb.) ayarlayın, /etc/grafana/grafana.ini’deki ayarları yapılandırarak HTTPS’yi etkinleştirin ve panolara ve veri kaynaklarına erişimi sınırlamak için Grafana’nın yerleşik kullanıcı rollerini kullanmayı düşünün. Ek olarak, güvenlik açıklarını düzeltmek için paket yöneticiniz aracılığıyla hem Prometheus’u hem de Grafana’yı düzenli olarak güncelleyin.
Sistem ölçümlerinin ötesinde belirli uygulamaları nasıl izleyebilirim?
Belirli uygulamaları izlemek için ek Prometheus ihracatçıları yüklemeniz gerekir. Birçok yaygın uygulamanın depolarında özel ihracatçıları bulunur. Örneğin:
- MySQL/MariaDB:
sudo apt install prometheus-mysqld-exporter
- PostgreSQL:
sudo apt install prometheus-postgres-exporter
- Nginx:
sudo apt install prometheus-nginx-exporter
- Apache:
sudo apt install libapache2-mod-prometheus
Uygun ihracatçıyı yükledikten sonra, Prometheus yapılandırmanıza hedef olarak ekleyin ve Prometheus’u yeniden başlatın. Ardından, bu ihracatçılardan gelen ölçümleri kullanan panoları Grafana’ya içe aktarın veya oluşturun.
- MySQL/MariaDB:
Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.