Azure App Service Linux’ta Startup Log Komutları
Azure App Service for Linux üzerinde çalışan bir uygulama başlatılamadığında, ilk ihtiyaç duyulan şey başlatma sürecinde tam olarak ne olduğunu görebilmektir. Konteyner başlatma, çalışma zamanı hazırlığı, startup komutunun çalıştırılması, uygulamanın kendi çıktısı ve warmup probe sonuçları gibi aşamaların hepsinin izlenebilmesi, sorun kaynağını doğru yerde aramayı çok kolaylaştırır. Azure ekibi bu ihtiyacı karşılamak amacıyla Azure CLI tarafına yeni komutlar ekledi: artık başlatma (startup) loglarını doğrudan komut satırından listeleyebilir ve içeriklerini görüntüleyebilirsiniz.
Mevcut startup loglarını listelemek
Bir uygulamaya ait başlatma loglarının hangi dosyalar halinde tutulduğunu görmek için aşağıdaki komut kullanılabilir:
az webapp log startup list \
--name <app-name> \
--resource-group <resource-group>
Komutun çıktısı; her başlatma denemesinin başarılı mı yoksa başarısız mı olduğunu, hangi instance üzerinde gerçekleştiğini ve log dosyasının boyutunu gösteriyor. Bu özet bilgi, özellikle farklı instance’lar üzerinde birden fazla başlatma denemesi olduğunda hangi log dosyasına bakılması gerektiğini hızlıca belirlemeye yarıyor.
Log içeriğini görüntülemek
En güncel başlatma logunun içeriğini görmek için şu komut yeterli:
az webapp log startup show \
--name <app-name> \
--resource-group <resource-group>
Belirli bir log dosyasını isimle görüntülemek isterseniz --log-file-name parametresi devreye giriyor:
az webapp log startup show \
--name <app-name> \
--resource-group <resource-group> \
--log-file-name <log-file-name>
Log içeriği yalnızca uygulamaya ait çıktılarla sınırlı değil; platform tarafındaki olayları da barındırıyor. Konteyner image’inin indirilmesi, startup script’inin üretilmesi, uygulamayı çalıştıran komutun tetiklenmesi ve warmup probe sonucunun ne olduğu gibi adımlar bu logda görülebiliyor. Başarılı bir başlatmada log, site startup probe’unun başarılı olduğunu ve sitenin sorunsuz şekilde ayağa kalktığını gösterecek şekilde ilerliyor.
Varsayılan olarak başarısız loglara öncelik
az webapp log startup show komutunu bir dosya adı belirtmeden çalıştırdığınızda komut, en yakın tarihli başarısız (failure) logları otomatik olarak tercih ediyor. Bu davranış, başlatma sorunlarını incelerken doğru dosyayı bulmak için harcanan zamanı azaltmayı amaçlıyor. Birden çok log dosyasını tek tek gözden geçirmek yerine tek komutla en anlamlı hata detaylarına ulaşabilirsiniz.
Örneğin worker process ayrılan süre içinde başlatılamadığında, log hem timeout ayrıntılarını hem de platformun başlatma iptali sırasında aldığı aksiyonları görünür kılıyor. Bu, “acaba neden başlamadı” sorusunun yanıtını doğrudan logun içinde vermeye yardımcı oluyor.
Sık karşılaşılan başlatma hataları için daha iyi ipuçları
Yeni komut, çalışma zamanı (runtime) başlatma hataları ve konteyner başlatma timeout’ları gibi yaygın senaryolarda daha anlaşılır bilgiler sunacak şekilde iyileştirildi. Örneğin uygulama başlıyor ancak beklenen porttan yanıt vermiyorsa, startup logunda uygulamanın çıktısı şu şekilde görünebilir:
listening on 3000 (wrong port)
Bu sırada platform, uygulamanın farklı bir porttan yanıt vermesini bekliyor olabilir. Bu tür durumlarda warmup probe’un neden başarısız olduğunu anlamak oldukça kolaylaşıyor; çünkü hem uygulamanın kendi ifadesi hem de platformun beklentisi aynı log içinde yan yana görülebiliyor.
Deployment slot desteği
Yeni startup log komutları deployment slot’ları da destekliyor. Bir slot için başlatma loglarını listelemek üzere:
az webapp log startup list \
--name <app-name> \
--resource-group <resource-group> \
--slot <slot-name>
Slot’a ait başlatma logunun içeriğini görmek için ise:
az webapp log startup show \
--name <app-name> \
--resource-group <resource-group> \
--slot <slot-name>
Bu yaklaşım, trafiği production’a swap etmeden önce slot’a özgü başlatma sorunlarını ayıklamak için oldukça kullanışlı. Değişikliklerin production trafiğini etkilemesinden önce slot ortamında başlatma davranışını doğrulayabilmek, güvenli yayınlama pratiklerini destekliyor.
Özet
Yeni az webapp log startup komutları, Azure App Service for Linux uygulamalarının başlatma davranışını doğrudan Azure CLI üzerinden incelemeyi belirgin biçimde kolaylaştırıyor. Şu anda önizleme (preview) aşamasında olan bu komutlar; loglara ulaşma, başarısız girişimleri öne çıkarma, port uyumsuzluğu gibi tipik sorunlarda daha iyi ipuçları verme ve slot senaryolarını destekleme gibi noktalarla, bir sonraki başlatma sorununda vakit kaybetmeden hızlı bir tanılama yolu sunuyor.







Yorum gönder