# Cloudwatch

* AWS'in her servislerinin her metriğini takip etmeyi sağlar.
* Dimension sayısı (Farklı veri tipleri) 30'a kadar desteklenir.
* Her veri Timestamp (zaman verisi) tutar.
* Veriler ışığında bir dashboard yaratılabilir.
* Custom Metriclerin yaratılmasına olanak tanır.

Alt Servisleri:

## Cloudwatch Metric Streams

Neredeyse gerçek zamanlı (NRT) takip sağlayan cloudwatch versiyonudur. Kinesis Firehouse veya Splunk gibi servislere bağlanıp kullanmak tavsiye edilir.

## Cloudwatch Logs

Servis kaynakların loglarını takip eder. Kaynaklar Şunlar olabilir:

* SDK, CloudWatch Logs Agent, CloudWatch Unified Agent
* Elastic Beanstalk: Uygulamadan log toplama
* ECS: Container’lardan log toplama
* AWS Lambda: Fonksiyon loglarından toplama
* VPC Flow Logs: VPC’ye özel loglar
* API Gateway
* CloudTrail (filtreye göre)
* Route53: DNS sorgularını loglama

***

* **Log groups**: Rastgele isim, genellikle bir uygulamayı temsil eder.
* **Log stream**: Uygulama içindeki instance’lar / log dosyaları / container’lar.
* Log saklama politikaları tanımlanabilir (asla silinmez, 1 gün – 10 yıl arası).
* **CloudWatch Logs** aşağıdaki yerlere log gönderebilir:
  * Amazon S3 (dışa aktarma)
  * Kinesis Data Streams
  * Kinesis Data Firehose
  * AWS Lambda
  * OpenSearch
* Log’lar varsayılan olarak şifrelenir.
* Kendi anahtarlarınızla KMS tabanlı şifreleme kurulabilir.

### Cloudwatch Logs Insights

* CloudWatch Logs’ta depolanan log verilerini arar ve analiz eder.
* Örnek: Log içinde belirli bir IP’yi bulmak, loglarda “ERROR” ifadesinin kaç kez geçtiğini saymak.
* Amaç odaklı bir sorgu dili sağlar:
  * AWS servislerinden ve JSON log olaylarından alanları otomatik keşfeder.
  * İstenen olay alanlarını getirir, koşullara göre filtreler, istatistikleri toplar, olayları sıralar, olay sayısını sınırlar.
  * Sorgular kaydedilip CloudWatch Dashboard’lara eklenebilir.
* Farklı AWS hesaplarındaki birden fazla Log Group üzerinde sorgu çalıştırabilir.
* Gerçek zamanlı değil, geçmiş veriler üzerinde çalışan bir sorgu motorudur.

### Cloudwatch Logs Subscription

* CloudWatch Logs’tan gerçek zamanlı log olaylarını alarak işleme ve analiz için kullanır.
* Kinesis Data Streams, Kinesis Data Firehose veya Lambda’ya gönderebilir.
* **Subscription Filter**: Hangi logların hedefinize gönderileceğini filtreler.
* Splunk benzeri bir kullanaımı vardır.

<figure><img src="https://898869988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9GNfPnZHcJcPKLgWCT7h%2Fuploads%2FK63ADGljbFH7as4KaqHp%2Fimage.png?alt=media&#x26;token=48726526-4c52-4adb-9570-ecf72cd9a3bf" alt=""><figcaption></figcaption></figure>

### Cloudwatch Stratejileri

<figure><img src="https://898869988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9GNfPnZHcJcPKLgWCT7h%2Fuploads%2F1x8QJqVTuMxDpLbH7h4M%2Fimage.png?alt=media&#x26;token=65ed2fb6-ed3d-4117-8a8d-437bc80b3f83" alt=""><figcaption><p>Çoklu hesap ve çoklu bölge tercihinde kaynakların Aggregate edilmesi</p></figcaption></figure>

<figure><img src="https://898869988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9GNfPnZHcJcPKLgWCT7h%2Fuploads%2F2KkwHnAinLM6NDsBlBmr%2Fimage.png?alt=media&#x26;token=526bce90-b8fc-45b2-bc12-36ada1fc329d" alt=""><figcaption><p>Cross-Account için subscription</p></figcaption></figure>

