Netdata İle Genel Linux Sunucu Performansı Takip Sistemi Kurulumu

Netdata, harika bir web arayüzüne sahip açık kaynaklı gerçek zamanlı bir Linux sunucu performans izleme aracıdır. Netdata ile diğerlerinin yanı sıra CPU, RAM kullanımı, disk I/O, ağ trafiği, Postfix’i izleyebilirsiniz. C dili ile yazılmış ve net veriler sağlayan süper hızlı, kaynak verimliliği sunan bir yazılımdır.

Netdata Özellikleri:

  • Binlerce metrik, etkileşimli görselleştirme ve kapsamlı sağlık alarmları ile altyapınızdaki yavaşlamaları ve anormallikleri anında teşhis etmenize yardımcı olur.
  • 1sn veri tepkimesi - Netdata, sistem istatistiklerini saniyede bir günceller.
  • Hızlı ve hafif - Varsayılan olarak tek çekirdekli sunucuda dahi sadece %1 CPU ve 25 MB RAM kullanır.

Bu öğreticide, Debian / Ubuntu / Redhat / CentOS / Fedora sunucularınıza Netdata yazılımını nasıl kurabileceğimizi öğreneceğiz. Ayrıca, yalnızca yetkili kullanıcıların erişebilmesi için Netdata web arayüzünde şifre ile kimlik doğrulamanın nasıl etkinleştirileceğini konuşacağız.

Linux Sunucunuza Netdata Yükleyin

Netdata birçok Linux dağıtımının deposunda bulunur. Ancak, güncel değillerdir. En son sürümü edinmek için, yüklemek için resmi komut dosyasını kullanabilirsiniz. Linux sisteminizde aşağıdaki komutu çalıştırın:

Bu komut stabil sürümü kuracak, otomatik güncellemeleri açacak ve anonim verileri göndermeyecek şekilde yapılandırılmıştır:

Sistem güncellemerini kontrol ederek başlayın:

sudo apt-get update
sudo apt-get upgrade -y

Sonrasında Netdata komutuna geçiş yapın:

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

Komut sonrası şu ekran gelecektir, Enter tuşu ile onaylayın:

Sonrasında bir onay daha istenecektir Y yanıtı ve Enter tuşu ile onaylayın:

Şu ekranı (Yapılandırma bilgilerinin özeti) görünce Enter tuşuna basın ve kuruluma devam edin:

Kurulum tamamlanınca size yapılandırma dosyaları ve diğer dosyaların bilgilerini içeren şu çıktıyı görmelisiniz:

Kurulduktan sonra, sistem başlangıcında otomatik başlatma etkinleştirilmelidir.

systemctl ile durumu kontrol edebilirsiniz:

systemctl status netdata

Çıktı:

● netdata.service - Real time performance monitoring
   Loaded: loaded (/lib/systemd/system/netdata.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-04-26 05:48:06 CEST; 1min 34s ago
  Process: 2031 ExecStartPre=/bin/chown -R netdata:netdata /var/run/netdata (code=exited, status=0/SUCCESS)
  Process: 2030 ExecStartPre=/bin/mkdir -p /var/run/netdata (code=exited, status=0/SUCCESS)
  Process: 2029 ExecStartPre=/bin/chown -R netdata:netdata /var/cache/netdata (code=exited, status=0/SUCCESS)
  Process: 2028 ExecStartPre=/bin/mkdir -p /var/cache/netdata (code=exited, status=0/SUCCESS)
 Main PID: 2032 (netdata)
    Tasks: 24 (limit: 2301)
   CGroup: /system.slice/netdata.service
           ├─2032 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D
           ├─2187 /usr/libexec/netdata/plugins.d/go.d.plugin 1
           ├─2188 /usr/libexec/netdata/plugins.d/apps.plugin 1
           └─2193 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1

Apr 26 05:48:06 sizinalanadiniz systemd[1]: Starting Real time performance monitoring...
Apr 26 05:48:06 sizinalanadiniz systemd[1]: Started Real time performance monitoring.
Apr 26 05:48:07 sizinalanadiniz netdata[2032]: SIGNAL: Not enabling reaper
Apr 26 05:48:07 sizinalanadiniz netdata[2032]: 2020-04-26 05:48:07: netdata INFO  : MAIN : SIGNAL: Not enabling reaper

Netdata varsayılan olarak 19999 numaralı bağlantı noktasını dinler. Şimdi Netdata web arayüzüne erişmek için tarayıcı adres çubuğuna http://sunucuipadresiniz:19999 girin. Netdata’nın kendi kimlik doğrulama mekanizması yoktur, birazdan biz ekleyeceğiz :slight_smile: IP adresinizi ve bu bağlantı noktasını bilen herkes Netdata erişebilecektir.

Biz kendi Netdata arayüzümüzü gördük, sizde kendi Netdata arayüzünüzü görmüş olacaksınız:

Nginx Ters Proxy Ayarlayın

Web arayüzüne IP adresi ve bağlantı noktası numarası yerine alan adı aracılığıyla erişmek için Nginx’i netdata için ters proxy olarak ayarlayabiliriz. Önce Nginx’i Linux sunucusuna kurun.

Debian/Ubuntu için:

sudo apt install nginx -y

Redhat/CentOS/Fedora için:

sudo yum install nginx

OpenSUSE için:

sudo zypper install nginx

Arch Linux/Manjaro için:

sudo pacman -S nginx

Nginx kurulduktan sonra, /etc/nginx/conf.d/ dizini altında netdata için bir sanal ana bilgisayar yapılandırma dosyası oluşturun.

sudo nano /etc/nginx/conf.d/netdata.conf

Aşağıdaki metni dosyaya yerleştirin. Etki alan adı kısmını kendi alan adınızla değiştirin ve bu alt alan için DNS A kaydını ayarlamayı unutmayın.

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

server {
   listen 80;
   server_name netdata.sizinalanadiniz.com;

   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://backend;
     proxy_http_version 1.1;
     proxy_pass_request_headers on;
     proxy_set_header Connection "keep-alive";
     proxy_store off;
   }
}

