.Net Core’da Serilog İle ElasticSearch Sink ve Kibana Field Özelleştirmesi-1
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.
docker-compose.yml uzantılı dosyamızda Elasticsearch ve Kibana yapılandırma işlemlerini yazalım.
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: http://localhost:9200
- Kibana: http://localhost:5601
- 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.