Sistem Gereksinimleri
Mimari Genel Bakış
1. Juniper Cihazlarda sFlow Yapılandırması
2. FastNetMon Kurulumu
FastNetMon Community Edition Kurulumu
FastNetMon Yapılandırması
İzlenecek Ağları Tanımlama
FastNetMon Servisini Başlatma
3. Grafana Kurulumu
Grafana Paketlerini Yükleme
Grafana Servisini Başlatma
4. InfluxDB Kurulumu
InfluxDB Paketlerini Yükleme
InfluxDB Servisini Başlatma
InfluxDB Veritabanı ve Kullanıcı Oluşturma
5. FastNetMon'u InfluxDB ile Entegre Etme
FastNetMon Yapılandırmasını Güncelleme
InfluxDB Veri Kontrolü
6. Grafana'da Veri Kaynağı Yapılandırması
InfluxDB Veri Kaynağı Ekleme
7. Grafana Dashboard'u İçe Aktarma
Dashboard JSON Dosyasını İçe Aktarma
8. Sorun Giderme
FastNetMon Loglarını Kontrol Etme
InfluxDB Servis Durumunu Kontrol Etme
Grafana Servis Durumunu Kontrol Etme
Yaygın Sorunlar ve Çözümleri
9. Güvenlik Önerileri
10. Sonuç

 

FastNetMon ve Grafana ile Ağ İzleme Sistemi Kurulumu

Bu makale, ağ trafiğinizi izlemek için FastNetMon ve Grafana kurulumunu adım adım anlatmaktadır. Public ağlarda kullanım için optimize edilmiştir ve Ubuntu 22.04 veya 24.04 sürümlerine uygulanabilir.

Sistem Gereksinimleri

  • Ubuntu 22.04 veya 24.04 işletim sistemi
  • En az 2GB RAM
  • En az 20GB disk alanı
  • Public IP adresi
  • Root veya sudo erişimi

Mimari Genel Bakış

Kurulumumuz şu bileşenlerden oluşacak:

  • FastNetMon: Ağ trafiğini analiz eden ana izleme aracı
  • InfluxDB: Zaman serisi veritabanı, metrik verilerini saklar
  • Grafana: Görselleştirme aracı, güzel grafikler ve panolar sağlar
  • sFlow: Cihazlardan trafik örneklemesi için protokol

1. Juniper Cihazlarda sFlow Yapılandırması

set protocols sflow agent-id 10.10.10.1       # Juniper cihazın public IP'si
set protocols sflow polling-interval 1
set protocols sflow sample-rate ingress 1
set protocols sflow sample-rate egress 1
set protocols sflow collector 10.10.10.5       # Grafana kurulu olan VM'nin public IP'si
set protocols sflow interfaces xe-0/1/0         # İzlenecek uplink portu

Not: IP adreslerini kendi ağ yapınıza göre değiştirmeniz gerekecektir. agent-id Juniper cihazının IP'si, collector ise FastNetMon kurulu sunucunun IP'sidir.

2. FastNetMon Kurulumu

FastNetMon Community Edition Kurulumu

Aşağıdaki komutları sırasıyla çalıştırın:

wget https://storage.googleapis.com/community-installer/installer -Oinstaller
sudo chmod +x installer
sudo ./installer -install_community_edition

FastNetMon Yapılandırması

Yapılandırma dosyasını düzenleyin:

sudo nano /etc/fastnetmon.conf

Aşağıdaki satırları ekleyin veya düzenleyin:

enable_ban = off
enable_ban_ipv6 = off
sflow = on
interfaces = ens160,ens192  # VM'deki ağ arayüzlerini değiştirin (ip addr komutu ile öğrenin)

Not: Network arayüzlerinizi öğrenmek için ip addr komutunu kullanın ve yukarıdaki yapılandırmayı buna göre güncelleyin.

İzlenecek Ağları Tanımlama

İzlemek istediğiniz ağ prefixlerini ekleyin:

sudo nano /etc/networks_list

Dosyaya izlemek istediğiniz ağ CIDR formatında ekleyin:

10.10.10.0/24

FastNetMon Servisini Başlatma

sudo systemctl enable fastnetmon
sudo systemctl start fastnetmon
sudo systemctl restart fastnetmon

Trafiği komutuyla kontrol edin:

fastnetmon_client

Bu aşamada trafiği SSH üzerinden izleyebilmeniz gerekiyor.

3. Grafana Kurulumu

Grafana Paketlerini Yükleme

sudo apt-get install -y apt-transport-https software-properties-common wget
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
sudo apt-get update
sudo apt-get install grafana

Grafana Servisini Başlatma

sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Grafana'ya erişmek için tarayıcınızda şu adresi ziyaret edin:

http://[sunucu-ip-adresi]:3000

Varsayılan kullanıcı adı ve şifre:

  • Kullanıcı adı: admin
  • Şifre: admin

İlk girişte şifrenizi değiştirmeniz istenecektir.

4. InfluxDB Kurulumu

InfluxDB Paketlerini Yükleme

wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
echo "deb https://repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update
sudo apt-get install -y influxdb
sudo apt-get install -y influxdb-client

InfluxDB Servisini Başlatma

sudo systemctl start influxdb
sudo systemctl enable influxdb
sudo systemctl restart influxdb

InfluxDB Veritabanı ve Kullanıcı Oluşturma

influx
> CREATE DATABASE fastnetmon
> CREATE USER grafana WITH PASSWORD 'zor_sifre_sql'
> GRANT ALL ON fastnetmon TO grafana
> EXIT

Not: Güvenlik için zor_sifre_sql kısmını güçlü bir şifre ile değiştirin.

5. FastNetMon'u InfluxDB ile Entegre Etme

FastNetMon Yapılandırmasını Güncelleme

sudo nano /etc/fastnetmon.conf

Dosyaya aşağıdaki satırları ekleyin:

enable_influxdb = on
influxdb_host = localhost
influxdb_port = 8086
influxdb_database = fastnetmon
influxdb_username = grafana
influxdb_password = zor_sifre_sql
influxdb_push_period = 1

Yapılandırmayı kaydettikten sonra FastNetMon'u yeniden başlatın:

sudo systemctl restart fastnetmon

InfluxDB Veri Kontrolü

Verilerin InfluxDB'ye düzgün bir şekilde gönderildiğinden emin olmak için:

influx -database 'fastnetmon' -execute 'SHOW FIELD KEYS FROM "hosts_traffic"'
influx -database 'fastnetmon' -execute 'SHOW TAG KEYS FROM "hosts_traffic"'

Bu komutlar, veritabanındaki tabloları ve sütunları listeleyecektir. Eğer veri görüyorsanız, FastNetMon başarıyla InfluxDB'ye veri gönderiyor demektir.

6. Grafana'da Veri Kaynağı Yapılandırması

InfluxDB Veri Kaynağı Ekleme

  1. Grafana web arayüzüne giriş yapın (http://[sunucu-ip]:3000)
  2. Sol menüden "Configuration" (Dişli simgesi) > "Data Sources" seçeneğine tıklayın
  3. "Add data source" butonuna tıklayın
  4. "InfluxDB" seçeneğini seçin
  5. Aşağıdaki bilgileri girin:
    • Name: FastNetMon
    • URL: http://localhost:8086
    • Database: fastnetmon
    • User: grafana
    • Password: zor_sifre_sql (kendi belirlediğiniz şifre)
    • HTTP Method: GET
  6. "Save & Test" butonuna tıklayın

Başarılı bir bağlantı için "Data source is working" mesajını görmelisiniz.

JSON Kodu : İNDİR

7. Grafana Dashboard'u İçe Aktarma

Dashboard JSON Dosyasını İçe Aktarma

  1. Sol menüden "Dashboards" > "Import" seçeneğine tıklayın
  2. "Upload JSON file" butonuna tıklayın veya JSON kodunu doğrudan yapıştırın
  3. Gerekli alanları doldurun:
    • Name: İstediğiniz bir isim verebilirsiniz
    • Folder: Dashboard'u kaydetmek istediğiniz klasörü seçin
    • Var Alanı: Veri kaynağınızı "FastNetMon" olarak seçin
  4. "Import" butonuna tıklayın

Önemli: Dashboard'a girdikten sonra, her paneli düzenlemek için sırayla "Edit" düğmesine tıklayıp tekrar kaydetmeniz gerekir. Aksi takdirde veriler ekrana gelmeyebilir.

8. Sorun Giderme

FastNetMon Loglarını Kontrol Etme

sudo tail -f /var/log/fastnetmon.log

InfluxDB Servis Durumunu Kontrol Etme

sudo systemctl status influxdb

Grafana Servis Durumunu Kontrol Etme

sudo systemctl status grafana-server

Yaygın Sorunlar ve Çözümleri

Sorun Çözüm
FastNetMon veri toplamıyor
  • sFlow yapılandırmasını kontrol edin
  • FastNetMon servisini yeniden başlatın
  • /etc/networks_list dosyasını kontrol edin
Grafana'da veri görünmüyor
  • Her paneli düzenleyip yeniden kaydedin
  • InfluxDB bağlantısını kontrol edin
  • Zaman aralığını ayarlayın (sağ üst köşe)
InfluxDB hatası alıyorsanız
  • Kullanıcı izinlerini kontrol edin
  • Database'in oluşturulduğundan emin olun
  • Şifreyi doğru girdiğinizden emin olun

9. Güvenlik Önerileri

  • Grafana ve InfluxDB için güçlü şifreler kullanın
  • Sunucunuzda bir güvenlik duvarı yapılandırın ve sadece gerekli portları açın:
    • Grafana: 3000/TCP
    • InfluxDB: 8086/TCP (sadece yerel erişim için)
    • sFlow: 6343/UDP
  • Düzenli olarak sunucunuzu ve tüm bileşenleri güncelleyin
  • SSH erişimi için anahtar tabanlı kimlik doğrulamayı etkinleştirin ve şifre girişini devre dışı bırakın

10. Sonuç

Bu makale ile FastNetMon, InfluxDB ve Grafana kullanarak kapsamlı bir ağ izleme sistemi kurulumunu tamamlamış oldunuz. Bu sistem, ağ trafiğinizi gerçek zamanlı olarak izlemenizi, trafik anomalilerini tespit etmenizi ve ağ performansı hakkında değerli bilgiler edinmenizi sağlayacaktır.

Daha fazla bilgi ve destek için, Komuta Cloud websitemizi ziyaret edebilirsiniz.


Grafana SSL Yapılandırması

Başlamadan önce güvenlik duvarınızı kesinlikle kapatınız yoksa 80 portu üzerinden SSL oluşturulmaz.

sudo apt-get install snapd
sudo snap install core; sudo snap refresh core

sudo apt-get remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

sudo certbot certonly --standalone

Kendinize göre doldurun

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): ben@benimsitem.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let’s Encrypt project and the non-profit organization that
develops Certbot? We’d like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: n
Account registered.
Please enter the domain name(s) you would like on your certificate (comma and/or
space separated) (Enter 'c' to cancel): subdomain.sitem.com
Requesting a certificate for subdomain.sitem.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/subdomain.sitem.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/subdomain.sitem.com/privkey.pem
This certificate expires on 2023-06-20.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

