Avtomatlaşdırılmış sistem işə düşdükdən sonra, onun hələ də işlədiyini necə izləmək olar?
Bu, bir neçə avtomatlaşdırılmış iş prosesi quraşdırdıqdan sonra öyrəndiyim ən dərin dərslərdən biridir: **sistem gecə yarısı çöküb, siz bunu növbəti günə qədər görməməlidir**.
Bir dəfə bir zamanlama tapşırığı yerləşdirmişdim, düşündüm ki, cron-u düzgün qurmuşam, buna görə də onu unudub gedə bilərəm. Nəticədə bir həftə keçdikdən sonra vəziyyətə baxmağa getdim, gördüm ki, sistem artıq 3 gündür sessizcə dayanıb - verilənlər bazası bağlantısı kəsilib, heç bir xəbərdarlıq yoxdur. O gündən sonra, tam bir izləmə fəlsəfəsi qurdum, bu gün sizinlə paylaşmaq istəyirəm.
**Birinci səviyyə: İcra dövrünü izləmək**
Ən əsas metod cron-un last_run_at dəyərinə baxmaqdır. Mənim qaydam budur: **əgər son icra vaxtı gözlənilən dövrün 2 qatını keçirsə, dərhal xəbərdarlıq göndərin**. Məsələn, hər 5 dəqiqədən bir işə düşməsi gözlənilən bir tapşırıq, əgər last_run_at indidən 10 dəqiqədən çox uzaqdadırsa, dərhal Telegram-a xəbərdarlıq göndərirəm. Bu göstərici son dərəcə effektivdir - təxminən 90% "sistem çökdü" hallarını 1 saat ərzində aşkarlamağa kömək edir, biznes bölməsinin bunu aşkar etməsini gözləmədən.
**İkinci səviyyə: API qırılma mexanizmi**
API-nin qeyri-sabit olması adi haldır. Mənim yanaşmam budur: **ardıcıl 3 API sorğusu uğursuz olarsa, 24 saat avtomatik qırılma həyata keçirir**. Niyə 3 dəfə? Çünki 1-2 dəfə ola bilsin ki, şəbəkə dalğalanmasıdır, amma 3 dəfə ardıcıl uğursuzluq gerçəkdən problem olduğuna işarədir. Qırılma dövründə sistem daha çox çağırış etməyə çalışmır, dəyərli API kvotalarını və log sahəsini səhv vəziyyətdə israf etməmək üçün. Bu, kor-koranə yenidən cəhd etməkdən daha effektlidir.
**Üçüncü səviyyə: Vəziyyət faylının davamlılığı**
Hər dəfə sistem işlədikdə, cari vəziyyəti - uğurların sayı, uğursuzluqların sayı, vaxt damğası, səhv məlumatları - bir vəziyyət faylına yazıram. Bu faylı 30 gün müddətinə saxlayıram. Bunun faydası nədir? Geriyə dönmək - "Niyə keçən çərşənbə paylaşımların nisbəti birdən 60%-ə düşdü?" - sadəcə loglara baxmaqla cavab tapıram. Vəziyyət faylı yer tutmur, amma mənə tam audit zənciri təqdim edir.
**Dördüncü səviyyə: Həftəlik insan nəzarəti**
Hər həftə 15 dəqiqə ayıraraq, sistemin avtomatik olaraq bir xülasə hesabatı hazırlamasına icazə verirəm: paylaşımların uğur nisbəti, səhv nisbətinin bölgüsü, söz sayı statistikası, anomaliyaların olub-olmaması. Bu, çox tez-tez lazım deyil, amma **tamamilə avtomatik xəbərdarlıqlara güvənməməlisiniz**. Bəzən səhv nisbətinin 2%-dən 4%-ə yüksəlməsi ilə bağlı bir tendensiya problemi, avtomatik izləmə sizə bildirməyəcək, amma insan gözlə bunu asanlıqla görə bilər - "burada diqqət yetirmək lazımdır".
**Köklü nəticə**
Avtomatlaşdırma qurmaq sürətlidir, amma **doğru izləmə aparılmadıqda əmin ola bilməzsiniz**. Mənim təcrübəmə görə: avtomatik xəbərdarlıqlar təcili hallar üçün (sistem tamamilə çökdü), insan nəzarəti tendensiya məsələləri üçün (tədricən pisləşən) məsuliyyət daşıyır. Hər ikisinin birləşməsi, bu sistemin uzun müddət yaşamasını təmin edir. Əks halda, nə qədər ağıllı olursa olsun, avtomatlaşdırma, yalnız qara qutuda bir zaman bombasıdır.
$BTC #DevOps #Avtomatlaşdırma