Sobes.tech
Junior

Herhangi bir servisin günlüklerini nasıl ve nerede görebilirim?

sobes.tech yapay zeka

AI'dan gelen yanıt

Servis günlükleri, türüne ve dağıtım yöntemine bağlı olarak birkaç yerde görüntülenebilir.

Günlükleri görüntülemenin temel yerleri:

  • Yerel dosyalar:

    • Sunucuda doğrudan çalışan hizmetler için, günlükler genellikle /var/log/ (Linux) gibi dizinlerde veya uygulamanın özel dizinlerinde kaydedilir.
    • cat, tail, less, grep gibi komutlar kullanılır.
    # Günlük dosyasının son satırlarını görüntüle
    tail -f /var/log/myapp/service.log
    
    # Günlükteki hataları ara
    grep "ERROR" /var/log/myapp/service.log
    
  • Sistem günlüğü (syslog/journald):

    • Uygulamalar, günlükleri işletim sisteminin sistem günlüğüne gönderebilir.
    • Linux'ta journald için journalctl komutu kullanılır.
    # Belirli bir hizmetin günlüklerini görüntüle
    journalctl -u my-service.service
    
    # Belirli bir tarihten itibaren günlükleri görüntüle
    journalctl --since "2023-01-01 10:00:00"
    
  • Standart akışlar (stdout/stderr):

    • Birçok modern uygulama, özellikle konteynerleştirilmiş ortamlarda, günlükleri standart çıktı ve hata akışlarına yazdırır.
    • Bu akışlar daha sonra konteyner yönetim veya günlükleme sistemleri tarafından toplanabilir.
  • Konteyner yönetim sistemleri (Docker, Kubernetes):

    • Docker, konteynerlerin standart akışlarından günlükleri toplar ve docker logs komutlarıyla erişim sağlar.
    • Kubernetes, farklı günlük toplama sistemleriyle (örneğin, Fluentd, Logstash) entegre olur ve pod'lardan günlükleri merkezi olarak toplar ve depolamaya gönderir.
    # Docker konteyner günlüklerini görüntüle
    docker logs <container_id_or_name>
    
    # Kubernetes pod günlüklerini görüntüle
    kubectl logs <pod_name> -n <namespace>
    
  • Merkezi günlükleme sistemleri:

    • Olgun altyapılarda, çeşitli kaynaklardan günlükleri toplamak, birleştirmek, analiz etmek ve görselleştirmek için özel platformlar kullanılır.
    • Örnekler: ELK Stack (Elasticsearch, Logstash, Kibana), Splunk, Grafana Loki, Datadog, Sumo Logic.
    • Günlüklere erişim, bu sistemlerin web arayüzü veya API üzerinden sağlanır.
  • Bulut platformları:

    • Bulut sağlayıcıları, günlükleri toplama ve analiz etme için kendi hizmetlerini sunar.
    • Örnekler: AWS CloudWatch Logs, Google Cloud Logging, Azure Monitor Logs.
    • Günlükler, bulut yönetim konsolu veya API aracılığıyla erişilebilir.

Görüntüleme yöntemi seçimi, uygulamanın mimarisi, kullanılan altyapı ve günlükleme ayarlarına bağlıdır. Merkezi günlükleme sistemleri, karmaşık dağıtık sistemler için tercih edilir çünkü tek erişim noktası sağlar ve güçlü analiz yetenekleri sunar.