Aracılığıyla paylaş


Dağıtılmış izleme ve telemetri bağıntısı nedir?

Dikkat

Yeni uygulamalar veya müşteriler için Azure Monitor OpenTelemetry Distro'yu Azure Monitor Application Insights'ı etkinleştirmek amacıyla öneriyoruz. Azure İzleyici OpenTelemetry Distro, Application Insights SDK'sı ile benzer bir işlev ve deneyim sunar. .NET, Node.js ve Python için geçiş kılavuzlarını kullanarak Application Insights SDK'sından geçiş yapmak mümkündür, ancak geriye dönük uyumluluk için birkaç özellik daha eklemeye çalışıyoruz.

Modern bulut ve mikro hizmet mimarileri, kullanılabilirliği ve aktarım hızını artırırken maliyetleri azaltan basit, bağımsız olarak dağıtılabilir hizmetler etkinleştirdi. Ancak, genel sistemlerin mantık yürütmesini ve hata ayıklamasını daha zor hale getirmiştir. Dağıtılmış izleme, bulut ve mikro hizmet mimarileri için çağrı yığınları gibi çalışan bir performans profili oluşturucu sağlayarak bu sorunu çözer.

Azure İzleyici, dağıtılmış izleme verilerini kullanmak için iki deneyim sunar: tek bir işlem/istek için işlem tanılama görünümü ve sistemlerin nasıl etkileşime geçtiğini göstermek için uygulama haritası görünümü.

Application Insights , dağıtılmış telemetri bağıntısını kullanarak her bileşeni ayrı ayrı izleyebilir ve hatalardan veya performans düşüşlerinden hangi bileşenin sorumlu olduğunu algılayabilir. Bu makalede application insights tarafından kullanılan farklı dil ve platformlarda veri modeli, bağlam yayma teknikleri, protokoller ve bağıntı taktiklerinin uygulanması açıklanmaktadır.

Dağıtılmış izlemeyi etkinleştirme

Bir uygulama için dağıtılmış izlemeyi etkinleştirmek için her hizmete programlama diline göre doğru aracıyı, SDK'yı veya kitaplığı ekleyin.

Uygulama İçi Etgilerle otomatik araçsallaştırma veya SDK'lar üzerinden etkinleştirme

.NET, .NET Core, Java, Node.js ve JavaScript için Application Insights aracıları ve SDK'larının tümü yerel olarak dağıtılmış izlemeyi destekler. Her Application Insights SDK'sını yükleme ve yapılandırma yönergeleri şunlar için kullanılabilir:

Uygun Application Insights SDK'sı yüklenip yapılandırıldığında, SDK bağımlılık otomatik koleksiyonları tarafından popüler çerçeveler, kitaplıklar ve teknolojiler için izleme bilgileri otomatik olarak toplanır. Desteklenen teknolojilerin tam listesine Bağımlılık otomatik koleksiyonu belgelerinden ulaşabilirsiniz.

Herhangi bir teknoloji, TelemetryClient üzerindeki TrackDependency çağrısıyla el ile de izlenebilir.

OpenTelemetry ile etkinleştirme

Application Insights artık OpenTelemetry aracılığıyla dağıtılmış izlemeyi destekliyor. OpenTelemetry, Application Insights'a izler, ölçümler ve günlükler göndermek için satıcıdan bağımsız bir araç sağlar. Başlangıçta OpenTelemetry topluluğu dağıtılmış izlemeyi üstlenmiş. Ölçümler ve günlükler devam ediyor.

Tam bir gözlemlenebilirlik hikayesi üç sütunu da içerir. Azure Monitor OpenTelemetry tabanlı tekliflerimizin durumunu denetleyerek nelerin dahil olduğunu, hangi tekliflerin genel kullanıma açık olduğunu ve destek seçeneklerini görebilirsiniz.

Aşağıdaki sayfalar, Microsoft'un OpenTelemetry tabanlı tekliflerini etkinleştirmeye ve yapılandırmaya yönelik dil kılavuzundan oluşur. Daha da önemlisi, OpenTelemetry'nin projeniz için doğru olup olmadığını belirleyebilmeniz için her teklifin kullanılabilir işlevlerini ve sınırlamalarını paylaşırız.

OpenCensus aracılığıyla etkinleştirme

