CodeBlanks Logo Icon CodeBlanks

Fluentd

Fluentd ile günlük toplamayı öğrenirsin.

Fluentd ve Fluent Bit

Fluentd ve hafif kardeşi Fluent Bit, log'ları okuyan (input), işleyen (filter/parser) ve hedeflere gönderen (output) toplayıcılardır. Kubernetes'te node başına Fluent Bit yaygındır: az bellek kullanır ve kubernetes süzgeciyle her satıra pod adı, namespace, etiketler ekler:

[INPUT]
    Name   tail
    Path   /var/log/containers/*.log
    Tag    kube.*
[FILTER]
    Name   kubernetes
    Match  kube.*
    Merge_Log On
[OUTPUT]
    Name   es
    Match  *
    Host   elasticsearch.loglama.svc
    Port   9200

Helm ile kurulum

Fluent Bit'in resmi Helm chart'ı DaemonSet'i, RBAC izinlerini ve yapılandırmayı birlikte kurar. Çıkış hedefi values ile değiştirilir:

helm repo add fluent https://fluent.github.io/helm-charts
helm install fluent-bit fluent/fluent-bit -n loglama --create-namespace
kubectl get ds -n loglama
kubectl logs -n loglama ds/fluent-bit --tail=5

Uygulama Fluent Bit'i kur

Üç komut yaz: fluent deposunu https://fluent.github.io/helm-charts adresiyle ekle; fluent/fluent-bit chart'ını fluent-bit adıyla loglama namespace'ine (yoksa oluşturarak) kur; loglama'daki DaemonSet'leri listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
helm repo add fluent https://fluent.github.io/helm-charts
helm install fluent-bit fluent/fluent-bit -n loglama --create-namespace
kubectl get ds -n loglama

Beklenen çıktı

"fluent" has been added to your repositories
NAME: fluent-bit
STATUS: deployed
NAME         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE
fluent-bit   3         3         3       3            3

Soru ve cevaplar

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

1 kubernetes süzgecinin görevi nedir?

  • Pod'ları yeniden başlatmak
  • Log'ları şifrelemek
  • Log satırlarına pod, namespace ve etiket bilgisini eklemek Doğru cevap
  • Log'ları silmek

Açıklama: Bu bilgiyi API sunucusundan sorgular; bu yüzden pod okuma RBAC izni gerekir.

2 Dosyaların sonunu okuyan girdi eklentisini yaz.

Soru
[INPUT]
    Name   ____
    Path   /var/log/containers/*.log
Cevap
[INPUT]
    Name   tail
    Path   /var/log/containers/*.log

Açıklama: tail dosyaya eklenen yeni satırları izler.

3 Bölümleri eşleştir.

Kavram Anlamı
[INPUT] Okuma
[FILTER] İşleme
[OUTPUT] Gönderme
Match Hangi etiketler

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