Bulut Hizmeti, Sanal Makine veya tanılama Service Fabric Uygulama Hizmeti'ne Analizler

Bulut hizmetleri, Sanal Makineler, Sanal Makine Ölçek Kümeleri Service Fabric veri toplamak için Azure Tanılama uzantısını kullanır. Azure tanılama verileri Azure'a Depolama gönderir. Ancak, 1.5 veya sonraki bir uzantıyı kullanarak verilerin bir alt kümesini veya Azure Tanılama konumlara da kanal oluşturabilirsiniz.

Bu makalede, uygulama uzantısından Application Azure Tanılama veri Analizler.

Tanılama yapılandırması açıklandı

Azure tanılama uzantısı 1.5, tanılama verilerini gönderebilirsiniz ek konumlar olan havuzlar sunar.

Application Analizler için havuz Analizler:

<SinksConfig>
    <Sink name="ApplicationInsights">
      <ApplicationInsights>{Insert InstrumentationKey}</ApplicationInsights>
      <Channels>
        <Channel logLevel="Error" name="MyTopDiagData"  />
        <Channel logLevel="Verbose" name="MyLogData"  />
      </Channels>
    </Sink>
</SinksConfig>
"SinksConfig": {
    "Sink": [
        {
            "name": "ApplicationInsights",
            "ApplicationInsights": "{Insert InstrumentationKey}",
            "Channels": {
                "Channel": [
                    {
                        "logLevel": "Error",
                        "name": "MyTopDiagData"
                    },
                    {
                        "logLevel": "Error",
                        "name": "MyLogData"
                    }
                ]
            }
        }
    ]
}
  • Havuz adı özniteliği, havuzu benzersiz olarak tanımlayan bir dize değeridir.

  • ApplicationInsights öğesi, Azure tanılama verileri gönderildiği Application Insights kaynağının izleme anahtarını belirtir.

    • Mevcut bir Application Analizler kaynağınız yoksa, kaynak oluşturma ve ölçüm Analizler hakkında daha fazla bilgi için bkz. Yeni bir Application Analizler kaynağı oluşturma.
    • Azure SDK 2.8 ve sonraki bir sürümüyle bir Bulut Hizmeti geliştiriyorsanız, bu ölçüm anahtarı otomatik olarak doldurulur. Değer, Bulut Hizmeti APPINSIGHTS_INSTRUMENTATIONKEY paketlerken hizmet yapılandırma ayarını temel alan bir değerdir. Bkz. Application Analizler'i Cloud Services.
  • Kanallar öğesi bir veya daha fazla Kanal öğesi içerir.

    • Name özniteliği benzersiz olarak bu kanala başvurur.
    • loglevel özniteliği, kanalın izin veren günlük düzeyini belirtmenize olanak sağlar. En fazla veya en az bilgiye göre kullanılabilir günlük düzeyleri:
      • Ayrıntılı
      • Bilgi
      • Uyarı
      • Hata
      • Kritik

Kanal bir filtre gibi davranır ve hedef havuza göndermek için belirli günlük düzeylerini seçmenize olanak sağlar. Örneğin, ayrıntılı günlükleri toplayıp depolama alanına gönderebilir, ancak yalnızca Hataları havuza gönderebilirsiniz.

Aşağıdaki grafikte bu ilişki gösterir.

Tanılama Genel Yapılandırması

Aşağıdaki grafikte yapılandırma değerleri ve nasıl çalıştıkları özetlenmiştir. Yapılandırmaya hiyerarşinin farklı düzeylerinde birden çok havuz dahil edersiniz. En üst düzeyde havuz genel bir ayar gibi davranır ve tek tek öğede belirtilen havuz, bu genel ayar için geçersiz kılma gibi davranır.

Uygulama Havuzu ile Tanılama Havuz Analizler

Tam havuz yapılandırma örneği

Genel yapılandırma dosyasının tam bir örneği:

  1. tüm hataları Application Analizler (DiagnosticMonitorConfiguration düğümünde belirtilir) gönderir
  2. ayrıca Uygulama Günlükleri için ayrıntılı düzey günlükleri de gönderir (Günlükler düğümünde belirtilir).
<WadCfg>
  <DiagnosticMonitorConfiguration overallQuotaInMB="4096"
       sinks="ApplicationInsights.MyTopDiagData"> <!-- All info below sent to this channel -->
    <DiagnosticInfrastructureLogs />
    <PerformanceCounters>
      <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\Memory\Available MBytes" sampleRate="PT3M" />
    </PerformanceCounters>
    <WindowsEventLog scheduledTransferPeriod="PT1M">
      <DataSource name="Application!*" />
    </WindowsEventLog>
    <Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Verbose"
            sinks="ApplicationInsights.MyLogData"/> <!-- This specific info sent to this channel -->
  </DiagnosticMonitorConfiguration>