Application Insights SDK'larına ek olarak, Application Insights OpenCensus aracılığıyla dağıtılmış izlemeyi de destekler. OpenCensus, hizmetler için ölçüm toplama ve dağıtılmış izleme sağlamak için kitaplıkların açık kaynak, satıcıdan bağımsız, tek bir dağıtımıdır. Ayrıca, açık kaynak topluluğunun Redis, Memcached veya MongoDB gibi popüler teknolojilerle dağıtılmış izlemeyi etkinleştirmesini sağlar. Microsoft, diğer birçok izleme ve bulut iş ortağıyla OpenCensus üzerinde işbirliği sağlar.

Python için OpenCensus hakkında daha fazla bilgi için bkz . Python uygulamanız için Azure İzleyici'yi ayarlama.

OpenCensus web sitesinde Python, Go için API başvuru belgeleri ve OpenCensus kullanımına yönelik çeşitli kılavuzlar bulunur.

Telemetri bağıntısı için veri modeli

Application Insights, dağıtılmış telemetri bağıntısı için bir veri modeli tanımlar. Telemetriyi mantıksal bir işlemle ilişkilendirmek için, her telemetri öğesinin adlı operation_Idbir bağlam alanı vardır. Dağıtılmış izlemedeki her telemetri öğesi bu tanımlayıcıyı paylaşır. Bu nedenle, tek bir katmandan telemetriyi kaybetseniz bile, diğer bileşenler tarafından bildirilen telemetriyi ilişkilendirebilirsiniz.

Dağıtılmış mantıksal işlem genellikle bileşenlerden biri tarafından işlenen istekler olan daha küçük bir işlem kümesinden oluşur. İstek telemetrisi bu işlemleri tanımlar. Her bir talep telemetri öğesi, onu benzersiz ve küresel olarak tanımlayan kendi id'sine sahiptir. Ayrıca, istekle ilişkili tüm telemetri öğeleri (izlemeler ve özel durumlar gibi) değerini isteğin operation_parentIddeğerine ayarlamalıdırid.

Bağımlılık telemetrisi , başka bir bileşene http çağrısı gibi her giden işlemi temsil eder. Ayrıca, genel olarak benzersiz olan kendi id tanımlarını da tanımlar. Bu bağımlılık çağrısı tarafından başlatılan istek telemetrisi, idoperation_parentId olarak kullanılır.

operation_Id, operation_parentId ve request.id ile dependency.id kullanarak dağıtılmış mantıksal işlemin bir görünümünü oluşturabilirsiniz. Bu alanlar, telemetri çağrılarının nedensellik sırasını da tanımlar.

Mikro hizmetler ortamında, bileşenlerden gelen izlemeler farklı depolama öğelerine gidebilir. Application Insights'ta her bileşenin kendi bağlantı dizesi olabilir. Mantıksal işlem için telemetri almak için Application Insights her depolama öğesindeki verileri sorgular.

Depolama öğelerinin sayısı büyük olduğunda, sonraki nereye bakabileceğiniz hakkında bir ipucuna ihtiyacınız vardır. Application Insights veri modeli bu sorunu çözmek için iki alan tanımlar: request.source ve dependency.target. İlk alan, bağımlılık isteğini başlatan bileşeni tanımlar. İkinci alan, bağımlılık çağrısının yanıtını döndüren bileşeni tanımlar.

Sorgu ifadesi olan app kullanılarak birden çok farklı örneği sorgulama hakkında bilgi için bkz: Azure İzleyici sorgusundaki app() ifadesi.

Örnek

Bir örneğe göz atalım. Hisse Senedi Fiyatları adlı bir uygulama, Hisse Senedi adlı bir dış API kullanarak hisse senedinin geçerli piyasa fiyatını gösterir. Hisse Senedi Fiyatları uygulamasının, istemci web tarayıcısının kullanarak GET /Home/Stockaçtığı Hisse Senedi sayfası adlı bir sayfası vardır. Uygulama, HTTP çağrısını GET /api/stock/valuekullanarak Stok API'sini sorgular.

Bir sorgu çalıştırarak sonuçta elde edilen telemetriyi analiz edebilirsiniz:

(requests | union dependencies | union pageViews)
| where operation_Id == "STYz"
| project timestamp, itemType, name, id, operation_ParentId, operation_Id

