Netflix Vector Monitoring Kurulumu ve Kullanımı
Netflix dediğimizde aklımıza online dizi , film , belgesel yayını yapan başlıca organizasyon gelmektedir.
2019 Haziran ayında yapılan istatistiğe göre Netflix’in tüm kullanıcıları 1 günde 140 milyon saat içerik izliyor.
Dünyada bu kadar tutulan bir firmanın arka planında nasıl bir sistem var hayal edemiyorum . Böyle sisteme sahip bir firmanın oluşturduğu opensource bir çok programı var . Bu gün bunlardan birini inceleyeceğiz.
Vector opensource kaynaklı yüksek çözünürlüklü monitoring sistemidir . Vector ile metric değerlerini istediğimiz saniyede örnekleme yapabiliriz. Ayrıca Vector ile neredeyse gerçek zamanlı bir şekilde metric değerlerini görselleştirebiliyoruz. Vectorun backend tarafında PCP (Performance Co-Pilot) çalışır.
PCP (Performance Co-Pilot) lightweight bir metric toplayıcıdır. PCP Metric değerlerini toplar ve Vector arayüzünde bu metric değerlerini gösterir. PCP neredeyse her işletim sisteminde çalışır( Fedora, RHEL, Debian, SUSE, Ubuntu, Gentoo).
PCP stateless sistem yapısıyla hafif ve dinamikliğini sağlar ve sistem üstünde hafif bir yük oluşturur. Lightweight yapısıyla real-time sistem monitoring yapmamızı sağlar.Sistem üzerinde fazla bir yük oluşturmamasının sebebi veri tabanı kullanmamasıdır. Yani Vector browser üzerinde açtığında veri kullanıcı üzerinde tutulur. Browser kapatıldıktan sonra verilerde kaybolmuş olur.
Not: Veri tabanı kullanılmadığından dolayı geçmişe dönük metric değerleri bulunmaz.
Mimari yapsında gördüğümüz gibi PCP metricleri, metric poller ile topladıktan sonra Vector arayüzde widgetler halinde metric değerlerini göstermektedir.
PCP (Performance Co-Pilot) Kurulumu
Kurulum aşamasına gelirsek metric değerleri toplaması için izlemek istediğimiz sunucuların üstüne PCP yüklememiz gerekmektedir.
Fedora, RHEL için ;
# yum install -y pcp pcp-webapi
# systemctl start pcp
Debian, Ubuntu için ;
# apt-get install pcp pcp-webapi
# service pcp start
Kaynak kodundan kurmak için ;
# git clone https://github.com/performancecopilot/pcp.git
# cd pcp
# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
# make
# make install
Yükleme yapıldıktan sonra PCP metricleri toplar , pmcd ve pmwebd servisleri çalışmaya başlar TCP 44323 portundan yayın yapmaya başlar.
PCP yayın yaptığı hostu Vector ile dinleyerek arayüzde metric değerleri görmeye başlayacağız.
Vector Kurlumu
Docker kurulumu için ;
# docker run \
-d \
--name vector \
-p 80:80 \
netflixoss/vector:latest
Container açıldıktan sonra 80 portundan erişebiliriz. http://<server-ip>:80
Fedora, RHEL için ;
# yum install nodejs npm git
# npm install -g bower
# npm install -g gulp
# git clone https://github.com/Netflix/vector.git
# cd vector/
# bower install
# cd app/
# python -m SimpleHTTPServer 8080
Son komut ile python 8080 portu ile yayınyapmaktadır. http://<server-ip>:8080
Kurulum bittikten sonra Dashboard du keyfinize göre dizayn edebilir , keyif ile serverlarınızı izleyebilirsiniz.
Sonuç olarak Vector ile real time a yakın monitoring yapabilirsiniz. Vector un hafif ve hızlı olmasının nedeni database kullanmamasından kaynaklıdır. Database kullanmamasının dezavantajı olarak geriye dönük herhangi bir veriye ulaşamazsınız.
Database kullanan monitoring sistemler : Influxdb , Prometheus örnek olabilir.
Okuduğunuz için teşekkürler diğer yazılarda görüşmek üzere …
Diğer yazılarıma erişmek isterseniz :) ;