Netdata Kullanarak Ubuntu Performansı Nasıl İzlenir


Netdata, bulut sunucuları, konteynerler, uygulamalar ve şirket içi BT altyapısı için ücretsiz ve açık kaynaklı, gerçek zamanlı bir izleme ve sorun giderme aracıdır. Birkaçını saymak gerekirse CPU performansı, RAM ve disk kullanımı ve bant genişliği istatistikleri gibi yüksek ayrıntılı ve gerçek zamanlı sistem ölçümleri sağlar.

Ek olarak Netdata, sistem arızalarının giderilmesine yardımcı olan akıllı alarmların yanı sıra bir web tarayıcısından erişilebilen etkileşimli ölçüm görselleştirmeleri de sağlar.

Netdata'nın son teknolojisi ve popülaritesi, Forbes bulutunun 2020'de yükselen 100 yıldız arasında yer almasını sağladı ki bu hiç de kolay bir başarı değil. Aslında bu kılavuzun yazıldığı sırada neredeyse 50.000 Github yıldızı almıştı.

Netdata'yı yüklemek için kullanabileceğiniz iki yol vardır. BASH kabuğunda otomatik bir komut dosyasını hemen çalıştırabilirsiniz. Bu, sistemlerinizi günceller ve Netdata kurulumunu başlatır. Alternatif olarak, Netdata'nın Git deposunu kopyalayabilir ve ardından otomatik komut dosyasını çalıştırabilirsiniz. İlk yöntem basit ve anlaşılırdır ve bu kılavuzda odaklanacağımız şey budur.

Bu makalede, sunucuların ve uygulamaların gerçek zamanlı, performans ve durum takibini izlemek için Ubuntu'ya Netdata'yı nasıl yükleyebileceğinizi göreceğiz.

Desteklenen Platformlar

Netdata aşağıdaki Ubuntu LTS dağıtımlarını destekler:

  • Ubuntu 20.04
  • Ubuntu18.04
  • Ubuntu16.04

Ubuntu Linux'ta Netdata Nasıl Kurulur

Kuruluma başlamak için, betiği indirip çalıştırmak üzere bash terminalinizde aşağıdaki komutu çalıştırın.

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Komut dosyasının yürütülmesi sırasında aşağıdakiler gerçekleşir:

  • Komut dosyası, Linux dağıtımınızı otomatik olarak keşfeder, paket listesini günceller ve gerekli tüm yazılım paketlerini yükler.
  • En son netdata kaynak ağacı /usr/src/netdata.git yoluna indirilir.
  • Komut dosyası, kaynak ağaçtan ./netdata-installer.sh komut dosyasını çalıştırarak netdata'yi yükler.
  • Netdata'nın günlük olarak güncellendiğinden emin olmak için cron.daily'de bir güncelleme yapılır.

Komut dosyası çalıştırılırken, bir tarayıcıda Netdata'ya nasıl erişeceğiniz ve bunu bir systemd hizmeti olarak nasıl yöneteceğiniz konusunda size ipuçları verilecektir.

Kurulum biraz zaman alır, bu yüzden yaklaşık 10 dakika bekleyin ve tekrar gelin. Son olarak, komut dosyası kurulumu tamamlarken aşağıdaki çıktıyı alacaksınız.

Kurulduktan sonra gösterildiği gibi Netdata'yı başlatın, etkinleştirin ve durumunu doğrulayın.

sudo systemctl start netdata
sudo systemctl enable netdata
sudo systemctl status netdata

Varsayılan olarak, Netdata 19999 bağlantı noktasını dinler ve bu, gösterildiği gibi netstat komutu kullanılarak doğrulanabilir.

sudo netstat -pnltu | grep netdata

UFW çalışıyorsa, tarayıcıda Netdata'ya erişirken gerekli olacağı için 19999 bağlantı noktasını açmaya çalışın.

sudo ufw allow 19999/tcp
sudo ufw reload

Son olarak Netdata'ya erişmek için tarayıcınıza geçin ve aşağıdaki URL'ye göz atın

http://server-ip:19999/

URL'ye göz attığınızda sizi karşılayan şey budur. Aslında oturum açmanıza gerek kalmayacağını fark edeceksiniz. Sistemin tüm metrikleri gösterildiği gibi görüntülenecektir.

Kontrol panelinin sağ kenar çubuğunda tercih ettiğiniz ölçümlere tıklayarak çeşitli grafikler arasında geçiş yapabilirsiniz. Örneğin, ağ arayüzü istatistiklerini kontrol etmek için 'Ağ Arayüzleri' seçeneğini tıklayın.

Ubuntu'da Temel Kimlik Doğrulamayla Net Verilerin Güvenliğini Sağlama

