VPS-də CPU, RAM və diskin izlənməsi.
Resursları hazırda nəyin istifadə etdiyini necə görmək olar, uzunmüddətli metriklərdə nəyə baxmaq lazımdır və xəbərdarlıqları qurmaq üçün pulsuz alətlər.
VPS-i production-a çıxarırsınız, trafik artır və birdən sayt yavaşlayır. İlk sual: dar boğaz haradadır? CPU? RAM? Disk I/O? Şəbəkə?
Paneldə qısa baxış
Yeni panel (rivervo.com/panel): server səhifəsində son 1, 6 və ya 24 saat üçün CPU, Şəbəkə (daxil olan/çıxan) və Disk (oxuma/yazma) qrafikləri olan Cari yüklənmə kartı var. O, hər dəqiqə yenilənir.
Kart RAM-ı və ya disk həcmini göstərmir — bunlar və proseslər üzrə təfərrüatlar üçün serverin daxilində aşağıdakı alətlərdən istifadə edin.
Real vaxt rejimində baxış
SSH ilə qoşulun və işə salın:
topEkranın yuxarısında: orta yüklənmə (load average, 1 dəq / 5 dəq / 15 dəq). Yüklənmə CPU nüvələrinin sayından çoxdursa, CPU dar boğazdır.
Proseslərin siyahısı: standart olaraq %CPU üzrə azalan sırada düzülür. Yaddaş üzrə sıralamaq üçün M düyməsini basın.
Daha rahat interfeys üçün htop quraşdırın:
sudo apt install htop # Ubuntu/Debian
sudo dnf install htop # RHEL/Alma
htopHərəkət üçün ox düymələrindən, prosesləri dayandırmaq üçün F9-dan istifadə edin.
Yaddaş
free -hÜmumi / istifadə olunan / boş / bufer / keş yaddaşı göstərir.
Keşlənmiş yaddaş "istifadədə" deyil. Linux boş RAM-ı fayl sistemi keşi kimi istifadə edir və tətbiqlərə lazım olduqda onu azad edir. Real "boş" göstərici üçün available sütununa baxın.
Yaddaş bitdikdə OOM killer işə düşür və ən böyük prosesi dayandırır. Hansı prosesin dayandırıldığını görmək üçün dmesg | grep -i kill əmrini işlədin.
Disk həcmi
df -h # disk space per filesystem
du -sh /* # space per top-level dir
du -sh /var/* # drill into /varBöyük faylları axtarmaq üçün:
find / -size +500M -exec ls -lh {} \; 2>/dev/nullDiskdə ən çox yer tutanlar: /var/log (jurnalların rotasiyasını qurun), /var/lib/docker (istifadə olunmayan image-ləri təmizləyin: docker system prune -a), /tmp, MySQL məlumat qovluqları.
Disk I/O (gizli problem)
iostat -x 5 # if installed (apt install sysstat)%util sütununu izləyin. Davamlı olaraq 70%-dən yuxarıdırsa, dar boğaz diskdir.
Proseslər üzrə I/O üçün:
sudo iotop(quraşdırma: sudo apt install iotop)
Şəbəkə
sudo iftop # real-time bandwidth per connection
sudo nethogs # bandwidth per processVə ya ümumi trafik üçün:
ifstat 1Uzunmüddətli metriklər
Real vaxt alətləri İNDİ nə baş verdiyini göstərir. Tendensiyalar üçün daimi işləyən alət quraşdırın:
Netdata (pulsuz, yüngül, çox gözəl veb interfeys):
bash <(curl -SsL https://my-netdata.io/kickstart.sh)http://your-vps:19999 ünvanını açın. CPU, RAM, disk, şəbəkə, MySQL, Redis, Nginx, Docker və s. avtomatik aşkarlanır. Əksər istifadəçilər üçün pulsuz versiya kifayətdir.
Prometheus + Grafana (tam stek, daha çox quraşdırma tələb edir): xəbərdarlıqlar və uzunmüddətli saxlama ilə ciddi monitorinq üçün. Production üçün standartdır.
Glances (top-a alternativ, daimi işləyir):
sudo apt install glances
glances --webserver --port 61208Xəbərdarlıqlar
İşləyən pulsuz variantlar:
- UptimeRobot — 50 monitor üçün pulsuz, xidmətlərinizi hər 5 dəqiqədən bir yoxlayır, dayanma zamanı xəbərdarlıq göndərir
- Healthchecks.io — 20 cron yoxlaması üçün pulsuz, planlaşdırılmış tapşırıqlar siqnal göndərmədikdə xəbərdarlıq edir
- Netdata Cloud — topladığı metriklər üzrə pulsuz xəbərdarlıqlar
- Grafana Cloud — pulsuz 10k metrik + xəbərdarlıqlar
Cron tapşırıqlarının e-poçt bildirişləri də işləyir, lakin onların sayı məhdudlaşdırılır və yığıldıqca onları nəzərdən qaçırmaq asandır.
Yavaş saytın sürətli diaqnostikası
Bunları ardıcıllıqla işə salın:
uptime # load avg — CPU-bound?
free -h # memory pressure?
df -h # disk full?
iostat -x 5 5 # disk I/O bottleneck?
top # what processes are eating CPU?Təxminən 60 saniyəyə problemin hansı resursda olduğunu və buna hansı prosesin səbəb olduğunu biləcəksiniz.