Veritabanı Optimizasyonu ve Log Takibi

Dosya yapısı, güvenlik ve performans tamam; ancak bir sunucunun sürdürülebilirliği için görünürlük (Log Takibi) ve verimlilik (Veritabanı Optimizasyonu) hayati önem taşır.



1. Veritabanı Optimizasyonu (MariaDB/MySQL)

Çoğu web projesi veritabanı kullanır. Veritabanınız ne kadar hızlıysa, siteniz o kadar akıcıdır.

Temel Performans Ayarları

Veritabanı sunucunun kaynaklarını doğru kullanması için /etc/mysql/mariadb.conf.d/50-server.cnf (veya my.cnf) dosyasında şu parametreleri gözden geçirmelisin:

  • innodb_buffer_pool_size: Ram miktarının %50-70'ini buraya ayırmak, verilerin disk yerine RAM'den okunmasını sağlar.

  • query_cache_size: Sık yapılan sorguları hafızada tutar (Modern versiyonlarda dikkatli kullanılmalı).

Otomatik Optimizasyon Aracı: MySQLTuner

Pardus'ta veritabanını analiz eden harika bir araç vardır:

Bash
sudo apt install mysqltuner
sudo mysqltuner

Bu araç sunucunu tarar ve sana "Şu değeri artır, bu ayarı kapat" gibi doğrudan tavsiyeler verir.


2. Log Takibi ve Analizi

Sunucuda bir şeyler ters gittiğinde (veya kimlerin saldırdığını görmek istediğinde) loglar senin kara kutundur.

Canlı Log İzleme

Terminal üzerinden Pardus sunucundaki trafiği canlı izlemek için:

Bash
# Nginx erişim loglarını canlı izle
sudo tail -f /var/log/nginx/access.log

# Sistem hatalarını izle
sudo journalctl -u nginx -f

Logları Yönetme (Logrotate)

Log dosyalarının diski doldurmasını engellemek için Pardus'taki logrotate servisi kullanılır. /etc/logrotate.d/nginx dosyasında logların ne kadar süre saklanacağını (örneğin 14 gün) belirleyebilirsin.

Gelişmiş Takip: GoAccess (Görsel Analiz)

Logları terminalde sadece yazı olarak görmek yerine, görsel bir panele dönüştürebilirsin:

Bash
sudo apt install goaccess
sudo goaccess /var/log/nginx/access.log --log-format=COMBINED

Bu komut sana terminal içinde interaktif bir dashboard sunar.


3. Sistem Sağlığı: Htop ve Netstat

Sunucunun anlık RAM, CPU ve ağ kullanımını izlemek için bu iki araç olmazsa olmazdır:

  • htop: İşlemci ve RAM kullanımını renkli grafiklerle gösterir.

  • sudo netstat -tulpn: Hangi portun hangi servis tarafından kullanıldığını listeler.


Sonuç: Tam Donanımlı Pardus Sunucu Mimarisi

Artık /srv dizininde düzenli, UFW ile güvenli, SSL ile şifreli, Gzip ile hızlı ve Log takibi ile izlenebilir bir yapın var.

Sunucunun başında her saniye duramazsın, bu yüzden bir şeyler ters gittiğinde Pardus'un sana haber vermesi sistem yöneticiliğinin en rahatlatıcı kısmıdır.

En pratik ve modern yöntemlerden biri olan Telegram Bildirim Sistemi'ni kuralım. Bu sayede disk dolduğunda veya sunucuya biri giriş yaptığında telefonuna anlık mesaj gelir.


1. Adım: Telegram Botu Oluşturma

  1. Telegram'da @BotFatherı aratın ve /newbot komutuyla botunuzu oluşturun.

  2. Size verilen API Token'ı not edin.

  3. Botunuza bir mesaj atın ve @userinfobot üzerinden kendi Chat ID'nizi öğrenin.


2. Adım: Uyarı Scriptini Hazırlama

Pardus üzerinde /usr/local/bin/sunucu_uyari.sh adında bir dosya oluşturalım:

Bash:
#!/bin/bash

# --- AYARLAR ---
TOKEN="BOT_API_TOKEN_BURAYA"
CHAT_ID="CHAT_ID_BURAYA"
DISK_SINIR=80 # %80 dolulukta uyarı ver

# --- 1. DİSK KONTROLÜ ---
DISK_DOLULUK=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')

if [ "$DISK_DOLULUK" -gt "$DISK_SINIR" ]; then
    MESAJ="⚠️ KRİTİK UYARI: Pardus Sunucu Disk Doluluğu %$DISK_DOLULUK seviyesine ulaştı!"
    curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" -d chat_id=$CHAT_ID -d text="$MESAJ"
fi

# --- 2. RAM KONTROLÜ (Opsiyonel) ---
RAM_BOS=$(free | grep Mem | awk '{print $4/$2 * 100.0}')
# Eğer RAM çok azaldıysa buraya da benzer bir IF bloğu eklenebilir.

3. Adım: SSH Girişlerini Takip Etme (Güvenlik)

Birisi sunucuna root veya başka bir kullanıcıyla giriş yaptığında anında mesaj almak çok havalı ve güvenlidir.

/etc/profile dosyasının en altına şu satırı ekleyin:

Bash:
IP_ADRES=$(who | awk '{print $5}' | tr -d '()')
MESAJ="🔐 Giriş Yapıldı: $USER kullanıcısı $IP_ADRES adresinden sunucuya bağlandı."
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" -d chat_id=$CHAT_ID -d text="$MESAJ"

4. Adım: Otomatik Kontrol (CronJob)

Disk kontrol scriptinin her saat başı çalışması için:

  1. sudo crontab -e

  2. En alta şunu ekleyin: 0 * * * * /usr/local/bin/sunucu_uyari.sh


Makalenin Final Özeti

Şu an Pardus üzerinde sadece bir sunucu kurmakla kalmadın, kendi kendine konuşan ve kendini savunan bir yapı kurdun:

  1. Dizin: /srv ile düzenli.

  2. Güvenlik: UFW ve SSL ile korumalı.

  3. Hız: Gzip ve Cache ile optimize.

  4. Görünürlük: Telegram bildirimleri ile canlı takipte.

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu