Sobes.tech
Middle

გვითხარით თქვენი გამოცდილების შესახებ ლოგების ანალიზში.

sobes.tech AI

პასუხი AI-სგან

ლოგების ანალიზი გამოიყენებოდა დეფექტების მოძიებისთვის, მონიტორინგისთვის და ინციდენტების ძირითადი მიზეზების გამოსავლენად.

ძირითადი გამოყენების სცენარები:

  • შეცდომების ძიება: აპლიკაციის, სერვერის ან მონაცემთა ბაზის ლოგებში შეცდომების, გაფრთხილებების და წარმოქმნილი გამონაკლისების იდენტიფიცირება.
  • პროდუქტიულობის დიაგნოსტიკა: პასუხის დროის, CPU-ის დატვირთვის, მეხსიერების მოხმარების ანალიზი მონიტორინგის სისტემების ან თავად აპლიკაციების ლოგებში.
  • ინციდენტების გამოძიება: სისტემის სხვადასხვა კომპონენტის ლოგების საფუძველზე მოვლენათა ქრონოლოგიის აღდგენა, რომელიც გამოიწვია გაუმართაობამ.
  • სისტემის მდგომარეობის მონიტორინგი: ძირითადი მოვლენების ან შეცდომების შესახებ შეტყობინებების კონფიგურაცია ლოგებში.
  • მომხმარებლის ქცევის ანალიზი: მომხმარებლის ქმედებების სერიის ტრეკირება API ან ვებ სერვერის მოთხოვნების ლოგების საფუძველზე.

საშუალებები და მიდგომები:

  • ტექსტური რედაქტორები და ბრძანების ხაზი Utilities: მცირე პროექტებისთვის ან ადგილობრივ ანალიზისთვის გამოიყენებოდა grep, awk, sed Linux/Unix სისტემებში.
  • ცენტრალიზებული ლოგირების სისტემები: მუშაობდა ELK stack-თან (Elasticsearch, Logstash, Kibana), Grafana Loki. ეს სისტემები საშუალებას აძლევენ სხვადასხვა წყაროს ლოგების შეგროვებას, ცენტრალიზებულ შენახვას, ინდექსირებას და ვიზუალიზაციას.
  • სტრუქტურირებული ლოგირება: გუნდებს სთხოვდნენ გამოიყენონ ლოგის ფორმატები, რომლებიც ადვილად იკითხება (მაგ., JSON), და დაამატონ კოორელაციის 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"
}

ლოგების ანალიზი მნიშვნელოვანი ნაწილია პროდუქტის ტესტირების და მხარდაჭერის პროცესში, რაც საშუალებას აძლევს სწრაფად იპოვოს და განლაგოს პრობლემები.