Günümüzde yazılım sistemleri çok fazla kullanıcı ve yük altında çalıştığı için, sistemlerin bu yükü taşıyabilmesi için her bileşeninin doğru ve zamanında çalışması kritik öneme sahiptir. Özellikle bulut servis sağlayıcılarında sunulan sistemler zamanında ve doğru şekilde çalışmadığında büyük maddi kayıplara yol açabilir. Bu yüzden loglama uygulamaları bu sistemlerde kritik bir öneme sahiptir.
AWS servis sağlayıcısının sunduğu Lambda servisi ile sunucusuz mimari ile geliştirilmiş sistemler için loglama uygulamasını AWS Cloudwatch Logs kullanarak gerçekleştirebiliriz. Loglama uygulaması ile kodumuzun doğru çalışıp çalışmadığını, beklenmeyen bir durum ile karşılaşıp karşılaşmadığını veya bir hata oluşup oluşmadığını takip edebiliriz. Oluşan hataların sebeplerini anlayıp, zamanında müdahale edebiliriz.
AWS Lambda Logger Kütüphanesi Nedir?
AWS Lambda Logger, Lambda fonksiyonlarınızda loglama yaparken AWS CloudWatch Log servisinden faydalanmanızı sağlayan bir Python kütüphanesidir. Bu sayede CloudWatch üzerinde loglarınızı kolayca oluşturabilirsiniz.
Loglama için AWS SDK’yı kullanmak yerine AWS Lambda Logger’ı kullanmanız daha mantıklıdır çünkü bu kütüphane, AWS SDK’ya göre daha az yazılım kodu ile daha fazla iş yapmanızı sağlar.
AWS Lambda Logger Kütüphanesi Kullanım Alanları
- Debugging: Hataları tespit edip düzeltmek için loglama
- Monitoring: Sistemin performansını izlemek
- Auditing: Sistemde gerçekleşen olayları kaydetmek
- Compliance: Yasal ve düzenleyici gereksinimlere uyum sağlamak
AWS Lambda Logger Kütüphanesi Kullanımı
AWS Lambda Logger’ı kullanmak için öncelikle bu kütüphaneyi projenize dahil etmeniz gerekmektedir. AWS Lambda Logger’ı, Python Package Index (PyPI) üzerinden indirebiliriz.
Kütüphaneyi İndirmek İçin:
pip install aws-lambda-logger
Kütüphaneyi projenize dahil ettikten sonra aşağıdaki gibi bir kullanım gerçekleştirebiliriz.
import logging
from aws_lambda_logger import Logger
# AWS Lambda Logger oluştur
logger = Logger()
# Log örnekleri
logger.info('Bilgilendirme mesajı')
logger.warning('Uyarı mesajı')
logger.error('Hata mesajı')
logger.debug('Debug mesajı')
logger.exception('Beklenmeyen hata')
CloudWatch üzerinde loglarınızı görmek için öncelikle CloudWatch servisine giriş yapmamız gerekmektedir. CloudWatch servisine giriş yaptıktan sonra Log groups menüsü altından uygulamanızın log grubunu bulup inceleyebiliriz. Eğer birden fazla fonksiyon kullanıyorsanız, her bir fonksiyonun ayrı log grubu olduğunu göreceksiniz.
Loglarınızın bulunduğu log grubunun altında Log streams sekmesinden her bir fonksiyonunuzun log kayıtlarını inceleyebilirsiniz.
AWS Lambda Logger Kütüphanesi Özellikleri
- Seviyelendirme: İstediğiniz log seviyesini (INFO, WARNING, ERROR vb.) seçip o seviyedeki log kayıtlarını oluşturma
- Bölgesel Yapılandırma: Her bir Lambda fonksiyonu için farklı log ayarları tanımlama
- Özelleştirilebilir Format: Log formatını özelleştirme
- Bölgesel Zaman Damgaları: Farklı zaman dilimlerinde zaman damgası ekleme
- Kapsamlı Hata Yakalama: Hataları detaylı bir şekilde yakalama ve loglama
- Kullanıcı Tanımlı Log Grubu Adı: Log grubu adını özelleştirme
- Kullanıcı Tanımlı Log Akışı Adı: Log akışı adını özelleştirme
- Kullanıcı Tanımlı Zaman Damgası Formatı: Zaman damgasının formatını özelleştirme
- JSON Formatında Loglama: Logları JSON formatında yazdırma
- Zaman Damgasız Loglama: İsteğe bağlı olarak zaman damgasız loglama
- Bölgesel Zaman Damgası Özelleştirmesi: Her bir fonksiyon için farklı zaman damgası ayarları tanımlama
AWS Lambda Logger Kütüphanesi İle Oluşturulacak Log Kayıtları
- Zaman Damgası: Log kaydının oluşturulduğu tarih ve saat bilgisi
- Sebep: Log kaydının neden oluşturulduğuna dair bilgi
- Kritiklik Derecesi: Log kaydının önem derecesi (INFO, WARNING, ERROR vb.)
- Fonksiyon Adı: Log kaydının ait olduğu Lambda fonksiyonunun adı
- Zaman Damgası Formatı: Zaman damgasının formatı
- Kullanıcı Tanımlı Bilgiler: Kullanıcının tanımladığı özel bilgiler (örneğin bir kimlik numarası)
AWS Lambda Logger Kütüphanesinin Faydaları
- Zaman ve Çaba Tasarrufu: Daha az kod ile daha fazla iş yapma
- Daha Fazla Kontrol ve Esneklik: Loglama işlemi üzerinde daha fazla kontrol ve esneklik sağlama
- Sistem Performansını İyileştirme: Hataları zamanında tespit edip düzeltme ile sistem performansını iyileştirme
- Kullanıcı Deneyimini İyileştirme: Hataları zamanında tespit edip düzeltme ile kullanıcı deneyimini iyileştirme
- Sistem Güvenilirliğini Artırma: Hataları zamanında tespit edip düzeltme ile sistem güvenilirliğini artırma
- Daha İyi İzleme ve Raporlama: Log kayıtları ile sistemin durumu hakkında daha fazla bilgi edinme ve raporlama yapabilme
AWS Lambda Logger kütüphanesinin avantajlarını kullanarak projelerinizde daha etkili ve verimli loglama yapabilir, sisteminizin güvenilirliğini artırabilirsiniz.