Bu noktaya kadar herkes Netdata kontrol paneline erişebilir ve çeşitli sistem metriklerine göz atabilir. Bu bir güvenlik ihlali anlamına gelir ve bundan kesinlikle kaçınmak istiyoruz.

Bunu aklımızda tutarak, temel HTTP kimlik doğrulamasını yapılandıracağız. Kullanıcının kullanıcı adını ve şifresini yapılandırmak için kullanılacak htpasswd programını sağlayan apache2-utils paketini kurmamız gerekiyor. Ek olarak, ters proxy görevi görecek Nginx web sunucusunu kuracağız.

Nginx web sunucusunu ve apache2-utils paketini kurmak için komutu çalıştırın.


sudo apt install nginx apache2-utils

Nginx ve Apache2-utils kuruluyken, /etc/nginx/conf.d dizini içinde bir yapılandırma dosyası oluşturacağız. Ancak Nginx'i Netdata dışında başka amaçlar için kullanıyorsanız siteler-available dizinini kullanmaktan çekinmeyin.


sudo vim /etc/nginx/conf.d/default.conf

Yapılandırma dosyasının içinde ilk olarak Nginx'e, Netdata kontrol paneli için gelen istekleri proxy olarak kullanması talimatını vereceğiz. Daha sonra, kullanıcı adı/şifre kimlik doğrulamasını kullanarak yalnızca yetkili kullanıcıların Netdata kontrol paneline erişmesine izin veren bazı temel kimlik doğrulama istemlerini ekleyeceğiz.

İşte tüm konfigürasyon. server_ip ve example.com yönergelerini kendi sunucu IP adresiniz ve sunucu adınızla değiştirmeye dikkat edin.


upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Yapılandırmayı bölüm bölüm anlayalım.

Bölüm 1:


upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

127.0.0.1< geri döngü adresini kullanarak Netdata'nın yerleşik web sunucusuna başvuran netdata-backend adında bir yukarı akış modülü belirledik. ve Netdata'nın dinlediği varsayılan bağlantı noktası olan bağlantı noktası 19999. Keepalive yönergesi, açık kalabilecek maksimum boş bağlantı sayısını tanımlar.

Bölüm 2:


server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

Bu ana Nginx sunucu bloğu bölümüdür. İlk satır, istemciler isteklerini gönderdiğinde Nginx'in dinlemesi gereken harici IP adresini belirtir. server_name yönergesi, sunucunun alan adını belirtir ve istemciler harici IP adresi yerine alan adını çağırdığında Nginx'e sunucu bloğunu çalıştırma talimatını verir.

Son iki satır, kullanıcının bir kullanıcı adı ve parola kullanarak oturum açmasını gerektiren basit HTTP kimlik doğrulamasını belirtir. auth_basic modülü, tarayıcıda başlıkta "Kimlik Doğrulaması Gerekiyor" yazan kullanıcı adı/şifre açılır penceresini tetikler; bu daha sonra tercihinize uyacak şekilde özelleştirilebilir.

auth_basic_user_file modülü, Netdata'nın kontrol paneline erişme yetkisine sahip kullanıcının kullanıcı adını ve şifresini içerecek dosya adını işaret eder - Bu durumda netdata-access. Bu dosyayı daha sonra oluşturacağız.

Bölüm 3:

Son bölüm, sunucu bloğunun içinde yer alan konum bloğudur. Bu, gelen isteklerin Nginx web sunucusuna proxy olarak gönderilmesini ve iletilmesini yönetir.


location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }

Kimlik doğrulama için, htpasswd yardımcı programını kullanarak tecmint adlı bir kullanıcı için bir kullanıcı adı ve şifre oluşturacağız ve kimlik bilgilerini netdata-access dosyasında saklayacağız .


sudo htpasswd -c /etc/nginx/netdata-access tecmint

Şifreyi girin ve onaylayın.

Daha sonra değişikliklerin yürürlüğe girmesi için Nginx web sunucusunu yeniden başlatın.


sudo systemctl restart nginx

Yapılandırmanın doğru gidip gitmediğini test etmek için devam edin ve sunucunuzun IP adresine göz atın


http://server-ip

Aşağıda gösterildiği gibi bir kimlik doğrulama açılır penceresi görünecektir. Kullanıcı adınızı ve şifrenizi girin ve ENTER'a basın.

Daha sonra Netdata kontrol paneline erişebileceksiniz.

Bu da bizi bugünkü konumumuzun sonuna getiriyor. Ubuntu'da Netdata izleme aracını ve temel HTTP kimlik doğrulama yapılandırmasını nasıl kuracağınızı az önce öğrendiniz. Çeşitli sistem ölçümleriyle ilgili diğer grafiklere göz atmaktan çekinmeyin.