Docker loglarını doğru kullanma yöntemleri
(insight.infograb.net)- Docker ile uygulama dağıtıp hizmet işleten Linux sunucularında bazen disk alanı yetersizliği mesajı görülebilir
- Uygulamanın gerçekten oluşturup depoladığı veri ve log hacmi büyük olmasa bile sistemin toplam depolama alanı tamamen dolabilir
- Docker kullanırken depolama alanı yetersizliğinin nedenlerinden biri
Docker container loglarıdır
- Docker logging driver'ı ve log konumu
- Logging driver: Docker, çalışan container'lar ve servislerden bilgi almayı kolaylaştıran bir loglama mekanizması içerir; buna logging driver denir
docker logskomutu: Çalışan container'ın kaydettiği bilgileri gösterirdocker service logskomutu: Servise katılan tüm container'ların kaydettiği bilgileri gösterir- Docker, tüm container loglarının standart çıktısını (stdout) ve standart hatasını (stderr) yakalayıp JSON biçiminde dosyaya yazan
json-filelogging driver'ını kullanır docker runveyadocker-compose upkomutuyla Docker container'ı çalıştırıldığında/var/lib/docker/containers/[Container-ID]/[Container-ID]-json.logdosyası oluşturulur ve loglar buraya yazılırjson-filelogging driver'ı log rotasyonu yapmaz- Bu logging driver ile kaydedilen log dosyaları, çok fazla çıktı üreten container'larda ciddi miktarda disk alanı kullanabilir ve bunun sonucunda disk alanı tükenebilir
- Docker container log boyutunu küçültme
docker rmveyadocker-compose downkomutu çalıştırıldığında Docker container'ı silinir ve/var/lib/docker/containersaltındaki ilgili[Container-ID]dizini de kaldırılır- Böylece çok fazla disk alanı kaplayan
[Container-ID]-json.logdosyası da birlikte silinir ve sistem genelinde disk alanı açılır
- Böylece çok fazla disk alanı kaplayan
truncate -s 0 <json-log-file>komutunu çalıştırarak log dosyasının boyutu 0 yapılabilir
- Log rotasyonu ayarlama
- Log dosyasının en büyük boyutu (
max-size) ve en fazla dosya sayısı (max-file) belirtilerek log rotasyonu etkinleştirilebilir - Dosya boyutu belirlenen üst sınıra ulaştığında yeni bir dosyaya geçilir; mevcut dosyalar
...-json.log.1,...-json.log.2şeklinde en fazla belirtilen sayıya kadar oluşturulur - Bu sayı aşıldığında en eski dosya silinir; böylece Docker container log dosyalarının sonsuza kadar büyümesi önlenir
- Log dosyasının en büyük boyutu (
Henüz yorum yok.