Grafana,InfluxDB ve Telegraf Kullanarak Vmware Performans Raporlama ve Kapasite Planlama

Gelişen teknolojiye paralel olarak her geçen gün farklı farklı çözümler hayatımıza girdi. Artık uygulamalarımızı, servislerimizi, network altyapımızı, veri depolama sistemlerini hatta iş istasyonlarımızı sanallaştırır bir noktaya geldik. Değişen bu kadar şeye rağmen yıllardır üzülerek gözlemlediğim ve bana göre hala devam eden en önemli hatalardan biri ise çalışan sistemleri kendi haline bırakmak ve sadece problem yaşandığında müdahale etmek. Problem yaşandığı zaman o problemi çözmek elbette ki bizim işimiz var fakat bence asıl önemli olan problem yaşanmadan, önleyici bakım ve kontroller ile bunun önüne geçebilmek. Günümüzün popüler deyimi ile proaktif çalışmak.

Sanallaştırma platformları için ciddi maddi yatırımlar yapıyoruz. Satın alınan sunucular üzerinde, birçok parametreyi hesaplayarak mimariler kurguluyoruz. Bu mimariler üzerinde ise iş kritik onlarca uygulama ve sunucu barındırıyoruz. Sanallaştırma platformları eğer düzenli olarak kontrol edilerek takip edilmez ise Vmware özelinde meşhur mor ekranı görme olasılığınız çok yüksek. Özellikle belli başlı performans metriklerini ve eğer Over Provisioning yapıyorsanız utilizasyon yani kaynak kullanım çıktılarını doğru analiz etmeniz gerekiyor.

Yazımızın temeli Vmware tabanlı Sanallaştırma Platformları üzerinde ücretsiz, yani açık kaynak kodlu uygulamalar olan Grafana, InfluxDB ve Telegraf kullanarak performans ve kapasite analizi yapmak ve bunu anlamlı Dashboard’lar ile görselleştirip istediğimiz zaman geriye dönük performans ve kapasite takibi yapabilmek üzerine. Performans Datalarını almaya başladığınız andan itibaren geriye dönük isterseniz son bir yıl için bile kullanım verilerinizi görebilirsiniz.

Dashboard’u daha detaylı görüntülemek isterseniz Buraya tıklayabilirsiniz. Jorge de la Cruz Mingo adında ispanyol bir arkadaşın hazırlamış olduğu ve çok beğendiğim bir Dashboard.

Resim-1

Telegraf kullanarak çalışan Production Vmware sistemleriniz üzerinden aşağıdaki bütün metrik verilerini toplayabilirsiniz. En önemlisi ise bunları sadece 3 adet Açık Kaynak Kodlu uygulama kullanarak tamamen ücretsiz olarak yapacağız.


Resim-2

Önce uygulamalardan kısaca bahsedelim.

Telegraf:
Google tarafından geliştirilen GO programlama dili ile yazılmış, onlarca farklı sistem üzerinden performas metriklerini hızlı ve sistemlerinizi yormadan çekerek birçok farklı datastore üzerinde sakmalanızı sağlayan bir ajan. 2018 yılının son çeyreğinde offical olarak Vmware platformları üzerinden performans metriklerini toplamak için oldukça başarılı bir Plugin yayınladı. Bugün bizde Telegraf ile oldukça basit bir şekilde Vmware üzerinden performans verilerini çekeceğiz.

InfluxDB: InfluxData firması tarafından yine GO programlama dili yazılmış ve genellikle IOT cihazlar tarafından toplanan veriler, performans ve analiz verilerini saklamak için kullanılan bir Database. Telegraf ile topladığımız verileri InfluxDB üzerinde saklayacağız.

Grafana: Kibana ile beraber belki de en popüler Dashboard oluşturma uygulamalarından biri. Data Source olarak birçok farklı Database türünü destekliyor. Telegraf ile topladığımız ve InfluxDB üzerine aktardığımız verilerimizi Grafana ile oluşturduğumuz Dashboard lar üzerinde görüntüleyeceğiz.

3 adımda uygulamalarımızı kurarak sistemlerimizi monitör etmeye başlayabiliriz.

Kurulum için Altyapı Gereksinimleri: İşletim sistemi olarak CentOS 7.5 kullanacağız. Aşağıdaki kaynaklara sahip bir sunucu yeterli olacaktır. İleride yapınız büyürse kaynaklarınızı buna paralel arttırmanızı öneririm. Diğer bir önemli konusu ise tarih ve saat bilgilerinizin güncel olması gerekiyor NTP yükleyerek gerekli konfigürasyonu kesinlikle yapmalısınız. Aksi takdirde Grafana ve Vmware tarafında zaman farkı olacağından dolayı aslında database ‘de bulunan son 5 dakikalık Data’yı görmek istediğinizde boş bir sayfa ile karşılaşabilirsiniz.

  • 2 Core Vcpu
  • 4 GB Memory
  • 50 GB disk alanı

Grafana Kurulumu

Kurulum yapmadan önce ilgili Repository bilgisini eklememiz gerekiyor.

$ vi /etc/yum.repos.d/grafana.repo

Dedikten sonra açılan sayfa içerisine aşağıdaki bilgileri kaydederek çıkış yapın.

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Artık kuruluma başlayabiliriz. Sırasıyla aşağıdaki komutları çalıştırarak kurulumu tamamlayın. Daha sonra servisi Start ederek Enable duruma getirin.

$ sudo yum install grafana
$ sudo service grafana-server start
$ sudo systemctl enable grafana-server.service

Servisin olması gerektiği gibi çalıştığını kontrol edelim

$ systemctl status grafana-server

Resim-3

Uygulama ilk kurulduğunda default 3000 portu üzerinden çalışacaktır. Internet Explorer üzerinden http://ipadresiniz:3000
adresine giderek kullanıcı adı ve şifre olarak admin\admin kullanıp Login olabilirsiniz.

Resim-4

InfluxDB Kurulumu

İlk önce ilgili Repository bilgisini girerek başlıyoruz. Aşağıdaki komut setinin hepsini kopyalayıp konsol üzerinden direkt olarak çalıştırabilirsiniz.

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository – RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

Resim-5

Aşağıdaki komutları kullanarak InfluxDB yüklemesini tamamlayalım ve Status diyerek servisin çalıştığından emin olalım.

$ sudo yum install influxdb
$ sudo systemctl start influxdb
$ sudo systemctl status influxdb

Resim-6

Telegraf Kurulumu

Aşağıdaki komutları kullanarak Telegraf kurulumu yaptıktan sonra servisi Start edelim ve çalışıp çalışmadığını kontrol ediyoruz.

$ sudo yum install telegraf
$ sudo systemctl start telegraf
$ sudo systemctl status telegraf

Resim-7

Telegraf tarafından toplanan metrikleri saklamak için İnfluxDB üzerinde Telegraf adında bir adet Database ve kullanıcı oluşturacağız.

$ influx
$ create database telegraf
$ create user “telegraf” with password ‘Password123!’ with all privileges
$ exit

Telegraf içerisinde bulunan yapılandırma dosyasına InfluxDB üzerinde yeni oluşturduğumuz Database – Kullanıcı Adı ve Kullanıcı şifresi bilgilerini girmemiz gerekiyor.

$ vi /etc/telegraf/telegraf.conf

Sarı ile işaretlediğim satırların başında bulunan işareti kaldırarak bilgileri girebiliriz.


Resim-8

Tekrar telegraf.conf dosyası içerisine girerek Vsphere Plugin ile ilgili kısımların başında bulunan # işaretlerinin hepsini kaldırın.

$ vi /etc/telegraf/telegraf.conf

Sarı ile işaretlediğim alanlara Vcenter adresinizi, kullanıcı adı ve şifre bilgilerini girin. Ben direk Administrator hesabını tanımladım fakat yeni bir user oluşturup en tepeden sadece “Read Only” yetkilendirerek buraya tanımlayabilirsiniz. Yanlışlık yapmak istemiyorsanız aşağıdaki link içerisinde paylaştığım konfigürasyonu örnek alabilirsiniz. Bu konfigürasyon içerisinde # işaretleri konulmadan paylaşılmış versiyonu mevcut. Telegraf.conf dosyası içerisindeki versiyonu silip buradan kopyaladığınız şekli ile yapıştırabilirsiniz.

https://github.com/influxdata/telegraf/tree/release-1.8/plugins/inputs/vsphere

Resim-9

Telegraf Vsphere SDK’ya HTTPS üzerinden bağlanacak. SSL hatası almamak için Vcenter CA Root sertifikalarını sunucumuza yüklememiz gerekiyor. Web Browser üzerinden Vcenter adresine giderek ana sayfa üzerindeki “Donwload trusted root CA Certificates” ‘e tıklayarak root CA sertifikasını indirin

Resim-10

İndirdiğiniz download.zip dosyası içerisinde bulunan sertifikaları CentOS üzerinde;

/etc/pki/ca-trust
/etc/pki/ca-trust/source
/etc/pki/ca-trust/source/anchors

Altına kopyalayarak aşağıdaki komutu çalıştırın.

$ update-ca-trust extract


Resim-11

Telegraf uygulamasını Restart edip, servisin durumunu kontrol ettikten sonra herhangi bir sertifika hatası almadığımızdan emin olalım.

$ systemctl restart telegraf
$ systemctl status telegraf


Resim-12

Artık Grafana üzerinden oluşturduğumuz InfluxDB Database’imizi Data Source olarak ekleyebiliriz.

  1. Name kısmına herhangi bir isim verin.
  2. Type olarak InfluxDB seçin
  3. URL kısmı aşağıdaki ekranda gözüktüğü gibi ayarlayın
  4. Database adı, username ve şifre kısmına InfluxDB üzerinde oluşturduğunuz kullanıcı ve DB bilgileri girerek “Save&Test” butonuna basın.


Resim-13

Aşağıda linklerini paylaştığım hazır Dashboard’ları import edin. İmport ederken “influxdb” kısmına daha önceden oluşturduğumuz ve Vmware metriklerini tutan Database in seçili olduğu Datastore u seçin.

  • https://grafana.com/dashboards/8159
  • https://grafana.com/dashboards/8162
  • https://grafana.com/dashboards/8165
  • https://grafana.com/dashboards/8168

Resim-14

Yeni eklediğiniz Dashboard un üzerine geldiğinizde, Dataların yavaş yavaş geldiğini görebilirsiniz.

Resim-15

TAGs: Grafana Nedir?, Grafana Kurulum, Telegraf Nedir?, Telegraf Kurulum, InfluxDB nedir?, InfluxDB Kurulum, Vsphere Raporlama, Vsphere Kapasite Planlama, Vsphere Dashboard, Vsphere Performans, Vmware Kapasite

Share via
Copy link