Tanılama ayarlarıyla günlükleri ve ölçümleri analiz etme

Bu makale şu için geçerlidir: ✔️ Java ✔️ C #

Aşağıdaki hizmetlerden herhangi Azure Spring Cloud tanılama işlevlerini kullanarak günlükleri ve ölçümleri analiz edin:

  • Verilerin Azure Log Analytics'e yazıldığı Azure Log Analytics'i Depolama. Günlükleri Log Analytics'e aktarmada bir gecikme olur.
  • Denetim veya el ile inceleme için günlükleri bir depolama hesabına kaydedin. Saklama süresi (gün olarak) belirtabilirsiniz.
  • Üçüncü taraf bir hizmet veya özel analiz çözümü tarafından veri alımı için günlüklerin olay hub'ınıza akışının tutulması.

İzlemek istediğiniz günlük kategorisini ve ölçüm kategorisini seçin.

İpucu

Yalnızca günlüklerinizi akışla mı almak istiyorsunuz? Bu Azure CLI komutuna göz at!

Günlükler

Günlük Description
ApplicationConsole Tüm müşteri uygulamalarının konsol günlüğü.
SystemLogs Şu anda yalnızca Spring Cloud Config Server bu kategoriye günlükler kaydedmektedir.
Giriş Günlüğü Tüm müşteri uygulamalarının giriş günlükleri, yalnızca günlüklere erişin.

Ölçümler

Ölçümlerin tam listesi için bkz. Spring Cloud.

Çalışmaya başlamak için bu hizmetlerden birini etkinleştirarak verileri alabilirsiniz. Log Analytics'i yapılandırma hakkında bilgi edinmek için Kullanmaya başlayın'de Log Analytics ile Azure İzleyici.

Tanılama ayarlarını yapılandırma

  1. Aşağıdaki Azure portal örnek için Azure Spring Cloud gidin.

  2. Tanılama ayarları seçeneğini ve ardından Tanılama ayarı ekle'yi seçin.

  3. Ayar için bir ad girin ve ardından günlükleri göndermek istediğiniz yeri seçin. Aşağıdaki üç seçeneğin herhangi bir bileşimini seçebilirsiniz:

    • Depolama hesabına arşivleme
    • Olay hub’ına akış yapma
    • Log Analytics’e gönderme
  4. Hangi günlük kategorisini ve ölçüm kategorisini izlemek istediğinizi seçin ve saklama süresi (gün olarak) belirtin. Saklama süresi yalnızca depolama hesabı için geçerlidir.

  5. Kaydet’i seçin.

Not

  1. Günlüklerin veya ölçümlerin yayımlanması ile depolama hesabınıza, olay hub'ınıza veya Log Analytics'e görünmeleri arasında 15 dakikaya kadar bir boşluk olabilir.
  2. Örnek Azure Spring Cloud veya taşınırsa, işlem tanılama ayarları kaynaklarına basamaklanmaz. Tanılama ayarları kaynaklarının işlemden önce üst öğesi olan Azure Spring Cloud silinmelidir. Aksi takdirde, yeni Azure Spring Cloud örneği silinen örnekle aynı kaynak kimliğiyle sağlandısa veya Azure Spring Cloud örneği geri taşınırsa, önceki tanılama ayarları kaynakları bu örneği genişletmeye devam eder.

Günlükleri ve ölçümleri görüntüleme

Günlükleri ve ölçümleri aşağıdaki başlıklar altında açıklandığı gibi görüntülemenin çeşitli yöntemleri vardır.

Günlükler dikey penceresi kullanma

  1. Aşağıdaki Azure portal örnek için Azure Spring Cloud gidin.

  2. Günlük Araması bölmesini açmak için Günlükler'i seçin.

  3. Tablolar arama kutusunda

    • Günlükleri görüntülemek için aşağıdaki gibi basit bir sorgu girin:
    AppPlatformLogsforSpring
    | limit 50
    
    • Ölçümleri görüntülemek için aşağıdaki gibi basit bir sorgu girin:
    AzureMetrics
    | limit 50
    
  4. Arama sonuçlarını görüntülemek için Çalıştır'ı seçin.

Log Analytics kullanma

  1. Sol Azure portal Log Analytics'i seçin.

  2. Tanılama ayarlarınızı eklenirken seçtiğiniz Log Analytics çalışma alanını seçin.

  3. Günlük Araması bölmesini açmak için Günlükler'i seçin.

  4. Tablolar arama kutusunda,

    • günlükleri görüntülemek için aşağıdaki gibi basit bir sorgu girin:
    AppPlatformLogsforSpring
    | limit 50
    
    • ölçümleri görüntülemek için aşağıdaki gibi basit bir sorgu girin:
    AzureMetrics
    | limit 50
    
  5. Arama sonuçlarını görüntülemek için Çalıştır'ı seçin.

  6. Filtre koşulu ayarerek belirli bir uygulamanın veya örneğin günlüklerinde aramaabilirsiniz:

    AppPlatformLogsforSpring
    | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName"
    | limit 50
    

    Not

    == büyük/büyük/büyük harfe duyarlıdır, =~ ancak duyarlı değildir.

Log Analytics'te kullanılan sorgu dili hakkında daha fazla bilgi edinmek için bkz. Azure İzleyici sorgularını kullanma. Merkezi bir istemciden tüm Log Analytics günlüklerinizi sorgulamak için Azure Veri Gezgini.

Depolama hesabı kullanma

  1. Giriş Azure portal sol gezinti Depolama veya arama kutusunda hesap hesaplarından birini bulun.
  2. Tanılama ayarlarınızı eklenirken seçtiğiniz depolama hesabını seçin.
  3. Blob Kapsayıcısı bölmesini açmak için Bloblar'ı seçin.
  4. Uygulama günlüklerini gözden geçirmek için insights-logs-applicationconsole adlı kapsayıcıyı bulun.
  5. Uygulama ölçümlerini gözden geçirmek için insights-metrics-pt1m adlı bir kapsayıcıyı arayın.