### Cloudwatch Alarms

Cloudwatch ile alarm kurmanızı sağlayan servistir. Metrikler tanımlı sınırları geçmesi halinde tetiklenirler.

Bilinmesi gerekenler:

OK: Çalışıyor (HTTP 200)

INSUFFICIENT\_DATA: veri gelmiyor

State Alarm: Çok koşullu alarmdır. Bilgisayar bilimlerindeki AND ve OR yapıları ile kurulum sağlanır.

## Cloudwatch Container Insights

* Container’lardan metrikleri ve logları toplar, birleştirir ve özetler.
* Şu ortamlardaki container’lar için kullanılabilir:
  * Amazon Elastic Container Service (Amazon ECS)
  * Amazon Elastic Kubernetes Service (Amazon EKS)
  * EC2 üzerindeki Kubernetes platformları
  * Fargate (hem ECS hem EKS için)
* Amazon EKS ve Kubernetes’te, CloudWatch Insights container’ları keşfetmek için CloudWatch Agent’ın container’laştırılmış bir versiyonunu kullanır.

## Cloudwatch Lambda Insights

* AWS Lambda üzerinde çalışan serverless uygulamalar için izleme ve sorun giderme çözümüdür.
* CPU süresi, bellek, disk ve ağ dahil olmak üzere sistem düzeyindeki metrikleri toplar, birleştirir ve özetler.
* Cold start’lar ve Lambda worker kapanmaları gibi tanılama bilgilerini toplar, birleştirir ve özetler.
* Lambda Insights, bir Lambda Layer olarak sunulur.

## Cloudwatch Contributer Insights

* Log verilerini analiz eder ve katkı sağlayıcı verilerini gösteren zaman serileri oluşturur.
  * En çok katkı yapan ilk N kişi/host metriklerini görme
  * Toplam benzersiz katkı sağlayıcı sayısı ve kullanım miktarı
* En çok konuşanları (top talkers) bulmanıza ve sistem performansını etkileyen kişi/öğeleri anlamanıza yardımcı olur.
* Herhangi bir AWS log kaynağıyla (VPC, DNS vb.) çalışır.
* Örnek: Kötü host’ları bulma, en yoğun ağ kullanıcılarını belirleme, en çok hata üreten URL’leri bulma.
* Kuralları sıfırdan oluşturabilir veya AWS’in sağladığı örnek kuralları kullanabilirsiniz (CloudWatch Logs’dan yararlanır).
* CloudWatch, diğer AWS servislerinden gelen metrikleri analiz etmek için yerleşik kurallar da sağlar.

## Cloudwatch Application Insights

* İzlenen uygulamalarda olası sorunları gösteren ve mevcut sorunları izole etmeye yardımcı olan otomatik paneller sağlar.
* Uygulamalarınız yalnızca belirli teknolojilerle çalışan Amazon EC2 instance’larında çalışır (Java, .NET, Microsoft IIS Web Server, veritabanları vb.).
* Ayrıca Amazon EBS, RDS, ELB, ASG, Lambda, SQS, DynamoDB, S3 bucket, ECS, EKS, SNS, API Gateway gibi diğer AWS kaynaklarını da kullanabilirsiniz.
* **SageMaker** tarafından desteklenir.
* Uygulamanızın sağlığına dair görünürlüğü artırarak, sorun giderme ve onarma süresini azaltır.
* Tespitler ve uyarılar Amazon EventBridge ve SSM OpsCenter’a gönderilir.

## Cloudwatch Insights ve Operasyon Takibi

* **CloudWatch Container Insights**
  * ECS, EKS, Kubernetes on EC2, Fargate (Kubernetes için agent gerekir)
  * Metrikler ve loglar
* **CloudWatch Lambda Insights**
  * Serverless uygulamalar için ayrıntılı metrikler
* **CloudWatch Contributors Insights**
  * CloudWatch Logs üzerinden “Top-N” katkı sağlayıcıları bulma
* **CloudWatch Application Insights**
  * Uygulamanız ve ilgili AWS servisleri için sorun giderme amacıyla otomatik paneller oluşturma
