NetData Monitoring Kurulumu

NetData Nedir?

NetData Monitoring, Linux için optimize edilmiş saniye başı canlı güncelleme yapan bir performans takip programıdır. Tarayıcınız üzerinden bağlanarak tüm verileri detaylarıyla inceleyebilirsiniz.

NetData sayesinde sunucunuzu an be an takip edebilir, sorunlardan bildirimler, e-postalar, mesajlar ve bunlar gibi bir çok entegrasyon ile anında haberdar olabilirsiniz. Bu program sayesinde tam bir sunucunuz olacak.

NetData Monitoring Hangi Verileri Takip Ediyor?

  • Toplam ve CPU Başına Kullanım
  • Toplam Hafıza, RAM, Swap ve Kernel kullanımı
  • Disk I/O
  • Ağ Arayüzleri
  • Güvenlik Duvarı, Netfilter/IPTables
  • İşlemler (Çalışan, engellenmiş, aktif vb.)
  • İşlem ağacı ile birlikte sistem uygulamaları (CPU, Hafıza, Swap, Disk Okuma/Yazma vb.)
  • Apache ve NGINX Durumları
  • MySQL Veritabanı
  • Postfix Posta Sunucusu
  • Donanım Sensörleri (Sıcaklık, Voltaj, Fanlar, Güç, Nem vb.)
  • SNMP Cihazları

Aşağıdaki demoda da görebileceğiniz gibi NetData bize yüzlerce farklı bilgi veriyor.

Canlı Demo: https://london.my-netdata.io/

NetData Monitoring Nasıl Kurulur?

CentOS sisteminize nasıl kurulduğunu bu başlıkta açıklayacağım. Kendim deneyip başarılı olduğum bilgileri size aktarmaktayım. Bu yüzden anlatımlarım sadece CentOS için geçerlidir.  Bu komutları SSH yoluyla PuTTY adlı programı kullanarak yazabilirsiniz.

NetData’yı kurmadan önce kurulumun gerektirdiği bazı paketleri kurmalıyız. Bu yüzden aşağıdaki komut ile başlıyoruz.

yum install autoconf automake curl gcc git libmnl-devel libuuid-devel lm_sensors make MySQL-python nc pkgconfig python python-psycopg2 PyYAML zlib-devel

Sonra sırasıyla aşağıdaki üç komut ile NetData’yı kendi sunucumuza çekip kuruyoruz.

git clone https://github.com/firehol/netdata.git --depth=1
cd netdata
./netdata-installer.sh

Aslında bu aşamalardan sonra pek bir şey yapmamıza gerek yok. Artık NetData’ya 19999 portundan ulaşabiliriz. Sunucunuzun güvenlik duvarından 19999 numaralı portu dışarıya açtığınız takdirde dışarıdan bağlanabilirsiniz. Sunucumun 19999 portu dışarıya kapalı fakat açık olsaydı aşağıdaki gibi bağlanabilirdim.

http://ogulcan.tk:19999/

NetData Monitoring Nasıl Güncellenir?

Aşağıdaki komutu kullanarak güncelleyebilirsiniz. Bu komutu cron görevleri kısmına yazarsanız otomatik olarak belirlediğiniz sürelerde kontrol edip güncellemeyi gerçekleştirebilir.

sudo /root/netdata/netdata-updater.sh

NetData Monitoring Nasıl Otomatik Güncellenir?

Cron görevleri ile otomatik güncelleyebilirsiniz. Öncelikle aşağıdaki komutla cron görevleri kısmını açıyoruz.

crontab -e

Sonra bu kısma aşağıdaki yazıları kopyalıyoruz. 0 * * * * saat başı bu komutu gerçekleştir anlamına gelmekte.

Ben günde 1 kere çalıştırmayı tercih ediyorum. O da sabaha karşı gerçekleşiyor. Kendi Cron görevinizi bu gibi sitelerle oluşturabilirsiniz.

0 * * * * /root/netdata/netdata-updater.sh

