Ana içeriğe geç

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.

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:

  1. Kafka

    • Kafka Cluster docker-compose bilgisine buradan ulaşabilirsiniz.
    • Kafka single node docker-compose bilgisine buradan ulaşabilirsiniz.
  2. Elastic Search

    • Elastic Search Cluster docker-compose bilgisine buradan ulaşabilirsiniz.
    • Elastic Search single node docker-compose bilgisine buradan ulaşabilirsiniz.
  3. Fluentd

    • Fluentd docker-compose bilgisine buradan ulaşabilirsiniz.

Uygulamanın sağladığı sınıflara ait javadoc'a buradan ulaşabilirsiniz.