Sonuçlarda, tüm telemetri öğeleri kökünü operation_Idpaylaşır. Sayfadan bir Ajax çağrısı yapıldığında, bağımlılık telemetrisine yeni bir benzersiz kimlik (qJSXU) atanır ve pageView kimliği olarak operation_ParentIdkullanılır. Sunucu isteği daha sonra Ajax Kimliğini olarak operation_ParentIdkullanır.

öğe türü Adı Kimlik operation_ParentId operation_Id
pageView Hisse senedi sayfası STYz STYz
bağımlılık GET /Home/Stock qJSXU STYz STYz
talep GET Anasayfa/Stok KqKwlrSt9PA= qJSXU STYz
bağımlılık GET /api/stock/value # Stok değerini getir bBrf2L7mm2g= KqKwlrSt9PA= STYz

Bir dış hizmete çağrı GET /api/stock/value yapıldığında, alanı uygun şekilde ayarlayabilmeniz için o sunucunun dependency.target kimliğini bilmeniz gerekir. Dış hizmet izlemeyi desteklemediğinde, target hizmetin host adına ayarlanır. stock-prices-api.com bunun bir örneğidir. Ancak hizmet önceden tanımlanmış bir HTTP üst bilgisi döndürerek kendini tanımlarsa, target Application Insights'ın söz konusu hizmetten telemetriyi sorgulayarak dağıtılmış izleme oluşturmasına olanak tanıyan hizmet kimliğini içerir.

W3C TraceContext kullanarak bağıntı üst bilgileri

Application Insights W3C İzleme Bağlamı'na geçiş yaparak şunları tanımlar:

  • traceparent: Genel olarak benzersiz işlem kimliğini ve çağrının benzersiz tanımlayıcısını taşır.
  • tracestate: Sisteme özgü izleme bağlamı taşır.

Application Insights SDK'sının en son sürümü İzleme Bağlamı protokollerini destekler, ancak bunu kabul etmeniz gerekebilir. (Application Insights SDK tarafından desteklenen önceki bağıntı protokolüyle geriye dönük uyumluluk korunur.)

Request-Id olarak da adlandırılan bağıntı HTTP protokolü kullanım dışı bırakılıyor. Bu protokol iki üst bilgi tanımlar:

  • Request-Id: Çağrının dünya çapında benzersiz kimliğini taşır.
  • Correlation-Context: Dağıtılmış izleme özelliklerinin ad-değer çiftleri koleksiyonunu taşır.

Application Insights, bağıntı HTTP protokolü uzantısını da tanımlar. Request-Context çağırıcı veya arayan tarafından kullanılan özellikler koleksiyonunu iletmek için ad-değer çiftlerini kullanır. Application Insights SDK, dependency.target ve request.source alanlarını ayarlamak için bu üst bilgiyi kullanır.

W3C İzleme Bağlamı ve Application Insights veri modelleri aşağıdaki şekilde eşlenebilir:

Uygulama Öngörüleri W3C TraceContext
Id ile Request ve Dependency ana kimlik
Operation_Id trace-id
Operation_ParentId bu yayılma alanının ebeveyn yayılma alanının kimliği. Kök yayılma alanıysa bu alan boş olmalıdır.

Daha fazla bilgi için Application Insights telemetri veri modeli bkz.

.NET uygulamaları için W3C dağıtılmış izleme desteğini etkinleştirme

W3C TraceContext tabanlı dağıtılmış izleme, tüm son .NET Framework/.NET Core SDK'larında varsayılan olarak etkindir ve eski Request-Id protokolüyle geriye dönük uyumluluk sağlar.

Java uygulamaları için W3C dağıtılmış izleme desteğini etkinleştirme

Java 3.0 aracısı

Java 3.0 ajanı, W3C'yi doğrudan destekler ve ek bir yapılandırma gerekmez.

