Sobes.tech
Middle

Xətaları (bugları) necə düzəldirsiniz? Problemi aşkar etməkdən onun həllinə qədər bütün prosesi təsvir edin.

sobes.tech Süni İntellekt

AI-dan cavab

Xətaların aradan qaldırılması prosesi aşağıdakı mərhələləri əhatə edir:

  1. Məsələnin müəyyənləşdirilməsi: Xəta haqqında məlumatların müxtəlif mənbələrdən toplanması:

    • Monitorinq sistemləri (Prometheus, Grafana, Zabbix və s.).
    • Log sistemləri (ELK Stack, Splunk, Loki və s.).
    • İstifadəçilər və ya inkişaf komandası tərəfindən göndərilən mesajlar.
    • Avtomatlaşdırılmış testlər (CI/CD pipeline-ləri).
  2. Təhlil və izolyasiya:

    • Loglar, metriklər, izlər (Jaeger, Zipkin) üzərində araşdırma aparmaq və əsas səbəbi tapmaq.
    • Xətanın idarə olunan mühitdə (dev/staging) təkrarlanması.
    • Təsir edən komponent/servis/modulun tapılması.
    • Son dəyişikliklərin (deployment, konfiqurasiyalar) yoxlanması.
  3. Əhəmiyyətlilik dərəcəsinin müəyyənləşdirilməsi: Xətanın ciddiyyəti və sistem/istifadəçilərə təsiri (kritik, yüksək, orta, aşağı) müəyyən edilir. Bu, düzəlişin təciliyyətini müəyyən etməyə kömək edir.

  4. Həllin planlaşdırılması:

    • Düzəliş strategiyasının hazırlanması.
    • Lazımi vaxt və resursların qiymətləndirilməsi.
    • Layihə idarəetmə sistemində (Jira, YouTrack) tapşırıq yaradılması.
  5. Düzəlişin həyata keçirilməsi:

    • Xətanın aradan qaldırılması üçün kod yazılması.
    • Konfiqurasiyaların dəyişdirilməsi.
    • Skriptlərin yenilənməsi.
  6. Testlər:

    • İnkişaf etdirici tərəfindən yerli testlər.
    • Avtomatlaşdırılmış testlər (birlik, inteqrasiya, regresiya) CI/CD-də.
    • Manual testlər test/staging mühitində.
    • Düzəlişdən sonra xətanın təkrarlanma qabiliyyətinin yoxlanması.
  7. Kod/dəyişikliklərin nəzərdən keçirilməsi: Keyfiyyət və standartlara uyğunluğu təmin etmək üçün başqa bir komanda üzvü tərəfindən nəzərdən keçirilmə.

  8. Yerləşdirmə:

    • Artefaktların (Docker şəkilləri, paketlər) yaradılması və qurulması.
    • Əvvəlcə test/staging mühitlərinə yerləşdirmə.
    • Tədricən istehsala yerləşdirmə (məsələn, kanarli, mərhələli rollout).
    • Yeni yerləşdirmədə problem olarsa, geri dönüş planı.
  9. Yerləşdirmədən sonra monitorinq:

    • Metrikalar və logların izlənməsi.
    • Xətanın yenidən baş verməməsinin yoxlanması.
    • İstifadəçilər və monitorinq sistemlərindən rəy toplanması.
  10. Tapşırığın bağlanması: Həllin sənədləşdirilməsi və layihə idarəetmə sistemində tapşırığın bağlanması.

Logların analizində nümunələr:

# Tətbiq loglarındakı xətaları axtarmaq
grep "ERROR" application.log

# Xüsusi sorğu identifikatoru ilə logların filtrlənməsi
grep "request_id=abc123" application.log

# Kubernetes-də podun loglarını görmək üçün kubectl istifadə etmək
kubectl logs my-pod -n my-namespace

Prometheus-dan metriklərin çıxarılması nümunələri:

# Xidmətə edilən uğursuz sorğuların faizi
sum(rate(http_requests_total{status=~"5.."})) by (service) / sum(rate(http_requests_total)) by (service) * 100

# Xidmətin orta cavab vaxtı
rate(http_request_duration_seconds_sum) / rate(http_request_duration_seconds_count)