Sobes.tech
Middle

Խոսեք ձեր փորձի մասին লগերի վերլուծության հետ։

sobes.tech AI

Պատասխան AI-ից

Լոգերի վերլուծությունը օգտագործվել է դեբագինգի, մոնիտորինգի և պատահարների հիմնական պատճառների որոնման համար:

Հիմնական օգտագործման սցենարներ՝

  • Անհատական սխալների որոնում: Ապացուցում սխալները, զգուշացումները և արտադրված արտահայտությունները հավելվածի, սերվերի կամ տվյալների բազայի լոգերում:
  • Արդյունավետության ախտորոշում: Պատասխան ժամանակի, CPU բեռի, հիշողության սպառման վերլուծություն մոնիտորինգային համակարգերի կամ ինքնին հավելվածների լոգերում:
  • Պատահարների հետաքննություն: Իրադարձությունների ժամանակագրության վերականգնում՝ հիմնված տարբեր համակարգերի լոգերի վրա՝ ձախողման պատճառները պարզելու համար:
  • Համակարգի վիճակի մոնիտորինգ: Կանխազգուշացումների կարգավորում՝ հիմնական իրադարձությունների կամ սխալների մասին լոգերում:
  • Օգտագործողի վարքի վերլուծություն: Օգտագործողի գործողությունների հաջորդականության հետևում՝ API կամ վեբ սերվերի հարցումների լոգերի հիման վրա:

Գործիքներ և մոտեցումներ՝

  • Տեքստային խմբագրիչներ և հրամանի տերմինալային utility-ներ: Փոքր նախագծերի կամ տեղական վերլուծության համար օգտագործում էր grep, awk, sed Linux/Unix համակարգերում:
  • Կենտրոնացված լոգավորման համակարգեր: Աշխատել է ELK stack (Elasticsearch, Logstash, Kibana), Grafana Loki-ով: Այս համակարգերը թույլ են տալիս հավաքել տարբեր աղբյուրներից լոգերը, կենտրոնական պահեստավորել, ինդեքսավորել և վիզուալիզացնել:
  • Կառուցված լոգավորում: Խնդրային ձևաչափեր օգտագործել՝ հեշտացնելու համար վերլուծությունը (օրինակ, JSON), ավելացնելով Correlation ID՝ հարցումների կապը տարբեր ծառայությունների միջև:
  • Հետևողականություն և զգուշացումներ: Կարգավորել կանոններ մոնիտորինգի համակարգերում (Prometheus) և լոգավորման համակարգերում (ELK, Grafana)՝ զգուշացումներ ուղարկելու՝ լոգերում հայտնաբերված լուրջ սխալների կամ զգուշացումների գերազանցում դեպքում:

ELK-ով սխալի որոնման օրինակ՝

  1. Հայտնաբերում պատահար (օրինակ՝ օգտվողի բողոք):
  2. Գնալ Kibana, ընտրել համապատասխան լոգերի ինդեքսը:
  3. Մուտքագրել բանալի բառեր կամ ֆիլտրեր (օրինակ՝ օգտվողի ID, հարցման ժամանակը, միկրոսերվիսի անունը):
  4. Փնտրել level: ERROR կամ level: WARNING դաշտերով:
  5. Վերլուծել stacktrace-ը և շրջակա լոգերը՝ սխալի կոնտեքստը հասկանալու և սխալը առաջացրած մոդուլը կամ ֆունկցիան հայտնաբերելու համար:
{
  "@timestamp": "2023-10-27T10:30:00.123Z",
  "level": "ERROR",
  "message": "Տվյալների բազայի կապը ձախողվեց",
  "service": "user-service",
  "correlation_id": "abc-123",
  "error": {
    "type": "SQLException",
    "message": "Connection refused",
    "stacktrace": "..." // Այստեղ կլինի ամբողջ stacktrace-ը
  },
  "user_id": "user-xyz"
}

Լոգերի վերլուծությունը կարևոր մասն է արտադրանքի թեստավորման և սպասարկման գործընթացում՝ արագ հայտնաբերելու և տեղորոշելու խնդիրները։