Java SDK'sı

  • Giriş yapılandırması

    Java EE uygulamaları için, ApplicationInsights.xml etiketine <TelemetryModules>aşağıdaki kodu ekleyin:

    <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule>
       <Param name = "W3CEnabled" value ="true"/>
       <Param name ="enableW3CBackCompat" value = "true" />
    </Add>
    

    Spring Boot uygulamaları için şu özellikleri ekleyin:

    • azure.application-insights.web.enable-W3C=true
    • azure.application-insights.web.enable-W3C-backcompat-mode=true
  • Çıkış yapılandırması

    AI-Agent.xml aşağıdaki kodu ekleyin:

    <Instrumentation>
      <BuiltIn enabled="true">
        <HTTP enabled="true" W3C="true" enableW3CBackCompat="true"/>
      </BuiltIn>
    </Instrumentation>
    

    Not

    Geriye dönük uyumluluk modu varsayılan olarak etkindir ve enableW3CBackCompat parametresi isteğe bağlıdır. Yalnızca geriye dönük uyumluluğu kapatmak istediğinizde kullanın.

    İdeal olarak, tüm hizmetleriniz W3C protokolünü destekleyen SDK'ların daha yeni sürümlerine güncelleştirildiğinde bu modu kapatacaksınız. Bu yeni SDK'lara en kısa sürede geçmenizi kesinlikle öneririz.

Gelen ve giden yapılandırmaların tam olarak aynı olduğundan emin olmak önemlidir.

Web uygulamaları için W3C dağıtılmış izleme desteğini etkinleştirme

Bu özellik JavaScript için varsayılan olarak etkindir ve barındırma sayfası etki alanı isteklerin gönderildiği etki alanıyla aynı olduğunda üst bilgiler otomatik olarak eklenir (örneğin, barındırma sayfasıdır example.com ve Ajax istekleri adresine example.comgönderilir). Dağıtılmış izleme modunu değiştirmek için yapılandırma alanınıdistributedTracingMode. AI_AND_W3C, Application Insights tarafından desteklenen eski hizmetlerle geriye dönük uyumluluk için varsayılan olarak sağlanır.

XMLHttpRequest veya Fetch Ajax istekleri alt etki alanları da dahil olmak üzere farklı bir etki alanı konağına gönderilirse, bağıntı üst bilgileri varsayılan olarak dahil değildir. Bu özelliği etkinleştirmek için yapılandırma alanını olarak enableCorsCorrelationayarlayıntrue. Eğer enableCorsCorrelation olarak true ayarlarsanız, tüm XMLHttpRequest ve Fetch Ajax istekleri bağıntı üst bilgilerini içerir. Sonuç olarak, çağrılan sunucudaki uygulama üst bilgiyi desteklemiyorsa traceparent , tarayıcının/sürümün sunucunun hangi üst bilgileri kabul ettiği temelinde isteği doğrulayıp doğrulayamayacağına bağlı olarak istek başarısız olabilir. Sunucunun correlationHeaderExcludedDomains etki alanını bileşenler arası bağıntı üst bilgisi ekleme işleminin dışında tutmak için yapılandırma alanını kullanabilirsiniz. Örneğin, bağıntı üst bilgilerini Auth0 kimlik sağlayıcısına gönderilen isteklerden dışlamak için kullanabilirsiniz correlationHeaderExcludedDomains: ['*.auth0.com'] .

Önemli

Bağıntıyı etkinleştirmek için gereken tüm yapılandırmaları görmek için JavaScript bağıntı belgelerine bakın.

OpenCensus Python'da telemetri bağıntısı

OpenCensus Python, ek yapılandırma gerektirmeden W3C İzleme Bağlamı'ni destekler.

Başvuru için OpenCensus veri modelini bu GitHub sayfasında bulabilirsiniz.

Gelen istek bağıntısı

OpenCensus Python, gelen isteklerden W3C İzleme-Bağlam üst bilgilerini, isteklerin kendilerinden oluşturulan izlem aralıklarıyla ilişkilendirir. OpenCensus, şu popüler web uygulaması çerçeveleri için tümleştirmelerle otomatik olarak bağıntı oluşturur: Flask, Django ve Piramit. W3C İzleme Bağlamı üst bilgilerini doğru biçimle doldurmanız ve istekle göndermeniz yeterlidir.

Bu örnek Flask uygulamasını keşfedin. Flask, OpenCensus ve Flask ile Azure uzantılarını yükleyin.


pip install flask opencensus opencensus-ext-flask opencensus-ext-azure

Uygulama İçgörüleri bağlantı dizesini bir ortam değişkenine eklemeniz gerekiyor.

APPLICATIONINSIGHTS_CONNECTION_STRING=<appinsights-connection-string>

Örnek Flask Uygulaması

from flask import Flask
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.ext.flask.flask_middleware import FlaskMiddleware
from opencensus.trace.samplers import ProbabilitySampler

