AWS CloudWatch Genel Bakış
Bu konuyu bloğumda detaylıca ele almıştım burada sadece kısaca üzerinden geçeceğim. Detaylı okumak için AWS CloudWatch Logs İnceleme & Node.JS Entegrasyon
AMAZON CLOUDWATCH NEDİR?
AWS ortamımızda oluşturulmuş verileri toplamak, depolamak, izlemek ve analiz etmek için kullanılmaktadır. AWS kaynaklarımızın durumunu, performansını izleyip bunları yönetmemizi sağlar.
CLOUDWATCH LOGS
AWS CloudWatch hizmetinin bir parçasıdır. AWS kaynaklarımızın oluşturduğu verileri saklamak ve yönetmek için kullanılır. Bu verileri gerçek zamanlı olarak izleyebilir, sorgulayabilir, analiz edebiliriz. Özel metrikler oluşturabilir, otomatik uyarılar alabiliriz. Yani kısaca uygulamalarımız, sistemlerimiz ve hizmetlerimiz tarafından üretilen logları izler, depolar ve yönetiriz.

Cloudwatch log groupslarına gittiğim zaman oluşturduğu grupları görebiliyorum. Oluşturduğumuz tüm lambda fonksiyonları için birer grup tanımlanmış.

Burada herhangi birine tıklayıp fonksiyonun tüm günlüklerini görebiliriz. Streamlere tıkladığımızda onlara ait log eventleri görebiliriz.

AWS Lambda fonksiyonları otomatik olarak CloudWatch ile entegredir.
Her Lambda fonksiyonu AWS üzerinde oluşturulduğunda, AWS otomatik olarak şu işlemleri yapar:
Lambda için bir Log Group oluşturur.
Her çalışmada bir Log Stream oluşturur. Bu Log Stream içinde o çağrının tüm logları tutulur.
Loglar şu sırayla görünür:
-
START
-
console.log() çıktıları
-
console.error() çıktıları
-
END
-
REPORT (Execution time, memory usage)
Lambda CloudWatch'a nasıl bağlanıyor?
Lambda, çalışabilmek için AWS IAM tarafından şu policy’yi otomatik alır: AWSLambdaBasicExecutionRole
Bu policydeki kurallar:
logs:CreateLogGroup
logs:CreateLogStream
logs:PutLogEvents


Bu şekilde en son oluşan log grubu – log stream’i – log eventlarına bakarak error logumu gördüm.