sudo ln -s /etc/letsencrypt/live/subdomain.sitem.com/privkey.pem /etc/grafana/grafana.key
sudo ln -s /etc/letsencrypt/live/subdomain.sitem.com/fullchain.pem /etc/grafana/grafana.crt

sudo chgrp -R grafana /etc/letsencrypt/*
sudo chmod -R g+rx /etc/letsencrypt/*
sudo chgrp -R grafana /etc/grafana/grafana.crt /etc/grafana/grafana.key
sudo chmod 440 /etc/grafana/grafana.crt /etc/grafana/grafana.key

ls -l /etc/grafana/grafana.*

Olması gereken çıktı
lrwxrwxrwx 1 root grafana 67 Mar 22 14:15 /etc/grafana/grafana.crt -> /etc/letsencrypt/live/subdomain.sitem.com/fullchain.pem
-rw-r----- 1 root grafana 54554 Mar 22 14:13 /etc/grafana/grafana.ini
lrwxrwxrwx 1 root grafana 65 Mar 22 14:15 /etc/grafana/grafana.key -> /etc/letsencrypt/live/subdomain.sitem.com/privkey.pem

sudo nano /etc/grafana/grafana.ini

aşagıdaki satırların başında ; kaldırıp kendinize göre düzenleyiniz.


[server]
http_addr = 0.0.0.0
http_port = 3000
domain = subdomain.sitem.com
root_url = https://subdomain.sitem.com:3000
cert_key = /etc/grafana/grafana.key
cert_file = /etc/grafana/grafana.crt
enforce_domain = False
protocol = https

grafanayı yeniden başlat
sudo systemctl restart grafana-server

Artık https://subdomain.sitem.com:3000 bu şekilde SSL üzerinden Grafanaya ulaşabilirsiniz.



Sunucuyu dışarıya kapatmak isterseniz.

# UFW'yi sıfırla
sudo ufw reset

# Varsayılan olarak gelen bağlantıları reddet, giden bağlantılara izin ver
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Juniper ipsinden'den gelen sFlow bağlantılarına izin ver (UDP 6343)
sudo ufw allow from 10.10.10.1 to any port 6343 proto udp > juniper public ip adresi

# Seçili IP adreslerinden gelen bağlantılarına izin ver
sudo ufw allow from 10.10.20.5 to any port 22
sudo ufw allow from 10.10.20.5 to any port 3000

Seçili IP adreslerinden gelen bağlantılarına izin ver
sudo ufw allow from 10.10.20.6 to any port 22
sudo ufw allow from 10.10.20.6 to any port 3000

Router yada Switch olmayan arkadaşlar için de vcenter NetFlow ile yapılandırmasını paylaşacağım. Arada makaleyi kontrol edin lütfen.

FastNetMon, Grafana ve InfluxDB gibi ağ izleme sistemlerini sorunsuz çalıştırabileceğiniz yüksek performanslı Linux sunucular Komuta Cloud altyapısında hazır olarak sunulmaktadır.
İster küçük ölçekli izleme sistemleri için VPS paketlerimizi, ister yüksek trafik alan kurumsal ağlar için optimize edilmiş VDS ve dedicated sunucularımızı tercih edebilirsiniz.

✅ Ubuntu 22.04 ve 24.04 tam destekli
✅ sFlow, NetFlow, FastNetMon uyumlu
✅ Grafana ön yapılandırmalı şablon seçenekleri
✅ %100 SSD, yüksek bağlantı hızları
✅ Hemen teslim, anında kurulum

Şimdi Komuta Cloud sunucu ve hosting paketlerini inceleyin ve sisteminize en uygun altyapıyı seçin.

 

Faydalı Buldunuz mu?
(726 defa görüntülendi. / 1 kişi faydalı buldu.)