Not: Vesta Control Panel kullanıyorsanız onun cron kısmından yapmanızı tavsiye ederim. Sonuçta ne kadar az alana dokunursak kardır.

NetData Monitoring Optimizasyonu

Aşağıdaki ayarları # işaretini kaldırarak gerçekleştirebiliriz. Log tutma özelliğini performans sebebiyle kapattım. Netdata’nın loglarına pek ihtiyacım yok.

/etc/netdata/netdata.conf
[global]
debug log = none
error log = none
access log = none
process scheduling policy = none
history = 360

NetData Slack Entegrasyonu

Sunucuma mail desteği kurmadığım için zaten sunucuda bulunan “mailx” ile mail atma özelliğini NetData’ya (sunucuya da tabi) bir şekilde getirdim fakat mailler HTML olarak gelmiyordu. Bu yüzden Vesta’yı kurarken mail desteğini kaldırmamak en iyisi olacakmış gerçekten de. Neyse. Ben de bu problemi çözmek için Telegram entegrasyonunu denedim önce fakat hata verdi. NetData’ya ulaştım bu konuyla ilgili. Ben de son çare Slack ile olan entegrasyonu denemek istedim. Gayet güzel çalıştığını belirtebilirim.

Edit: Telegram entegrasyonunu da yaptım. Sorunsuz çalışıyor. Şu an aktif olarak Telegram ve Slack entegrasyonlarını kullanıyorum. Tabi Slack’de tek başına yeterli. Bildirim yönetimi de oldukça iyi. Bilgisayarda açıksa telefona bildirim göndermiyor.

Yapmanız gereken aşağıdaki konuma gereken ayarları girmek.

/etc/netdata/health_alarm_notify.conf

Diğer bildirim seçeneklerini “NO” olarak ayarladıktan sonra aşağıdaki Slack kısmını kendinize göre doldurabilirsiniz. Bunları doldurmadan önce nasıl oluşturacağınız konusuna biraz değinirsem önce “netdata” (kafanıza göre) diye bir kanal oluşturmalısınız. Sonra da “https://api.slack.com/incoming-webhooks” adresten bir app oluşturacaksınız. App oluştururken sadece “netdata” kanalına mesaj göndersin diye işaretlerseniz karışıklık olmaz. Birden fazla sunucunuz varsa tüm NetData bildirimlerini buraya toplarsınız. Güzel olur. Gerisi size kalmış dediğim gibi. App oluştuktan sonra gerekli URL’yi alıp benim aşağıda eklediğim şekilde ekleyebilirsiniz.

# slack (slack.com) global notification options

# multiple recipients can be given like this:
#                  "CHANNEL1 CHANNEL2 ..."

# enable/disable sending slack notifications
SEND_SLACK="YES"

# Login to slack.com and create an incoming webhook. You need only one for all
# your netdata servers (or you can have one for each of your netdata).
# Without it, netdata cannot send slack notifications.
# Get yours from: https://api.slack.com/incoming-webhooks
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/xxxxxx"

# if a role's recipients are not configured, a notification will be send to
# this slack channel (empty = do not send a notification for unconfigured
# roles):
DEFAULT_RECIPIENT_SLACK="netdata"

Bu işlemlerden sonra bildirimler hemen gelmeye başlayacaktır. Yine de aşağıdaki kodla bir test bildirimi göndermenizi tavsiye ederim.

/usr/libexec/netdata/plugins.d/alarm-notify.sh test [sysadmin]

Her şey bittikten sonra aşağıdaki komutla NetData’yı yeniden başlatalım.

systemctl restart netdata

NetData Otomatik Güncelleme Problemi

NetData sürümünüz 1.10 gibi kaldıysa otomatik güncelleme bozulmuştur. Kendi sitelerinde yapılan açıklamada bu problemin aşağıdaki komut ile düzeltildiği belirtilmiş.

sudo sh -c 'cd /root/netdata/ && git fetch --all && git reset --hard origin/master && ./netdata-updater.sh -f'

Kaynak: 
https://github.com/netdata/netdata/releases

5/5 - (2 votes)