CodeBlanks Logo Icon CodeBlanks

Özet - Logging

Fluentd, Elasticsearch ve Kibana'yı birleştirerek bir logging akışı yazarsın.

Özet: logging

Bu grupta:

  • Merkezi loglama: toplayıcı (DaemonSet) → depo ve arama → arayüz; silinen pod'ların log'ları da korunur.
  • Uygulamalar stdout'a, tercihen JSON ve istek kimliğiyle yazar.
  • Fluent Bit/Fluentd: [INPUT] tail, [FILTER] kubernetes, [OUTPUT] es.
  • Elasticsearch günlük indekslerde saklar (ILM ile temizlik); Loki daha ucuz bir etiket tabanlı alternatiftir.
  • Kibana data view ve KQL ile arama; toplayıcı hostPath, RBAC ve toleration ister.
node log -> Fluent Bit -> Elasticsearch -> Kibana
         -> Promtail   -> Loki          -> Grafana

Uygulama Toplayıcının izni

Bir ClusterRole YAML'ı yaz: rbac.authorization.k8s.io/v1; adı fluent-bit; tek kural: apiGroups: [""], resources: ["pods", "namespaces"], verbs: ["get", "list", "watch"].

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: fluent-bit
rules:
  - apiGroups: [""]
    resources: ["pods", "namespaces"]
    verbs: ["get", "list", "watch"]

Beklenen çıktı

clusterrole.rbac.authorization.k8s.io/fluent-bit created

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir uygulama log'larını container içindeki /app/log.txt dosyasına yazarsa merkezi loglama ne görür?

  • Yalnızca hataları
  • Dosya adını
  • Hiçbir şey; toplayıcı yalnızca stdout/stderr'den gelen dosyaları okur Doğru cevap
  • Tüm satırları

Açıklama: Çözüm stdout'a yazmak ya da dosyayı okuyan bir sidecar eklemektir.

2 Log'lara Kubernetes meta verisini ekleyen süzgeci yaz.

Soru
[FILTER]
    Name   ____
    Match  kube.*
Cevap
[FILTER]
    Name   kubernetes
    Match  kube.*

Açıklama: kubernetes süzgeci pod/namespace/etiket ekler.

3 Eşleştir.

Kavram Anlamı
Fluent Bit Topla
Elasticsearch Sakla
Kibana Ara
Loki Etiket indeksi

İleri seviye bölümündeki tüm dersler