app = Flask(__name__)
middleware = FlaskMiddleware(
    app,
    exporter=AzureExporter(
        connection_string='<appinsights-connection-string>', # or set environment variable APPLICATION_INSIGHTS_CONNECTION_STRING
    ), 
    sampler=ProbabilitySampler(rate=1.0),
)

@app.route('/')
def hello():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host='localhost', port=8080, threaded=True)

Bu kod, bağlantı noktasını 8080dinleyerek yerel makinenizde örnek bir Flask uygulaması çalıştırır. İzleme bağlamını ilişkilendirmek için uç noktaya bir istek gönderirsiniz. Bu örnekte bir curl komut kullanabilirsiniz:

curl --header "traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01" localhost:8080

Trace-Context header formatına bakarak aşağıdaki bilgileri türetebilirsiniz:

version: 00

trace-id: 4bf92f3577b34da6a3ce929d0e0e4736

parent-id/span-id: 00f067aa0ba902b7

trace-flags: 01

Azure İzleyici'ye gönderilen istek girişine bakarsanız izleme üst bilgisi bilgileriyle doldurulmuş alanları görebilirsiniz. Verileri Azure İzleyici Application Insights kaynağındaki Günlükler (Analiz) altında bulabilirsiniz.

Günlüklerde (Analytics) İstek telemetrisini gösteren ekran görüntüsü.

Alan id, <trace-id>.<span-id> formatındadır, burada trace-id istekte geçirilen izleme üst bilgisinden alınır ve span-id bu aralık için oluşturulan 8 baytlık bir dizidir.

operation_ParentId alanı <trace-id>.<parent-id> biçimindedir, burada hem trace-id hem de parent-id istekte geçirilen izleme üst bilgisinden alınır.

Kayıt korelasyonu

OpenCensus Python, izleme kimliği, span kimliği ve örnekleme bayrağı ekleyerek log kayıtlarını ilişkilendirmenizi sağlar. OpenCensus günlük tümleştirmesini yükleyerek bu öznitelikleri eklersiniz. LogRecord Python nesnelerine aşağıdaki öznitelikler eklenir: traceId, spanId ve traceSampled (yalnızca tümleştirmeden sonra oluşturulan günlüğe kaydedenler için geçerlidir).

OpenCensus loglama tümleştirmesini yükleyin.

python -m pip install opencensus-ext-logging

Örnek uygulama

import logging

from opencensus.trace import config_integration
from opencensus.trace.samplers import AlwaysOnSampler
from opencensus.trace.tracer import Tracer

config_integration.trace_integrations(['logging'])
logging.basicConfig(format='%(asctime)s traceId=%(traceId)s spanId=%(spanId)s %(message)s')
tracer = Tracer(sampler=AlwaysOnSampler())

logger = logging.getLogger(__name__)
logger.warning('Before the span')
with tracer.span(name='hello'):
    logger.warning('In the span')
logger.warning('After the span')

Bu kod çalıştırıldığında konsolda aşağıdaki yazdırılır:

2019-10-17 11:25:59,382 traceId=c54cb1d4bbbec5864bf0917c64aeacdc spanId=0000000000000000 Before the span
2019-10-17 11:25:59,384 traceId=c54cb1d4bbbec5864bf0917c64aeacdc spanId=70da28f5a4831014 In the span
2019-10-17 11:25:59,385 traceId=c54cb1d4bbbec5864bf0917c64aeacdc spanId=0000000000000000 After the span

Farkında olun, aralığın içinde bulunan günlük iletisi için bir spanId mevcut. spanId, adlı hellospan'a ait olanla aynıdır.

AzureLogHandler kullanarak günlük verilerini dışarı aktarabilirsiniz. Daha fazla bilgi için bkz . Python uygulamanız için Azure İzleyici'yi ayarlama.

Ayrıca doğru bağıntı için izleme bilgilerini bir bileşenden diğerine de geçirebiliriz. Örneğin, module1 ve module2 olmak üzere iki bileşenin bulunduğu bir senaryoyu düşünün. Modül 1, Modül 2'deki işlevleri çağırır. Her iki module1 ve module2'in günlüklerini tek bir izlemede almak için aşağıdaki yaklaşımı kullanabiliriz:

# module1.py
import logging

from opencensus.trace import config_integration
from opencensus.trace.samplers import AlwaysOnSampler
from opencensus.trace.tracer import Tracer
from module_2 import function_1

