VPS Sunucuda CPU Monitoring Script

VPS sunucularında CPU kullanımını etkin bir şekilde izlemek, sistem yöneticileri için vazgeçilmez bir uygulamadır.

Reklam Alanı

VPS sunucularında CPU kullanımını etkin bir şekilde izlemek, sistem yöneticileri için vazgeçilmez bir uygulamadır. Sanal özel sunucular (VPS), paylaşımlı kaynaklar nedeniyle ani yük artışlarında performans sorunları yaşayabilir. Bu durum, web sitelerinin yavaşlamasına, veritabanı sorgularının tıkanmasına veya hizmet kesintilerine yol açabilir. Bir CPU monitoring script’i ile gerçek zamanlı veri toplayarak proaktif önlemler alabilirsiniz. Bu makalede, Linux tabanlı VPS’lerde çalıştırabileceğiniz pratik bir Bash script’i adım adım ele alacağız. Script, CPU kullanımını periyodik olarak kontrol edecek, yüksek kullanımda log kaydı tutacak ve temel uyarı mekanizmalarını içerecektir. Bu yaklaşım, hem yeni başlayanlar hem de deneyimli yöneticiler için uygundur ve sunucu kaynaklarını optimize etmenize yardımcı olur.

VPS Sunucuda CPU İzlemesinin Temel Nedenleri ve Faydaları

Sunucunuzun CPU’sunu izlemek, performans darboğazlarını erken tespit etmenizi sağlar. VPS ortamlarında CPU, birden fazla sanal makine tarafından paylaşıldığından, beklenmedik yükler kaynak tüketimini hızla artırabilir. Örneğin, bir DDoS saldırısı veya hatalı bir kod döngüsü CPU’yu %100’e yaklaştırabilir. Düzenli monitoring ile bu sorunları saniyeler içinde fark edebilir, gereksiz süreçleri sonlandırabilir veya kaynakları yeniden dağıtabilirsiniz.

Bu izleme ayrıca uzun vadeli optimizasyon için veri sağlar. Günlük CPU kullanım paternlerini analiz ederek, trafik pik saatlerini öngörebilir ve ölçeklendirme kararları alabilirsiniz. Maliyet açısından da avantajlıdır; yüksek CPU kullanımı faturaları şişirirken, erken müdahale ile gereksiz VPS yükseltmelerinden kaçınırsınız. Pratikte, script tabanlı monitoring cron job’larla entegre edildiğinde, e-posta uyarıları ekleyerek 7/24 gözetim elde edersiniz. Sonuç olarak, bu yöntem sunucunuzun kararlılığını artırır ve iş sürekliliğini güvence altına alır.

CPU Monitoring Script’inin Geliştirilmesi

Gerekli Araçlar ve Sistem Hazırlığı

Script geliştirmeye başlamadan önce, VPS’inizde temel araçların yüklü olduğundan emin olun. Çoğu Ubuntu veya CentOS dağıtımında varsayılan olarak bulunan top, awk ve bc komutları yeterlidir. Eksikse, sudo apt update && sudo apt install bc (Debian tabanlı) veya sudo yum install bc (Red Hat tabanlı) ile yükleyin. Loglama için /var/log/cpu_monitor.log dosyasını oluşturun: sudo touch /var/log/cpu_monitor.log && sudo chmod 644 /var/log/cpu_monitor.log. Bu adımlar, script’in sorunsuz çalışmasını sağlar ve root erişimi gerektirir. Ayrıca, crontab -e ile otomatik çalıştırma için hazırlık yapın. Bu hazırlık aşaması, script’in güvenilirliğini artırır ve hata oranını minimize eder.

Bash Script’inin Temel Yapısı ve Mantığı

Script, sonsuz döngü içinde CPU kullanımını okur, eşik değeriyle karşılaştırır ve gerekirse loglar. top -bn1 komutuyla anlık CPU verisi alınır; grep "Cpu(s)" | awk '{print $2}' ile kullanıcı modu CPU’su (%us) ayrıştırılır. Eşik için bc kullanılır çünkü Bash’te ondalık karşılaştırma zordur. Döngü arası sleep 60 ile dakikada bir kontrol sağlanır. Hata yönetimi için trap sinyali ekleyin: trap "echo 'Script durduruldu' >> /var/log/cpu_monitor.log; exit" INT TERM. Bu yapı, script’i robust hale getirir ve beklenmedik kapanmalarda iz bırakır. Mantık, modüler olduğundan kolayca genişletilebilir; örneğin bellek izlemesi eklenebilir.

Örnek Tam Script Kodu ve Test Etme

Aşağıdaki örnek script’i /usr/local/bin/cpu_monitor.sh olarak kaydedin ve chmod +x ile çalıştırılabilir yapın:

#!/bin/bash
LOGFILE="/var/log/cpu_monitor.log"
THRESHOLD=80
trap "echo '$(date): Script durduruldu' >> $LOGFILE; exit" INT TERM
while true; do
  CPU=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1 | cut -d',' -f1)
  if [ $(echo "$CPU > $THRESHOLD" | bc) -eq 1 ]; then
    echo "$(date): Yüksek CPU kullanımı: %$CPU" >> $LOGFILE
    # Opsiyonel: mail -s "CPU Alarm" [email protected] << EOF
    # CPU: $CPU%
    # EOF
  fi
  sleep 60
done

Test için ./cpu_monitor.sh & ile arka planda çalıştırın, tail -f /var/log/cpu_monitor.log ile izleyin. CPU’yu zorlamak için stress --cpu 4 --timeout 300s (önce apt install stress) kullanın. Script, %80 üzeri kullanımda log atar; eşiği ihtiyacınıza göre ayarlayın. Bu örnek, gerçek dünya senaryolarında hemen uygulanabilir ve düşük kaynak tüketir.

Script’in Otomatikleştirilmesi ve Bakımı

Cron ile otomatize etmek için crontab -e açın ve * * * * * /usr/local/bin/cpu_monitor.sh >/dev/null 2>&1 ekleyin (dakikada bir). Sistem yeniden başlatmada çalışması için /etc/rc.local veya systemd service oluşturun: sudo nano /etc/systemd/system/cpu-monitor.service ile unit dosyası tanımlayın, ardından systemctl enable cpu-monitor. Bakım için haftalık log rotasyonu ayarlayın: /etc/logrotate.d/cpu_monitor ile /var/log/cpu_monitor.log { weekly rotate 4 compress }. Performans takibi için logları grep "Yüksek" /var/log/cpu_monitor.log | awk '{print $NF}' | sort -nr | head ile analiz edin. Bu adımlar, script’i kurumsal seviyede güvenilir kılar.

Bu CPU monitoring script’i, VPS’inizi proaktif yönetmenize olanak tanır. Uygulayarak kaynak kullanımınızı optimize edin, kesintileri önleyin ve verimliliği artırın. Düzenli inceleme ile script’i ihtiyaçlarınıza uyarlayın; örneğin birden fazla CPU çekirdeği için mpstat entegre edin. Sonuçta, bu araçla sunucunuzun sağlığını sürekli korursunuz.

Yazar: Editör
İçerik: 677 kelime
Okuma Süresi: 5 dakika
Zaman: Bugün
Yayım: 22-03-2026
Güncelleme: 22-03-2026
Benzer İçerikler
Dijital Dönüşüm kategorisinden ilginize çekebilecek benzer içerikler