.Net Core’da Serilog İle ElasticSearch Sink ve Kibana Field Özelleştirmesi-1

Adem Olguner
Devops Türkiye☁️ 🐧 🐳 ☸️
3 min readDec 9, 2022

Bu makalemi bir yazı dizisi olacak şekilde ayarlamayı planlıyorum.
1- Docker Ortamlarının ayarlanması
2- Serilog Entegrasyonu ve Konfigürasyonu
3- ElasticSearch Detaylı Kullanım
4- Kibana ve Loglama için Custom Field oluşturma ve Kibana ortamlarında sorgulama

Neler Yapacağız

Yazılımın olmazsa olmazlarından log yapısını ele alacağız. Log altyapısı için birbirinden farklı çözümler bulunmaktadır tabiki, biz burada Serilog nasıl entegre edebiliriz, nasıl özelleştirebiliriz bunları inceliyor olacağız.

Notlar:

İşlemlerimize geçmeden önce ortamlarımızı ayarlayalım. Docker Desktop bilgisayarınızda kurulu değil ise kuralım.

Ben uygulama boyunca Rider kullanacağım, zorunlu değildir farklı ideler kullanarakta gerçekleştirebilirsiniz.

Create New Project diyelim Empty Solution projesi oluşturalım.
Solution Name: SerilogElasticKibana

Add New Project diyelim ve bir de API projesi ekleyelim.
API Project Name: SerilogElasticKibana.Api

Proje de solution dizininde bir docker-compose adında ve .yml uzantılı bir yaml dosyası oluşturalım.

docker-compose.yml dosya ismi istediğiniz isimde oluşturabilirsiniz.

Project Solution Folder

docker-compose.yml uzantılı dosyamızda Elasticsearch ve Kibana yapılandırma işlemlerini yazalım.

docker-compose.yml

container_name alanları istediğiniz şekilde ayarlayabilirsiniz. Hatta bu yml dosyasını özelleştirebilirsiniz. Username password ekleyebilir, farklı portlardan yayına alabilirsiniz.

Docker dosyamızı kontrol edip terminalden çalıştıralım.

docker-compose -f docker-compose.yml up -d

Docker tarafında konfigrasyonu yapılan elasticsearch ve kibana tarafında işlemlerimizi bitirdiğimizde, docker desktop uygulamasında verdiğimiz container-name ve port bilgileri ile uygulamaların kurulduğu ve çalışabilir durumda olduğunu görüntüleyebiliriz.

Kurulumumları yapılan ElasticSearch ve Kibana ortamlarımızı kontrol edelim.

  • Elasticsearch: ElasticSearch Lucene alt yapısı üzerine kurulmuş, Java programlama dili ile open-source olarak geliştirilmiş, ölçeklenebilir(scalable), full text search tabanlı bir search engine dir. Elasticsearch verileri JSON tipinde saklar..
  • Kibana: Kibana, OpenSearch’teki ücretsiz ve açık kaynaklı OpenSearch Dashboards olan Elasticsearch için kaynakta bulunan bir veri görselleştirme panosu yazılımıdır..

Yazının bir sonraki adımında Serilog Entegrasyon işlemlerini yapacağız. Bir sonraki yazıya buradan ulaşabilirsiniz.

--

--