config_integration.trace_integrations(["logging"])
logging.basicConfig(
    format="%(asctime)s traceId=%(traceId)s spanId=%(spanId)s %(message)s"
)
tracer = Tracer(sampler=AlwaysOnSampler())

logger = logging.getLogger(__name__)
logger.warning("Before the span")

with tracer.span(name="hello"):
    logger.warning("In the span")
    function_1(logger, tracer)
logger.warning("After the span")
# module_2.py
import logging

from opencensus.trace import config_integration
from opencensus.trace.samplers import AlwaysOnSampler
from opencensus.trace.tracer import Tracer

config_integration.trace_integrations(["logging"])
logging.basicConfig(
    format="%(asctime)s traceId=%(traceId)s spanId=%(spanId)s %(message)s"
)
logger = logging.getLogger(__name__)
tracer = Tracer(sampler=AlwaysOnSampler())


def function_1(logger=logger, parent_tracer=None):
    if parent_tracer is not None:
        tracer = Tracer(
            span_context=parent_tracer.span_context,
            sampler=AlwaysOnSampler(),
        )
    else:
        tracer = Tracer(sampler=AlwaysOnSampler())

    with tracer.span("function_1"):
        logger.info("In function_1")

.NET'te telemetri bağıntısı

Bir uygulama devreye alınırken bağıntı varsayılan olarak işlenir. Özel eylem gerekmez.

.NET çalışma zamanı, dağıtılmış izlemeyi Activity ve DiagnosticSource yardımıyla destekler.

Application Insights .NET SDK'sı, DiagnosticSource ve Activity kullanarak telemetri verilerini toplar ve ilişkilendirir.

Java'da telemetri bağıntısı

Java aracısı telemetrinin otomatik bağıntısını destekler. İstek kapsamında verilen tüm telemetri (izlemeler, özel durumlar ve özel olaylar gibi) için otomatik olarak doldurulur operation_id . Ayrıca, Java SDK aracısı yapılandırılmışsa, HTTP aracılığıyla hizmetten hizmete yapılan çağrılar için daha önce açıklanan bağıntı üst bilgilerini de yayar.

Not

Application Insights Java aracısı JMS, Kafka, Netty/Webflux ve daha fazlası için istekleri ve bağımlılıkları otomatik olarak derler. Java SDK'sı için, bağıntı özelliği için yalnızca Apache HttpClient aracılığıyla yapılan çağrılar desteklenir. Kafka, RabbitMQ ve Azure Service Bus gibi mesajlaşma teknolojileri arasında otomatik bağlam yayma SDK'da desteklenmez.

Özel telemetri toplamak için uygulamayı Java 2.6 SDK ile izlemeniz gerekir.

Rol adları

Uygulama Haritası'nda bileşen adlarının görüntülenme biçimini özelleştirmek isteyebilirsiniz. Bunu yapmak için, aşağıdaki eylemlerden birini gerçekleştirerek el ile ayarlayabilirsiniz cloud_RoleName :

  • Application Insights Java için bulut rolü adını aşağıdaki gibi ayarlayın:

    {
      "role": {
        "name": "my cloud role name"
      }
    }
    

    Ortam değişkenini APPLICATIONINSIGHTS_ROLE_NAMEkullanarak bulut rolü adını da ayarlayabilirsiniz.

  • Application Insights Java SDK 2.5.0 ve sonraki sürümleriyle, ApplicationInsights.xmlcloud_RoleNameekleyerek <RoleName> belirtebilirsiniz:

    Application Insights'a genel bakış ve bağlantı dizesi gösteren ekran görüntüsü.

    <?xml version="1.0" encoding="utf-8"?>
    <ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings" schemaVersion="2014-05-30">
       <ConnectionString>InstrumentationKey=00000000-0000-0000-0000-000000000000</ConnectionString>
       <RoleName>** Your role name **</RoleName>
       ...
    </ApplicationInsights>
    
  • Application Insights Spring Boot Starter ile Spring Boot kullanıyorsanız application.properties dosyasında uygulama için özel adınızı ayarlayın:

    spring.application.name=<name-of-app>

Bulut rolü adını ortam değişkeni veya sistem özelliği aracılığıyla da ayarlayabilirsiniz. Ayrıntılar için Bulut Rolü Adını Yapılandırma'ya bakın.

Sonraki adımlar