• Buradasın

    .NET Core'da Elasticsearch ve Kibana ile Hata Yönetimi Eğitimi

    youtube.com/watch?v=6pGWacUo0wA

    Yapay zekadan makale özeti

    • Bu video, bir konuşmacının Elasticsearch ve Kibana'nın kurulumunu ve kullanımını anlattığı kapsamlı bir eğitim içeriğidir.
    • Video, Elasticsearch ve Kibana'nın Homebrew ile kurulumundan başlayarak, ASP.NET Core MVC projelerinde hata loglarının nasıl toplanacağı, filtreleneceği ve Kibana üzerinden nasıl görüntüleneceği konularını adım adım göstermektedir. İçerik, Nest kütüphanesi kullanarak Elasticsearch'e bağlanma, indeks oluşturma, replika ve sharding konularını, hata mesajlarının nasıl toplanacağı ve detay sayfalarından nasıl görüntüleneceği gibi konuları kapsamaktadır.
    • Eğitim, .NET Core uygulamalarında hata yönetimi yapmak isteyenler için pratik bir rehber niteliğindedir. Video boyunca web servisi ve MVC sayfası ayağa kaldırılarak, hata oluşturma süreci gösterilmekte, ardından Kibana üzerinden bu hataların nasıl görüntüleneceği, unique hataların nasıl filtreleneceği ve zamana göre arama yapma yöntemleri açıklanmaktadır.
    00:01Elasticsearch Tanıtımı
    • Bu makalede Elasticsearch kavramı sekiz kere anlatılacak ve .NET Core üzerinde Elasticsearch incelemesi yapılacak.
    • Elasticsearch kurulumu için homebrew ve Kibana kurulumu gerekiyor, terminalden "elasticsearch" yazarak 9200 portundan erişilebilir.
    • Kibana, Elasticsearch log'larının tutulduğu, grafiksel olarak monitör edildiği ve dokümanların bakıldığı bir monitör aracıdır.
    01:31Proje Tanıtımı
    • İki proje kullanılacak: biri Web App Servis (WASP), diğeri ASP.NET Core MVC uygulaması.
    • MVC projesinde home, ebat, contact gibi sayfalara giriş-çıkış yapılacak ve hatalar fırlatılacak.
    • Amac, projede oluşabilecek hata loglarını Elasticsearch'de tutup arama yapabilmektir.
    02:25Web App Servis Kurulumu
    • Web App Servis'te Nest kütüphanesi kullanılıyor.
    • Elasticsearch bağlantısı statik olarak tanımlanıyor ve ElasticSearch CLI singleton olarak oluşturuluyor.
    • İlk ana sayfa bir insert log olarak düşünülüyor ve basit bir hata fırlatılıyor.
    04:25Replika ve Sharding Kavramları
    • Replika ve sharding, Elasticsearch'te veri güvenliği için kullanılan kavramlardır.
    • Örneğin, üç shardlı bir yapıda üç makine ve her birinin bir replikası olur, toplam altı makine oluşur.
    • Replikalar aynı konteyner içinde olamaz, çapraz konteynerlerde olmalıdır ki bir konteynerde sorun çıktığında yedeği devreye girebilir.
    05:38İndeks Yönetimi
    • İndeks oluştururken "lokito" ve "elli" isimleri kullanılıyor.
    • Yeni bir indeks oluştururken eski indeksteki verileri kaybetmeden yeni bir indeks oluşturulabilir.
    • Örneğin, "elli elli" indeksi oluşturulduğunda, eski "loki history" indeksi temizlenir.
    06:49Veri Ekleme ve Sorgulama
    • Oluşturulan indekse hata verileri ekleniyor.
    • "Get all errors" fonksiyonu ile son yedi gün içindeki unique query'ler tarihe göre tersten sıralanıyor.
    • Elasticsearch querys'in içerisinde aggregation'lar kullanılarak performans artışı sağlanabilir.
    08:22Elastik Search Özellikleri
    • Elastik Search'te sadece belirli alanları (örneğin message alanı) çekmek performans açısından avantaj sağlar.
    • Elastik Search, database'deki table ve kolonlara denk gelen terms ile çalışır ve asenkron olarak çalışır.
    • Get metodu, spesifik hata mesajlarına ait listenin alınmasını sağlar.
    09:51Elastik Search Arama Mantığı
    • Elastik Search, her kelimeyi analiz ederek her kelimenin geçtiği cümleleri bulur.
    • Tüm cümleyi algılamak için "end" operatörü kullanılabilir veya analize etmemek için "end" operatörü kullanılabilir.
    • Elastik Search, kelimeleri cümle içinde böler, her kelimenin geçtiği field'leri bulur ve indeksler, böylece arama işlemi daha hızlı gerçekleşir.
    11:39MVC Projesi ve Servis Bağlantısı
    • MVC projesinde Net Core ve Nest eklenerek web servisi kurulur.
    • Servis, deserialize edilen string değerleri view'a gönderir ve view'da mesajlar listelenir.
    • View'da bir form bulunur ve form post yöntemiyle detail action'a yönlendirilir.
    13:07Hata Yakalama ve Özelleştirme
    • Projede try-catch blokları kullanılarak hatalar yakalanabilir.
    • .NET Core'da Startup.cs'de "UseExceptionHandler" kullanılarak projenin genelinde hata oluştuğunda belirli bir kontrol sayfasına yönlendirme yapılabilir.
    • Farklı sayfalardan gelen hatalar için farklı user id'leri kullanılabilir, örneğin home'dan gelen hata için user id 1, contact'tan gelen hata için user id 2 şeklinde.
    15:30Hata Detayları ve Detay Sayfası
    • Hata oluştuğunda hangi sayfadan geldiğini "Exception.FaultPath" özelliği ile görebilirsiniz.
    • Detay sayfasında user id, yaratılma tarihi ve message bilgileri görüntülenir.
    • Detay sayfasında, seçilen hata mesajına göre Elastic Search'den çekilen veriler view model olarak geri döndürülür.
    18:43Uygulamanın Test Edilmesi
    • İndeks sayfasındaki değer artı yapılarak uygulama test edilecek.
    • Sistemde hiçbir kayıt olmadığı, son yedi günlük de kayıt olmadığı belirtiliyor.
    • Web servisi ve MVC sayfası ayağa kaldırılarak uygulama test edilecek.
    19:37İlk Hata Oluşumu
    • Home sayfasına gelindiğinde otomatik olarak bir hata oluşuyor.
    • Kibena'ya gidildiğinde "ethim to divided by zero" hatası alınıyor.
    • Hata düzeltildikten sonra uygulama tekrar çalıştırılıyor.
    20:29Hata Listesinin Görüntülenmesi
    • Kibena'ya gidildiğinde yapılan girişlere göre dört tane hata oluşuyor, ancak unique olan üç tanesi görüntüleniyor.
    • Ana sayfaya geldiğinde üç tane unique hata görüntüleniyor.
    • Hata detayına gidildiğinde, hata zamanı ve detayları görüntülenebiliyor.
    21:46Elastik Search Kullanımı
    • .NET Core üzerinde Elastik Search ile sayfadaki global hatalar Elastik Search'e aktarılıyor.
    • Belirlenen hataya göre tüm hata listesi sorgulanıp detayına gidilebiliyor.
    • Zamana göre filtre yapma ve unique hataları belirleme özellikleri gösteriliyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor