1. Ana Sayfa
  2. Microsoft Azure
  3. Azure Web App Logging – Logging to Azure Storage – Bölüm 3

Azure Web App Logging – Logging to Azure Storage – Bölüm 3

Azure Web App Logging – Logging to Azure Storage – Bölüm 3

Bir önceki bölümde Azure üzerindeki web app’e ait uygulama loglarını uygulamanın bulunduğu dizindeki bir lokasyona almıştık. Bu bölümde ise Azure üzerindeki bir blob storage üzerine loglama’nın nasıl yapılacağını anlatacağım. Ayrıca Uygulamanın üzerinde çalıştığı server loglarını da yine blob storage üzerine nasıl alacağımızdan bahsedeceğim.

Bir önceki bölümde aşağıdaki şekildeki ilk seçeneği seçerek loglamayı file system üzerine yapmıştık. Şimdi de ikinci seçenek olan blob üzerine loglamayı etkinleştirelim. Yine hatırlatmak istiyorum, bu işlem ile uygulama loglarını Azure üzerindeki blob storage’a alacağız.

Şekilde işaretlediğim numaraları madde madde anlatacak olursak;

  1. Blob’a loglama işlemini etkinleştiriyoruz.
  2. Blob üzerine yapılacak logların seviyesini belirtiyoruz.
  3. Loglama yapılacak storage account’u seçiyoruz.

Resim – 1

Loglama işleminin olması için blob storage içerisinde loglamanın yapılacağı container’ın olması gerekir. Eğer yoksa artı işaretine basılarak uygun container oluşturulmalıdır. Logların herkes tarafından ulaşılabilir olmasını engellemek için container’ı private olarak oluşturabilirsiniz.

Resim – 2

Uygun storage oluşturulup yada seçilip ardından blob storage içerisindeki loglama yapılacak container seçildikten sonra storage adımını tamamlayabiliriz. Bundan bir sonraki adım ise logların blob storage üzerinde tutulacağı süreyi belirlediğimiz adım. Ben buraya örnek olarak 7 yazdım. Bu logların storage üzerinde 7 gün saklanacağı anlamına gelir.

Resim – 3

Bu işlemlerin ardından konfigürasyonu kaydettikten sonra yine web uygulamanızı browse edip dynamicdata isimli sayfaya istek göndererek loglama işlemini tetikleyebiliriz. Bu işlemlerin ardından blob storage üzerindeki container’ı kontrol ettiğinizde web uygulamasının isminde bir klasörün oluştuğunu görebilirsiniz. Bu klasörün içerisinde tarih bazlı dizin oluşturarak loglama işlemi yapılacaktır.

Resim – 4

Tarih bazlı dizini takip ettiğinizde log dosyası aşağıdaki şekilde görünecektir. Şu anda azure üzerinde bu log dosyasını direk açma imkanınız bulunmuyor. Bu yüzden logu görüntülemek için download etmeniz gerekiyor.

Logu download butonuna tıklayarak kolaylıkla indirebiliriz.

Resim – 5

Logu indirip açtığımızda uygulamamıza eklediğimiz custom log’lar aşağıdaki gibi görüntülenecektir.

Resim – 6

Bazen uygulama geliştiricileri uygulamalarının çalıştığı web server’a ait loglara da erişmek isteyebilir. Bunlar genelde IIS loglarıdır. Azure üzerinde bu loglara erişmek için “Web Server Logging” seçeneğinin etkinleştirilmesi gerekir. Bu log tipide tıpkı uygulama loglarında olduğu gibi filesystem dizinine yada Azure üzerindeki bir blob storage üzerine alınabilir. Alınan bu log’lar uygulamaların çalıştığı web server ile alakalı ayrıntılı bilgi sağlayacaktır. Oluşan log W3C extended log file formatnda http işlemlerinin tamamını içerir.

Şimdi bu loglarında nasıl konfigüre edileceği ve nerelerde hangi isimlerde log oluşturacağına hızlı şekilde göz atalım. Aşağıdaki şekilde görüntüğü gibi Webserver logları için storage seçeneğini seçip ilgili storage accountu seçmemiz gerekir.

Resim – 7

İlgili storage account seçildiğinde loglama için bir container’a ihtiyaç duyulur. Bu sebeple web server logları için ayrı bir blob container oluşturarak loglama için seçelim.

Resim – 8

Bu işlemin ardından logların tutulacağı zamanı konfigüre ettiğimiz retention period ayarına da gerekli gün değerini atadıktan sonra web server’ımıza ait loglar blob storage üzerine yazılmaya başlayacaktır. Bir süre sonra loglama yapılacak dizin kontrol edildiğinde IIS’e ait logların aşağıdaki gibi storage üzerinde oluştuğu görünecektir.

Resim – 9

Tıpkı uygulama loglarında olduğu gibi web server loglarını filesystem üzerindeki bir dizine de alabilirsiniz. Bu işlem için aşağıdaki şekilde olduğu gibi “FileSystem” seçeneğini seçmeniz yeterli olacaktır. Bu seçeneği seçtiğimizde storage seçeneğinden farklı olarak “Quota” isimli bir textbox görünecektir. Bu logların büyüyüp dizinde çok fazla yer işgal etmesini önlemek içindir. İstediğiniz değeri MB cinsinden atayabilirsiniz. Diğer ayar zaten önceki bölümlerde bahsettiğim retention period ayarıdır.

Resim – 10

Web server loglamasının filesystem dizinine yapılması için gerekli konfigürasyonlar yapıldıktan sonra dizini kontrol ettiğinizde http isimli bir klasör görebilirsiniz. Bu klasör windows server ile alakalı logların yapılaacğı klasördür.

Resim – 11

Bu klasör içerisine girdiğinizde yeni oluşan web server logu karşınıza gelecektir.

Resim – 12

Logu görüntülediğinizde tıpkı Azure üzerindeki storage üzerine yapılan logun aynısının file server üzerine de yapıldığını görebilirsiniz.

Resim – 13

Diagnostic bölümünde web server logging’e ait iki konfigürasyon birimi daha vardır. Bunlar;

  1. Detailed Error Message: Hatalar sonucu oluşan http status code’ları için(status kodu 400 ve yukarı olanlar için) ayrıntılı bilgi sağlar. Böylece server’ın hata ürettiği durumlarda soruna ilişkin ayrıntılı bilgi elde edilebilir.
  2. Failed Request Training: Hata alan request’ler için ayrıntılı bilgi sağlar. Gelen isteği process eden tüm IIS componentlerine ait bilgiyi sağlar. Böylece zaman alan işlemler kolaylıkla belirlenebilir. Site performansını arttırma ve bazı http hatalarını izole etme gibi işlemlerde oldukça faydalıdır.

Resim -14

Bu bölümde blob storage üzerine uygulama loglarının nasıl alınacağını ve web server’a ait logların kaç farklı şekilde nasıl alındığını özetlemiş olduk.

Bir sonraki bölümde görüşmek üzere.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs

https://app.pluralsight.com/library/courses/microsoft-azure-app-services-managing

TAGs: Azure Logging, , Azure Web App Logging, Azure app service logging, Azure web app application logging, , Azure for Architects, , , , Azure app services, , , , , , , Azure web app blob storage logging

Yorum Yap

Yazar Hakkında

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yorum Yap