Dağıtılmış izleme ve telemetri bağıntısı nedir?
Dikkat
Yeni uygulamalar veya müşterilerin Azure İzleyici Application Insights'ı desteklemesi için Azure İzleyici OpenTelemetry Distro'yu öneririz. 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.
Otomatik yetkisiz erişim veya SDK'lar aracılığıyla Application Insights aracılığıyla 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 izlemeler, ölçümler ve günlükler göndermek için satıcıdan bağımsız bir izleme 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. Sunulanlar, genel kullanıma sunulan teklifler ve destek seçenekleri hakkında en son durumu görmek için Azure İzleyici OpenTelemetry tabanlı tekliflerimizin durumunu denetleyin.
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_Id
bir 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 istek telemetri öğesinin benzersiz ve genel olarak tanımlayan kendi id
öğesi vardır. Ayrıca, istekle ilişkili tüm telemetri öğeleri (izlemeler ve özel durumlar gibi) değerini isteğin id
değerine ayarlamalıdıroperation_parentId
.
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, bunu olarak operation_parentId
kullanırid
.
ile dependency.id
, operation_parentId
ve request.id
kullanarak operation_Id
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 ifadesini kullanarak birden çok farklı örnekten app
sorgulama hakkında bilgi için bkz . Azure İzleyici sorgusunda 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/Stock
açtığı Hisse Senedi sayfası adlı bir sayfası vardır. Uygulama, HTTP çağrısını GET /api/stock/value
kullanarak 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_Id
paylaşı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_ParentId
kullanılır. Sunucu isteği daha sonra Ajax Kimliğini olarak operation_ParentId
kullanır.
itemType | Adı | Kimlik | operation_ParentId | operation_Id |
---|---|---|---|---|
pageView | Hisse senedi sayfası | STYz |
STYz |
|
bağımlılık | GET /Home/Stock | qJSXU |
STYz |
STYz |
istek | GET Home/Stock | KqKwlrSt9PA= |
qJSXU |
STYz |
bağımlılık | GET /api/stock/value | 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 ana bilgisayar 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 genel olarak 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. Hemen çağıran veya çağıran tarafından kullanılan özellik koleksiyonunu yaymak için ad-değer çiftlerini kullanır Request-Context
. Application Insights SDK'sı, ve request.source
alanlarını ayarlamak dependency.target
için bu üst bilgiyi kullanır.
W3C İzleme Bağlamı ve Application Insights veri modelleri aşağıdaki şekilde eşlenebilir:
Application Insights | W3C TraceContext |
---|---|
Id ve Request Dependency |
üst kimlik |
Operation_Id |
trace-id |
Operation_ParentId |
bu yayılma alanının üst-kimliği . Kök yayılma alanıysa bu alan boş olmalıdır. |
Daha fazla bilgi için bkz . Application Insights telemetri veri modeli.
.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 aracısı W3C'yi kullanıma dışında destekler ve artık yapılandırma gerekmez.
Java SDK
Gelen yapılandırma
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
Giden yapılandırma
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.com
gönderilir). Dağıtılmış izleme modunu değiştirmek için yapılandırma alanını kullanındistributedTracingMode
. AI_AND_W3C, Application Insights tarafından desteklenen eski hizmetlerle geriye dönük uyumluluk için varsayılan olarak sağlanır.
-
Aşağıdaki yapılandırmayı ekleyin:
distributedTracingMode: DistributedTracingModes.W3C
JavaScript (Web) SDK Yükleyicisi Betik tabanlı kurulum
Aşağıdaki yapılandırmayı ekleyin:
distributedTracingMode: 2 // DistributedTracingModes.W3C
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 true
ayarlayınenableCorsCorrelation
. olarak true
ayarlarsanızenableCorsCorrelation
, 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 yayılma alanlarıyla ilişkilendirır. 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
Application Insights bağlantı dizesi ortam değişkenine eklemeniz gerekir.
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ı 8080
dinleyerek 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
İzleme Bağlamı üst bilgi biçimine 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.
alanı id
biçimindedir <trace-id>.<span-id>
; burada trace-id
istekte geçirilen izleme üst bilgisinden alınır ve span-id
bu yayılma alanı için oluşturulan 8 baytlık bir dizidir.
alanı operation_ParentId
biçimindedir<trace-id>.<parent-id>
; burada hem hem parent-id
de trace-id
istekte geçirilen izleme üst bilgisinden alınır.
Günlük bağıntısı
OpenCensus Python, kayıtları günlüğe kaydetmek için izleme kimliği, span kimliği ve örnekleme bayrağı ekleyerek günlükleri ilişkilendirmenizi sağlar. OpenCensus günlük tümleştirmesini yükleyerek bu öznitelikleri eklersiniz. Python nesnelerine LogRecord
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 günlük 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
Yayılma alanının içinde günlük iletisi için bir spanId
mevcut olduğuna dikkat edin. spanId
, adlı hello
span'a ait olanla aynıdır.
kullanarak AzureLogHandler
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, ve module2
olmak üzere iki bileşenin module1
bulunduğu bir senaryo düşünün. Modül 1, Modül 2'deki işlevleri çağırır. Hem hem de module1
module2
tek bir izlemedeki günlükleri 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 eklenirken bağıntı varsayılan olarak işlenir. Özel eylem gerekmez.
- ASP.NET Core uygulamaları için Application Insights
- ASP.NET web siteniz için Application Insights'ı yapılandırma
- Çalışan Hizmeti uygulamaları için Application Insights (HTTP olmayan uygulamalar)
.NET çalışma zamanı, Activity ve DiagnosticSource yardımıyla dağıtılanları destekler
Application Insights .NET SDK'sı, telemetri verilerini toplamak ve ilişkilendirmek için ve Activity
kullanırDiagnosticSource
.
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 hizmet-hizmet çağrıları için daha önce açıklanan bağıntı üst bilgilerini de yayılım.
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_NAME
kullanarak bulut rolü adını da ayarlayabilirsiniz.Application Insights Java SDK 2.5.0 ve sonraki sürümleriyle, ApplicationInsights.xml dosyanıza ekleyerek
<RoleName>
belirtebilirsinizcloud_RoleName
:<?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 bkz . Bulut rolü adını yapılandırma.
Sonraki adımlar
- Uygulama eşlemesi
- Özel telemetri yazın.
- ASP.NET Core ve ASP.NET gelişmiş bağıntı senaryoları için bkz . Özel işlemleri izleme.
- Diğer SDK'lar için cloud_RoleName ayarlama hakkında daha fazla bilgi edinin.
- Application Insights'ta mikro hizmetinizin tüm bileşenlerini ekleme. Desteklenen platformlara göz atın.
- Bkz. Application Insights türleri için veri modeli.
- Telemetriyi genişletmeyi ve filtrelemeyi öğrenin.
- Application Insights yapılandırma başvurusunu gözden geçirin.