Bir depolama hesabına tanılama bilgileri gönderme hakkında daha fazla bilgi için bkz. Azure'da tanılama verilerini depolama ve Depolama.

Olay hub'ını kullanma

  1. Giriş Azure portal sol gezinti Event Hubs veya arama kutusundan panoları bulun.

  2. Tanılama ayarlarınızı eklenirken seçtiğiniz olay hub'ını arama ve seçme.

  3. Olay Hub'ı Listesi bölmesini açmak için Event Hubs.

  4. Uygulama günlüklerini gözden geçirmek için insights-logs-applicationconsole adlı bir olay hub'ı bulun.

  5. Uygulama ölçümlerini gözden geçirmek için insights-metrics-pt1m adlı bir olay hub'ı arayabilirsiniz.

Bir olay hub' a tanılama bilgileri gönderme hakkında daha fazla bilgi için bkz. Azure Tanılama kullanarak etkin yolda veri akışı Event Hubs.

Günlükleri analiz etme

Azure Log Analytics, günlüklerinizi analiz için sorgulayabilirsiniz. Kusto kullanarak günlükleri sorgulamaya hızlı bir giriş için Log Analytics öğreticisini gözden geçirebilirsiniz.

Uygulama günlükleri, uygulamanın sistem durumu, performansı ve daha fazlası hakkında kritik bilgiler ve ayrıntılı günlükler sağlar. Sonraki bölümlerde, uygulamanın geçerli ve geçmiş durumlarını anlamanıza yardımcı olacak bazı basit sorgular yer almaktadır.

Uygulama günlüklerini Azure Spring Cloud

Uygulama günlüklerinin ilk olarak gösterilen Azure Spring Cloud göre sıralanmış uygulama günlüklerinin listesini gözden geçirmek için aşağıdaki sorguyu çalıştırın:

AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| sort by TimeGenerated desc

Hatalar veya özel durumlar içeren günlük girişlerini gösterme

Bir hata veya özel durumdan söz eden, irdesiz günlük girişlerini gözden geçirmek için aşağıdaki sorguyu çalıştırın:

AppPlatformLogsforSpring
| project TimeGenerated , ServiceName , AppName , InstanceName , Log
| where Log contains "error" or Log contains "exception"

Hataları bulmak için bu sorguyu kullanın veya belirli hata kodlarını veya özel durumları bulmak için sorgu terimlerini değiştirebilirsiniz.

Son bir saat içinde uygulamanıza bildirilen hata ve özel durum sayısını gösterme

Son bir saat içinde uygulamanıza kaydedilen hataların ve özel durumların sayısını görüntüleyen bir pasta grafiği oluşturmak için aşağıdaki sorguyu çalıştırın:

AppPlatformLogsforSpring
| where TimeGenerated > ago(1h)
| where Log contains "error" or Log contains "exception"
| summarize count_per_app = count() by AppName
| sort by count_per_app desc
| render piechart

Belirli bir konak içeren giriş günlüğü girişlerini gösterme

Belirli bir konak tarafından oluşturulan günlük girişlerini gözden geçirmek için aşağıdaki sorguyu çalıştırın:

AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and Host == "ingress-asc.test.azuremicroservices.io" 
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated

Bu ana bilgisayar giriş günlüklerinin Status yanıt , ve diğer özelliklerini bulmak için bu RequestTime sorguyu kullanın.

Belirli bir requestId için giriş günlüğü girdilerini gösterme

Belirli bir değere ait günlük girişlerini requestId gözden geçirmek için aşağıdaki <request_ID> sorguyu çalıştırın:

AppPlatformIngressLogs
| where TimeGenerated > ago(1h) and ReqId == "<request_ID>" 
| project TimeGenerated, RemoteIP, Host, Request, Status, BodyBytesSent, RequestTime, ReqId, RequestHeaders
| sort by TimeGenerated

Uygulama günlüklerini sorgulama hakkında daha fazla bilgi

Azure İzleyici Log Analytics kullanarak uygulama günlüklerini sorgulamak için kapsamlı destek sağlar. Bu hizmet hakkında daha fazla bilgi edinmek için bkz. Kullanmaya başlayın günlük sorgularını Azure İzleyici. Uygulama günlüklerinizi analiz etmek için sorgular oluşturmak hakkında daha fazla bilgi için bkz.Azure İzleyici.

Sık sorulan sorular (SSS)

Nasıl yaparım? satır java yığın izlemelerini tek satıra mı dönüştürebilirsiniz?

Çok satırlı yığın izlemelerinizi tek satıra dönüştürmek için geçici bir çözüm vardır. Yığın izleme iletilerini yeniden biçimlendirmek için Java günlük çıkışını değiştirebilirsiniz ve yeni satır karakterlerini bir belirteçle değiştirin. Java Logback kitaplığı kullanıyorsanız, aşağıdaki gibi ekleyerek yığın izleme iletilerini yeniden biçimlendirebilirsiniz %replace(%ex){'[\r\n]+', '\\n'}%nopex :

<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                level: %level, message: "%logger{36}: %msg", exceptions: "%replace(%ex){'[\r\n]+', '\\n'}%nopex"%n
            </pattern>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

Daha sonra belirteci aşağıdaki gibi Log Analytics yeni satır karakterleri ile değiştirebilirsiniz:

AppPlatformLogsforSpring
| extend Log = array_strcat(split(Log, '\\n'), '\n')

Diğer Java günlük kitaplıkları için de aynı stratejiyi kullanabilirsiniz.

Sonraki adımlar