<SinksConfig>
    <Sink name="ApplicationInsights">
      <ApplicationInsights>{Insert InstrumentationKey}</ApplicationInsights>
      <Channels>
        <Channel logLevel="Error" name="MyTopDiagData"  />
        <Channel logLevel="Verbose" name="MyLogData"  />
      </Channels>
    </Sink>
  </SinksConfig>
</WadCfg>
"WadCfg": {
    "DiagnosticMonitorConfiguration": {
        "overallQuotaInMB": 4096,
        "sinks": "ApplicationInsights.MyTopDiagData", "_comment": "All info below sent to this channel",
        "DiagnosticInfrastructureLogs": {
        },
        "PerformanceCounters": {
            "PerformanceCounterConfiguration": [
                {
                    "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                    "sampleRate": "PT3M"
                },
                {
                    "counterSpecifier": "\\Memory\\Available MBytes",
                    "sampleRate": "PT3M"
                }
            ]
        },
        "WindowsEventLog": {
            "scheduledTransferPeriod": "PT1M",
            "DataSource": [
                {
                    "name": "Application!*"
                }
            ]
        },
        "Logs": {
            "scheduledTransferPeriod": "PT1M",
            "scheduledTransferLogLevelFilter": "Verbose",
            "sinks": "ApplicationInsights.MyLogData", "_comment": "This specific info sent to this channel"
        }
    },
    "SinksConfig": {
        "Sink": [
            {
                "name": "ApplicationInsights",
                "ApplicationInsights": "{Insert InstrumentationKey}",
                "Channels": {
                    "Channel": [
                        {
                            "logLevel": "Error",
                            "name": "MyTopDiagData"
                        },
                        {
                            "logLevel": "Verbose",
                            "name": "MyLogData"
                        }
                    ]
                }
            }
        ]
    }
}

Önceki yapılandırmada aşağıdaki satırlar aşağıdaki anlamlara sahiptir:

Azure tanılama tarafından toplanan tüm verileri gönderme

<DiagnosticMonitorConfiguration overallQuotaInMB="4096" sinks="ApplicationInsights">
"DiagnosticMonitorConfiguration": {
    "overallQuotaInMB": 4096,
    "sinks": "ApplicationInsights",
}

Uygulama havuzuna yalnızca hata Analizler gönderme

<DiagnosticMonitorConfiguration overallQuotaInMB="4096" sinks="ApplicationInsights.MyTopDiagdata">
"DiagnosticMonitorConfiguration": {
    "overallQuotaInMB": 4096,
    "sinks": "ApplicationInsights.MyTopDiagData",
}

Ayrıntılı uygulama günlüklerini Application Analizler

<Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Verbose" sinks="ApplicationInsights.MyLogData"/>
"DiagnosticMonitorConfiguration": {
    "overallQuotaInMB": 4096,
    "sinks": "ApplicationInsights.MyLogData",
}

Sınırlamalar

  • Kanallar performans sayaçlarını değil yalnızca günlük türünü belirtir. Performans sayacı öğesi olan bir kanal belirtirsiniz, bu yoksayılır.
  • Bir kanalın günlük düzeyi, Azure tanılaması tarafından toplanan günlük düzeyini aşamaz. Örneğin, Günlükler öğesinde Uygulama Günlüğü hatalarını topamaz ve Application Insight havuzuna ayrıntılı günlükler göndermeyi deneyesiniz. scheduledTransferLogLevelFilter özniteliği her zaman havuza göndermeye çalışan günlüklerden eşit veya daha fazla günlük toplaması gerekir.
  • Azure tanılama uzantısı tarafından toplanan blob verilerini Application Analizler. Örneğin, Dizinler düğümü altında belirtilen her şey. Kilitlenme Bilgi Dökümleri için gerçek kilitlenme dökümü blob depolamaya gönderilir ve yalnızca kilitlenme bilgi dökümü oluşturma bildirimi Application Analizler.

Sonraki Adımlar

  • Application Analizler'da Azure tanılama bilgilerinizi görüntülemeyi öğrenin.
  • PowerShell kullanarak uygulamanıza Azure tanılama uzantısını etkinleştirin.
  • Uygulamanıza Visual Studio Azure tanılama uzantısını etkinleştirmek için Visual Studio'yi kullanma