Bu dosyayı kaydedip kapatın. Ardından Nginx yapılandırmasını test edin.

sudo nginx -t

Yapılandırma testi başarılı olursa, Nginx’i yeniden başlatın:

sudo service nginx reload

ya da

sudo systemctl reload nginx

Artık Netdata web arayüzüne http://netdata.sizinalanadiniz.com adresinden ulaşılabilir.

Netdata’nın verileri yalnızca 127.0.0.1’de dinlemesini sağlayın

Varsayılan olarak, Netdata genel IP adresini dinler. Artık net verilere Nginx ters proxy üzerinden erişilebildiğinden, Netdatanın verileri yalnızca 127.0.0.1’de dinlemesi iyi bir güvenlik önlemidir.

Netdata yapılandırma dosyasını açın:

sudo nano /etc/netdata/netdata.conf

[web] bölümüne gidin ve aşağıdaki satırı bulun:

# bind to = *

işaretini kaldırın ve değerini 127.0.0.1 olarak ayarlayın:

bind to = 127.0.0.1

Dosyayı kaydedip kapatın. Ardından değişikliğin etkili olması için Netdata’yı yeniden başlatın:

sudo systemctl restart netdata

IPv6 adresini :: 1 değerine ayarlarsanız Nginx sanal ana bilgisayar yapılandırma dosyasında aşağıdaki gibi bir IPv6 adresi belirtmelisiniz:

upstream backend {
   server [::1]:19999;
   keepalive 64;
}

Netdata’ya Let’s Encrypt ile sertifika yükleyin

HTTP trafiğini şifrelemek için TLS kullanmanız önemle tavsiye edilir. Let’s Encrypt tarafından verilen ücretsiz bir TLS sertifikası yükleyerek HTTPS’yi etkinleştirebiliriz. Ubuntu 18.04 sunucusuna Let 'Encrypt istemcisini (certbot) yüklemek için aşağıdaki komutu çalıştırın.

sudo apt install certbot -y

Nginx kullanıyorsanız, Certbot Nginx eklentisini de yüklemeniz gerekir:

sudo apt install python3-certbot-nginx -y

Ardından, TLS sertifikası almak ve yüklemek için aşağıdaki komutu çalıştırın sizden onay istendiğinde Y yanıtı ve Enter tuşu ile onaylayın:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email muhyal@sizinalanadiniz.com -d netdata.sizinalanadiniz.com

Netdata Parola Kimlik Doğrulamasını Etkinleştirin

Netdata’yı yayında olan bir Linux sunucusuna yüklediyseniz, sisteminizde hangi uygulamaların çalıştığını yalnızca yetkili kullanıcıların görebilmesi için erişim kontrolünü etkinleştirmeniz önemlidir.

Aşağıdaki komutla bir şifre dosyası oluşturun. Komuttaki muhyal metnini ve şifreyi kendi tercih ettiğiniz kullanıcı adı ve şifreyle değiştirin. Parola /etc/nginx/password dizininde oluşturulur. Parolanız 8 karakteri geçmemelidir.

printf "muhyal:$(openssl passwd -crypt 'muhyal')" | sudo tee -a /etc/nginx/passwords

Ardından, Netdata için Nginx sanal ana bilgisayar yapılandırma dosyasını düzenleyin:

sudo nano /etc/nginx/conf.d/netdata.conf

Server bölümüne auth yönergelerini ekleyin. auth_basic temel şifre kimlik doğrulamasını etkinleştirir. auth_basic_user_file yönergesi şifre dosyasını belirtir.

server {

auth_basic "Ellibirinci Bolge";
auth_basic_user_file /etc/nginx/passwords;

Dosyayı kaydedip kapatın. Ardından Nginx’i yeniden başlatın:

sudo systemctl reload nginx

Şimdi tarayıcınız sizden kullanıcı adını ve şifreyi girmenizi isteyecektir:

Şimdi Netdata’nıza genel bir bakış atalım:

  1. Netdata’yı kurdunuz.
  2. Nginx ile alan adı kullanarak yapılandırdınız.
  3. Güvenlik için sertifika kurdunuz.
  4. Parola koruması eklediniz.

Harika değil mi? Şimdi Netdata sisteminizin tadını çıkartabilirsiniz. Umarım bu öğretici, kendi sunucunuz üzerinde Netdata kurmanıza yardımcı olmuştur. Her zaman olduğu gibi, bu gönderiyi yararlı bulduysanız, beğenebilir ve aşağıdan fikirlerinizi bizimle paylaşabilirsiniz. Kendinize iyi bakın :slight_smile:

Netdata nasıl kaldırılır?

Kaldırma komut dosyasını /usr/libexec/netdata/netdata-uninstaller.sh dizininde bulabilirsiniz.

Netdata nasıl güncellenir?

Güncelleme komut dosyasını /usr/libexec/netdata/netdata-updater.sh dizininde bulabilirsiniz. Netdata’yı her gün güncellemek için bir cron işi zaten eklenmiştir (/etc/cron.daily/netdata-updater).

Bizim sistemimizden ekran görüntüleri:

1 Beğeni