3. Logger#
Loglama altyapısı, sistemde yapılan işlemlerin loglanmasını ve bu logların belli sorgulama yöntemleri ile sorgulanmasını sağlar.
Yetenekler#
- Merkezi bir loglama yapısı sunmaktadır.
- Yatayda genişleyebilme özelliği ile çok sayıda isteği karşılayabilme kabiliyeti vardır.
- Loglar elasticsearch üzerinde tutularak kibana ile monitoring yapılabilecek şekilde tasarlanmıştır. Farklı depolama yöntemleri için küçük bir geliştirme ile değişiklik yapılabilir.
- Search instance özelliği ile elasticsearch üzerinden özelleştirilmiş sorgulamalar yapabilmek için imkan sağlar. Farklı depolama yöntemleri için küçük bir geliştirme ile değişiklik yapılabilir.
- Kafka ile asenkron çalışır, böylece toplu işlemlerin loglamasında bile veri kaybının ve performans problemlerinin önüne geçilmiş olur. İhtiyaca göre gerekli geliştirmeler yapılarak farklı kuyruk yapıları kullanılabilir.
- Çalışma anında
Setting
uygulaması üzerinden loglar kapatılıp açılabilir. Böylece canlı uygulamalara restart atmadan loglar yönetilebilir. - Veri kaynağı mongoDB olacak şekilde ayarlanabilir ancak bu durumda search instance için mongo search provider implementasyonu gerekecektir.
Logger Instance Topolojisi#
Data Storage#
PostgreSQL (Zorunlu)#
Asenkron event loglar için verilerin saklandığı ilişkisel veri tabanı uygulamasıdır.
KAFKA (Zorunlu)#
Senkron event logların yönetildiği even sourcing uygulamasıdır.
ElasticSearch (Zorunlu)#
Event logların tamamının kayıt altında tutulduğu veri kaynağı uygulamasıdır.
Instance Bilgileri#
Producer (Zorunlu)#
Event logların produce edilmesine hizmet sağlayan uçları barındıran uygulamadır.
Processor (Zorunlu)#
Asenkron event logların RDMS üzerinden okunup event produce işlemi yapmasından sorumlu uygulamadır.
Search#
Elasticsearch üzerinde toplanan event logların sorgulanması hizmetlerini sağlayan uygulamadır.
External Uygulama Bağımlılıkları#
FluentD (Zorunlu)#
Kafka üzerinden event dinleyerek ilgili event'i elasticsearch üzerine işleyen third party uygulamadır.
Kurulum#
Kullanmak istediğiniz modüle göre farklı bağımlılıklar ve ortam gereksinimleri doğabilir. İlgili kurulum sayfaları şunlardır:
Tüm ortamların ayağa kaldırılması için gerekli uygulamalar şu şekildedir:
-
Kafka
-
Elastic Search
-
Fluentd
- Fluentd docker-compose bilgisine buradan ulaşabilirsiniz.
Uygulamanın sağladığı sınıflara ait javadoc'a buradan ulaşabilirsiniz.