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 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:
- Netdata’yı kurdunuz.
- Nginx ile alan adı kullanarak yapılandırdınız.
- Güvenlik için sertifika kurdunuz.
- 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
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: