InfluxDB Metric Server

İlk olarak proxmox sunucumuza grafana için metrikleri toplaması için InfluxDB kuracağız. Bunu LXC Kontainer da tutacağız. Ubuntu 22.04 LXC container oluşturup içine InfluxDB yükleceğiz. Böylece hem hafif ve daha az kaynak kullanacak.

Sistem Bilgileri

  • RAM : 4 GB
  • Disk : 32 GB
  • CPU : 2 Core
  • IP : 192.168.1.11

Kurulum

Sunucuyu kurduktan sonra ssh ile içerisine girip gerekli güncellemeleri ve paketleri yüklemeliyiz.


apt update && apt upgrade -y
apt install wget curl vim gpg -y

Ben ubutunu için olan komutları kullandım fakat influxdata web sitesinden size uygun olan kurulum komutlarını bulabilirsiniz.


wget -q https://repos.influxdata.com/influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null

echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list

sudo apt-get update && sudo apt-get install influxdb2
systemctl start influxdb && systemctl enable influxdb && systemctl status influxdb

Kurulum bittikten sonra influxdb yapılandırmasını başlatıyoruz. Burada parola belirtirken passwords must be between 8 and 72 characters long bunu göz önüne alarak parola oluşturun. Eğer her şey yolunda gittiyse aşşağıda ki gibi bir çıktı ile karşılaşacaksınız.


root@influxdb:~# influx setup
> Welcome to InfluxDB 2.0!
? Please type your primary username root
? Please type your password ************
? Please type your password again ************
? Please type your primary organization name OutherHaven
? Please type your primary bucket name Proxmox
? Please type your retention period in hours, or 0 for infinite 0
? Setup with these parameters?
Username:          root
Organization:      OutherHaven
Bucket:            Proxmox
Retention Period:  infinite
Yes
User    Organization    Bucket
root    OutherHaven     Proxmox

InfluxDB Token Oluşturma

Bu işlemlerin arından web arayüzünden login olabiliriz http://192.168.1.11:8086 ve proxmox bağlantısı için olan tokeni üretebiliriz. Sol menüden Load Data bölümünden API Tokens sekmesine gitmeliyiz.

Bu sayfada sağ taraftan Generate API Token > Generate All Access API Token seçimini yaparak tokenimizi oluşturmalıyız. Bu tokeni kaybetmeyin Proxmox ve Grafana eklemek için lazım olacak. Bunun için isterseniz bir dosyaya kayıt edin. Eğer kaybederseniz sorun yok yeni bir token üretip yeniden proxmox ve grafanaya ekleyebilirsiniz.

Tokeni oluşturduktan sonra Proxmox Web Arayüzünden 'Datacenter' sekmesinden 'Metric Server' bölümüne gidip InfluxDB ekliyoruz

InfluxDB web arayüzünden Data Explorer sekmesinden metrikleri kontrol edebilirsiniz.

Grafana

Grafana kullanarak InfluxDB aracılığı ile proxmoxdan gelen metric bilgilerini grafiğe dökmesini sağlacağız. Bunun için gene hafif olması için LXC Container kullanacağım buutun 22.04.

Sistem Bilgileri

  • RAM : 1 GB
  • Disk : 12 GB
  • CPU : 1 Core
  • IP : 192.168.1.12

Kurulum

ilk olarak gerekli güncellemeleri ve bize lazım olan paketleri yüklemeliyiz.

Sistem güncellenmesi ve gerekli paketlerin yüklenmesi;


apt update && apt upgrade -y
apt install wget curl vim gpg apt-transport-https software-properties-common -y

Grafana Kurulumu;


sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com beta main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

Grafana için repoları ekledikten sonra grafanayı yüklüyoruz.


sudo apt-get update
sudo apt-get install grafana

Grafana servisi enable yapıp start ediyoruz.


systemctl enable grafana-server.service && systemctl start grafana-server && systemctl status grafana-server

Bu adımlar başarılı bir şekilde tamamladıktan sonra web arayüzünden 'http://192.168.1.12:3000/' Grafanaya giriş yapabilir ve Connections menüsünden Data Source olarak InfluxDB bağlayacağız.

InfluxDB data source olarak eklerken 'Query language' bölümünde Flux seçmelisiniz bunu unutmayın.
Ayrıca Basic Auth Details bölümünde InfluxDB web arayü için oluşturduğumuz ID ve Password yazıyoruz.

Dashboard Ekleme

Bundan sonrası çok daha kolay artık istediğiniz dashboardları Grafana Dashboards sitesinden beğendiklerinizi ekleyebilirsiniz. Bunun için grafana web arayüzünden Dashboard bölümünden New > Import gelerek ID(Örnek 18621, 17051,15356) numarası ile ekleyebilirsiniz

Sonuç

Burada grafana kurmamızda ki asıl amaç sanallaştırma ortamımıza hakim olabilmek ve burayı izleyebilmek böylece kaynakları ve vm ve lxc containerları takip edebilir Alert oluşturacak olası durumlarda bizlere uyarı göndermesini sağlayabiliriz.