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.

Vector Mimari Yapısı
Vector Mimari Yapısı

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 :) ;

Kaynaklar

--

--

Serdarcan Büyükdereli
Devops Türkiye☁️ 🐧 🐳 ☸️

Linux ,Bulut sistemleri hayranı paylaşımcı bir Jedi . Docker, Kubernetes , Linux …