Server logunu oxumaq: error_log və access_log nə deyir

Sayt xəta verəndə çoxu təxminlə başlayır: plagini söndürək, temanı dəyişək, PHP versiyasını qaldıraq. Halbuki serverdə səbəbi açıq yazan bir fayl var. Log oxumağı bilmək bir saatlıq təxmini beş dəqiqəlik dəqiq həllə çevirir.

İki əsas log

error_log nəyin sındığını yazır: hansı faylda, hansı sətirdə, hansı xəta. Problem axtaranda bura baxılır.

access_log isə kimin gəldiyini yazır: hər sorğu, ünvan, cavab kodu, brauzer. Trafik təhlili, bot axtarışı və hücum aşkarlanması üçün istifadə olunur.

cPanel-də error logu Errors bölməsində göstərilir. Fayl kimi isə hesabın kök qovluğunda və ya sayt qovluğunda error_log adı ilə yerləşir.

Xəta sətrini oxumaq

Tipik bir sətir belə olur: tarix, xətanın növü, mesaj, sonra faylın yolu və sətir nömrəsi. Ən vacib hissə sondadır, çünki problemin harada olduğunu dəqiq göstərir.

Xəta növləri arasında fərq var və bunu bilmək vaxt qazandırır:

  • Fatal error: icra dayanıb, sayt açılmır. Dərhal baxılmalıdır.
  • Warning: nəsə düz getmir, amma icra davam edir. Çox vaxt gələcək problemin xəbərçisidir.
  • NoticeDeprecated: kod köhnəlib, hələ işləyir. Təcili deyil.

Tez-tez rast gəlinən mesajlar və mənası

Allowed memory size exhausted: skriptə ayrılan yaddaş çatmayıb. Səbəb ya ağır plagin, ya böyük şəkil emalı, ya da sonsuz dövrədir. Yaddaş limitini qaldırmaq müvəqqəti həlldir, əsl səbəb kodda ola bilər.

Maximum execution time exceeded: skript çox uzun işləyib. Adətən böyük idxal, yedəkləmə və ya yavaş sorğu zamanı olur.

Call to undefined function: kodda olmayan funksiya çağırılır. Səbəb ya PHP genişlənməsinin söndürülməsi, ya da natamam yüklənmiş plagin.

Permission denied: fayl icazələri yanlışdır. Qovluqlar 755, fayllar 644 olmalıdır.

Error establishing a database connection: baza məlumatları səhvdir və ya baza serveri cavab vermir. Konfiqurasiya faylındakı istifadəçi adı, parol və host adını yoxlayın.

Headers already sent: kodda çıxış başlamışdan sonra başlıq göndərilir. Adətən faylın əvvəlində və ya sonunda artıq boşluq olur.

access_log ilə nə görmək olar

Bu log daha çox təhlil üçündür. Onunla aşağıdakıları tapmaq olar:

  • Hansı səhifələr ən çox açılır
  • Hansı ünvanlar 404 verir, yəni sınıq linklər
  • Bir IP ünvandan gələn anormal çoxlu sorğu, yəni hücum və ya aqressiv bot
  • Hansı botların saytı gəzdiyi
  • Serverin yükünü hansı sorğuların yaratdığı

Trafik birdən artıbsa və sayt yavaşlayıbsa, ilk baxılacaq yer budur. Çox vaxt səbəb real ziyarətçi deyil, nəzarətsiz bot olur.

Praktik yanaşma

Loga baxarkən sondan başlayın, çünki ən son xəta ən aktualdır. Eyni mesaj yüzlərlə dəfə təkrarlanırsa, bu bir problemdir, yüz problem yox. Xətanın vaxtını saytda baş verən hadisə ilə tutuşdurun: plagin yeniləməsi, kod dəyişikliyi, trafik artımı.

Log faylı çox böyüyübsə, silmək təhlükəsizdir, sistem yenisini yaradır. Amma silməzdən əvvəl son sətirlərə mütləq baxın.

Yekun

Log oxumaq öyrənilməsi bir saat çəkən, sonra illərlə vaxt qazandıran bacarıqdır. Dəstəyə müraciət edəndə də log sətrini əlavə etmək cavabı dəfələrlə sürətləndirir, çünki mütəxəssis problemi axtarmır, birbaşa həllə keçir.

Paylaş: