Yapılandırma seçenekleri: Java için Azure İzleyici Application Insights
Not
31 Mart 2025’te izleme anahtarı alımı desteği sona erecektir. İzleme anahtarı alımı çalışmaya devam edecek, ancak artık özellik için güncelleştirme veya destek sağlamayacağız. Yeni özelliklerden yararlanmak için bağlantı dizelerine geçiş.
Bağlantı dizesi ve rol adı
Başlamak için en yaygın ayarlar bağlantı dizesi ve rol adıdır:
{
"connectionString": "...",
"role": {
"name": "my cloud role name"
}
}
Bağlantı dizesi gereklidir. Farklı uygulamalardan aynı Application Insights kaynağına veri gönderdiğinizde rol adı önemlidir.
Aşağıdaki bölümlerde daha fazla bilgi ve yapılandırma seçeneği bulabilirsiniz.
Yapılandırma dosyası yolu
Varsayılan olarak, Application Insights Java 3.x yapılandırma dosyasının olarak adlandırılabilmesini applicationinsights.json
ve ile aynı dizinde applicationinsights-agent-3.4.10.jar
yer almalarını bekler.
Aşağıdaki iki seçenekten birini kullanarak kendi yapılandırma dosyası yolunuzu belirtebilirsiniz:
APPLICATIONINSIGHTS_CONFIGURATION_FILE
ortam değişkeniapplicationinsights.configuration.file
Java sistem özelliği
Göreli bir yol belirtirseniz, bulunduğu dizine applicationinsights-agent-3.4.10.jar
göre çözümlenir.
Alternatif olarak, bir yapılandırma dosyası kullanmak yerine JSON yapılandırmasının tüm içeriğini ortam değişkeni APPLICATIONINSIGHTS_CONFIGURATION_CONTENT
aracılığıyla belirtebilirsiniz.
Bağlantı dizesi
Bağlantı dizesi gereklidir. Bağlantı dizenizi Application Insights kaynağınızda bulabilirsiniz.
{
"connectionString": "..."
}
Bağlantı dizesini ortam değişkenini APPLICATIONINSIGHTS_CONNECTION_STRING
kullanarak da ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen bağlantı dizesine göre önceliklidir.
Ya da Java sistem özelliğini applicationinsights.connection.string
kullanarak bağlantı dizesini ayarlayabilirsiniz. Ayrıca JSON yapılandırmasında belirtilen bağlantı dizesine göre önceliklidir.
Bağlantı dizesini yüklemek için bir dosya belirterek bağlantı dizesini de ayarlayabilirsiniz.
Göreli bir yol belirtirseniz, bu yol bulunduğu applicationinsights-agent-3.4.10.jar
dizine göre çözümlenir.
{
"connectionString": "${file:connection-string-file.txt}"
}
Dosya yalnızca bağlantı dizesini içermeli ve başka bir şey içermemelidir.
Bağlantı dizesi ayarlanmaması Java aracısını devre dışı bırakır.
Aynı JVM'de dağıtılan birden çok uygulamanız varsa ve bunların farklı izleme anahtarlarına telemetri göndermesini istiyorsanız bkz . İzleme anahtarı geçersiz kılmaları (önizleme).
Bulut rolü adı
Bulut rolü adı, bileşeni uygulama haritasında etiketlemek için kullanılır.
Bulut rolü adını ayarlamak istiyorsanız:
{
"role": {
"name": "my cloud role name"
}
}
Bulut rolü adı ayarlı değilse, Application Insights kaynağının adı bileşeni uygulama haritasında etiketlemek için kullanılır.
Ortam değişkenini APPLICATIONINSIGHTS_ROLE_NAME
kullanarak bulut rolü adını da ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen bulut rolü adından önceliklidir.
Veya Java sistem özelliğini applicationinsights.role.name
kullanarak bulut rolü adını ayarlayabilirsiniz. Ayrıca, JSON yapılandırmasında belirtilen bulut rolü adından önceliklidir.
Aynı JVM'de dağıtılan birden çok uygulamanız varsa ve bunların farklı bulut rolü adlarına telemetri göndermesini istiyorsanız bkz. Bulut rolü adı geçersiz kılmaları (önizleme).
Bulut rolü örneği
Bulut rolü örneği varsayılan olarak makine adını kullanır.
Bulut rolü örneğini makine adından farklı bir değere ayarlamak istiyorsanız:
{
"role": {
"name": "my cloud role name",
"instance": "my cloud role instance"
}
}
Ortam değişkenini APPLICATIONINSIGHTS_ROLE_INSTANCE
kullanarak bulut rolü örneğini de ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen bulut rolü örneğinden önceliklidir.
Veya Java sistem özelliğini applicationinsights.role.instance
kullanarak bulut rolü örneğini ayarlayabilirsiniz.
Ayrıca JSON yapılandırmasında belirtilen bulut rolü örneğinden önceliklidir.
Örnekleme
Not
Örnekleme, Application Insights maliyetini azaltmanın harika bir yolu olabilir. Örnekleme yapılandırmanızı kullanım örneğiniz için uygun şekilde ayarladığınızdan emin olun.
Örnekleme isteği temel alır, yani bir istek yakalanırsa (örneklenir), bağımlılıkları, günlükleri ve özel durumları da öyle olur.
Örnekleme, farklı hizmetler arasında tutarlı örnekleme kararları alınmasına yardımcı olmak için izleme kimliğini de temel alır.
Hız sınırlı örnekleme
3.4.0'dan itibaren hız sınırlı örnekleme kullanılabilir ve artık varsayılandır.
Hiçbir örnekleme yapılandırılmadıysa, varsayılan değer artık bu isteklerdeki tüm bağımlılıklar ve günlüklerle birlikte saniyede en fazla (yaklaşık) 5 isteği yakalayacak şekilde yapılandırılmış hız sınırlı örneklemedir.
Bu yapılandırma, tüm istekleri yakalamak için önceki varsayılanın yerini alır. Yine de tüm istekleri yakalamak istiyorsanız , sabit yüzdeli örneklemeyi kullanın ve örnekleme yüzdesini 100 olarak ayarlayın.
Not
Hız sınırlı örnekleme yaklaşıkdır çünkü dahili olarak her telemetri kaydında doğru öğe sayılarını yaymak için zaman içinde "sabit" örnekleme yüzdesini uyarlaması gerekir. Dahili olarak hız sınırlı örnekleme, yeni uygulama yüklerine hızlı bir şekilde (0,1 saniye) uyum sağlayacak şekilde ayarlanır. Bu nedenle, yapılandırılan oranı çok fazla veya çok uzun süre aştığını görmemeniz gerekir.
Bu örnekte örneklemenin saniyede en fazla (yaklaşık) 1 istek yakalayacak şekilde nasıl ayarlanacağı gösterilmektedir:
{
"sampling": {
"requestsPerSecond": 1.0
}
}
Ondalık olabileceğinden requestsPerSecond
, isterseniz saniyede 1'den az istek yakalayacak şekilde yapılandırabileceğinizi unutmayın. Örneğin değeri, 0.5
her 2 saniyede bir en fazla 1 istek yakalama anlamına gelir.
Ortam değişkenini APPLICATIONINSIGHTS_SAMPLING_REQUESTS_PER_SECOND
kullanarak örnekleme yüzdesini de ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen hız sınırından önceliklidir.
Sabit yüzde örnekleme
Bu örnekte, örneklemenin tüm isteklerin yaklaşık üçte birini yakalayacak şekilde nasıl ayarlanacağı gösterilmektedir:
{
"sampling": {
"percentage": 33.333
}
}
Ortam değişkenini APPLICATIONINSIGHTS_SAMPLING_PERCENTAGE
kullanarak örnekleme yüzdesini de ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen örnekleme yüzdesine göre önceliklidir.
Not
Örnekleme yüzdesi için 100/N'ye yakın bir yüzde seçin; burada N bir tamsayıdır. Şu anda örnekleme diğer değerleri desteklememektedir.
Örnekleme geçersiz kılmaları (önizleme)
Bu özellik 3.0.3 sürümünden başlayarak önizleme aşamasındadır.
Örnekleme geçersiz kılmaları , varsayılan örnekleme yüzdesini geçersiz kılmanıza olanak sağlar. Örneğin, şunları yapabilirsiniz:
- Gürültülü sistem durumu denetimleri için örnekleme yüzdesini 0 veya küçük bir değer olarak ayarlayın.
- Gürültülü bağımlılık çağrıları için örnekleme yüzdesini 0 veya küçük bir değer olarak ayarlayın.
- Önemli bir istek türü için örnekleme yüzdesini 100 olarak ayarlayın. Örneğin, varsayılan örneklemeyi daha düşük bir değere yapılandırmış olsanız bile kullanabilirsiniz
/login
.
Daha fazla bilgi için Örnekleme geçersiz kılmaları belgelerine bakın.
JMX ölçümleri
Diğer bazı JMX ölçümlerini toplamak istiyorsanız:
{
"jmxMetrics": [
{
"name": "JVM uptime (millis)",
"objectName": "java.lang:type=Runtime",
"attribute": "Uptime"
},
{
"name": "MetaSpace Used",
"objectName": "java.lang:type=MemoryPool,name=Metaspace",
"attribute": "Usage.used"
}
]
}
Önceki yapılandırma örneğinde:
name
, bu JMX ölçümüne atanacak ölçüm adıdır (herhangi bir şey olabilir).objectName
, toplamak istediğiniz JMX MBean'in Nesne Adıdır .attribute
, toplamak istediğiniz JMX MBean içinde öznitelik adıdır.
Sayısal ve Boole JMX ölçüm değerleri desteklenir. Boole JMX ölçümleri false ve 1
true için ile eşlenir0
.
Özel boyutlar
Tüm telemetrinize özel boyutlar eklemek istiyorsanız:
{
"customDimensions": {
"mytag": "my value",
"anothertag": "${ANOTHER_VALUE}"
}
}
başlangıçta belirtilen ortam değişkeninden değeri okumak için kullanabilirsiniz ${...}
.
Not
3.0.2 sürümünden başlayarak, adlı service.version
özel bir boyut eklerseniz, değer özel boyut yerine Application Insights Günlükleri tablosundaki sütunda application_Version
depolanır.
Devralınan öznitelik (önizleme)
3.2.0 sürümünden başlayarak, istek telemetrinizde program aracılığıyla özel bir boyut ayarlamak ve aşağıdaki bağımlılık telemetrisi tarafından devralınmasını istiyorsanız:
{
"inheritedAttributes": [
{
"key": "mycustomer",
"type": "string"
}
]
}
Bağlantı dizesi geçersiz kılmaları (önizleme)
Bu özellik 3.4.0 sürümünden itibaren önizleme aşamasındadır.
Bağlantı dizesini geçersiz kılma, varsayılan bağlantı dizesini geçersiz kılmanıza olanak sağlar. Örneğin, şunları yapabilirsiniz:
- Bir HTTP yolu ön eki
/myapp1
için bir bağlantı dizesi ayarlayın. - Başka bir HTTP yolu ön eki
/myapp2/
için başka bir bağlantı dizesi ayarlayın.
{
"preview": {
"connectionStringOverrides": [
{
"httpPathPrefix": "/myapp1",
"connectionString": "..."
},
{
"httpPathPrefix": "/myapp2",
"connectionString": "..."
}
]
}
}
İzleme anahtarı geçersiz kılmaları (önizleme)
Bu özellik 3.2.3 sürümünden başlayarak önizleme aşamasındadır.
İzleme anahtarı geçersiz kılmaları , varsayılan izleme anahtarını geçersiz kılmanıza olanak sağlar. Örneğin, şunları yapabilirsiniz:
- Bir HTTP yolu ön eki
/myapp1
için bir izleme anahtarı ayarlayın. - Başka bir HTTP yolu ön eki
/myapp2/
için başka bir izleme anahtarı ayarlayın.
{
"preview": {
"instrumentationKeyOverrides": [
{
"httpPathPrefix": "/myapp1",
"instrumentationKey": "12345678-0000-0000-0000-0FEEDDADBEEF"
},
{
"httpPathPrefix": "/myapp2",
"instrumentationKey": "87654321-0000-0000-0000-0FEEDDADBEEF"
}
]
}
}
Bulut rolü adı geçersiz kılmaları (önizleme)
Bu özellik 3.3.0 sürümünden itibaren önizleme aşamasındadır.
Bulut rolü adı geçersiz kılmaları , varsayılan bulut rolü adını geçersiz kılmanıza olanak sağlar. Örneğin, şunları yapabilirsiniz:
- Bir HTTP yolu ön eki
/myapp1
için bir bulut rolü adı ayarlayın. - Başka bir HTTP yolu ön eki
/myapp2/
için başka bir bulut rolü adı ayarlayın.
{
"preview": {
"roleNameOverrides": [
{
"httpPathPrefix": "/myapp1",
"roleName": "Role A"
},
{
"httpPathPrefix": "/myapp2",
"roleName": "Role B"
}
]
}
}
Çalışma zamanında yapılandırılan bağlantı dizesi
Sürüm 3.4.8'den başlayarak, çalışma zamanında bağlantı dizesini yapılandırma yeteneğine ihtiyacınız varsa bu özelliği json yapılandırmanıza ekleyin:
{
"connectionStringConfiguredAtRuntime": true
}
ve uygulamanıza ekleyin applicationinsights-core
:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-core</artifactId>
<version>3.4.10</version>
</dependency>
ve sınıfında com.microsoft.applicationinsights.connectionstring.ConnectionString
statik configure(String)
yöntemini kullanın.
Not
Bağlantı dizesi yapılandırılmadan önce yakalanan tüm telemetriler bırakılır, bu nedenle en iyisi bunu uygulama başlatmanızda mümkün olduğunca erken yapılandırmaktır.
InProc bağımlılıklarını otomatik toplama (önizleme)
Sürüm 3.2.0'dan başlayarak, denetleyici "InProc" bağımlılıklarını yakalamak istiyorsanız aşağıdaki yapılandırmayı kullanın:
{
"preview": {
"captureControllerSpans": true
}
}
Telemetri işlemcileri (önizleme)
Yu, telemetri işlemcilerini kullanarak istek, bağımlılık ve izleme telemetrisine uygulanacak kuralları yapılandırabilir. Örneğin, şunları yapabilirsiniz:
- Hassas verileri maskele.
- Koşullu olarak özel boyutlar ekleyin.
- Azure portal benzer telemetriyi toplamak için kullanılan span adını güncelleştirin.
- Alım maliyetlerini denetlemek için belirli span özniteliklerini bırakın.
Daha fazla bilgi için Telemetri işlemcisi belgelerine bakın.
Not
Alım maliyetini denetlemek için belirli (tam) aralıkları bırakmak istiyorsanız bkz . Örnekleme geçersiz kılmaları.
Otomatik olarak toplanan günlük kaydı
Log4j, Logback, JBoss Günlüğü ve java.util.logging otomatik olarak izlenir. Bu günlük çerçeveleri aracılığıyla gerçekleştirilen günlük kaydı otomatik olarak toplanır.
Günlüğe kaydetme yalnızca şu durumda yakalanır:
- Günlük çerçevesi için yapılandırılan düzeyi karşılar.
- Ayrıca Application Insights için yapılandırılan düzeyi de karşılar.
Örneğin, günlük çerçeveniz paketinden (ve üzerinde) günlüğe kaydedilecek WARN
şekilde yapılandırıldıysa ve Application Insights (ve üzeri) yakalayacak INFO
şekilde yapılandırıldıysa, Application Insights paketinden com.example
yalnızca (ve üzerini) yakalar WARN
.com.example
Application Insights için yapılandırılan varsayılan düzey: INFO
. Bu düzeyi değiştirmek istiyorsanız:
{
"instrumentation": {
"logging": {
"level": "WARN"
}
}
}
Ortam değişkenini APPLICATIONINSIGHTS_INSTRUMENTATION_LOGGING_LEVEL
kullanarak da düzeyi ayarlayabilirsiniz. Ardından JSON yapılandırmasında belirtilen düzeyden önceliklidir.
Dosyada applicationinsights.json
belirtmek için bu geçerli level
değerleri kullanabilirsiniz. Tabloda, farklı günlük çerçevelerindeki günlük düzeylerine nasıl karşılık geldikleri gösterilmektedir.
Level | Log4j | Geri Kaydetme | JBoss | TEM |
---|---|---|---|---|
KAPALI | KAPALI | KAPALI | KAPALI | KAPALI |
ÖLÜMCÜL | ÖLÜMCÜL | HATA | ÖLÜMCÜL | ŞİDDETLİ |
HATA (veya CIDDI) | HATA | HATA | HATA | ŞİDDETLİ |
UYARI (veya UYARI) | UYARMAK | UYARMAK | UYARMAK | UYARI |
BİLGİ | BİLGİ | BİLGİ | BİLGİ | BİLGİ |
CONFİG | HATA AYIKLAMA | HATA AYIKLAMA | HATA AYIKLAMA | CONFİG |
HATA AYıKLAMA (veya İNCE) | HATA AYIKLAMA | HATA AYIKLAMA | HATA AYIKLAMA | IYİ |
INCE | HATA AYIKLAMA | HATA AYIKLAMA | HATA AYIKLAMA | INCE |
TRACE (veya FINEST) | TRACE | TRACE | TRACE | EN İYİ |
ALL | ALL | ALL | ALL | ALL |
Not
Günlükçüye bir özel durum nesnesi geçirilirse, günlük iletisi (ve özel durum nesnesi ayrıntıları) tablo yerine traces
tablonun altındaki exceptions
Azure portal gösterilir. Hem hem de traces
exceptions
tablolarında günlük iletilerini görmek istiyorsanız, bunlar arasında birleşim yapmak için bir Günlükler (Kusto) sorgusu yazabilirsiniz. Örnek:
union traces, (exceptions | extend message = outerMessage)
| project timestamp, message, itemType
Günlük işaretçileri (önizleme)
3.4.2'den başlayarak Logback ve Log4j 2 için günlük işaretçilerini yakalayabilirsiniz:
{
"preview": {
"captureLogbackMarker": true,
"captureLog4jMarker": true
}
}
Logback için ek günlük öznitelikleri (önizleme)
3.4.3'ten başlayarak, Logback için , ClassName
, MethodName
ve LineNumber
' yi yakalayabilirsinizFileName
:
{
"preview": {
"captureLogbackCodeAttributes": true
}
}
Uyarı
Kod özniteliklerinin yakalanması performans ek yüküne neden olabilir.
Özel boyut olarak günlüğe kaydetme düzeyi
Sürüm 3.3.0'dan başlayarak, LoggingLevel
veriler alanda zaten yakalandığından İzlemeler özel boyutunun bir parçası olarak varsayılan olarak yakalanmaz SeverityLevel
.
Gerekirse, önceki davranışı geçici olarak yeniden etkinleştirebilirsiniz:
{
"preview": {
"captureLoggingLevelAsCustomDimension": true
}
}
Otomatik olarak toplanan Mikrometre ölçümleri (Spring Boot Aktüatör ölçümleri dahil)
Uygulamanız Micrometer kullanıyorsa Micrometer genel kayıt defterine gönderilen ölçümler otomatik olarak toplanır.
Ayrıca, uygulamanız Spring Boot Actuator kullanıyorsa, Spring Boot Actuator tarafından yapılandırılan ölçümler de otomatik olarak toplanır.
Mikrometre kullanarak özel ölçümler göndermek için:
Uygulamanıza Mikrometre ekleyin:
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId> <version>1.6.1</version> </dependency>
Ölçüm oluşturmak için Micrometer genel kayıt defterini kullanın:
static final Counter counter = Metrics.counter("test.counter");
Ölçümleri kaydetmek için sayacı kullanın:
counter.increment();
Ölçümler, sütunda yakalanan etiketlerle customMetrics tablosuna
customDimensions
alınacaktır. Ölçümleri ölçüm ad alanının altındaki ölçüm gezginindeLog-based metrics
de görüntüleyebilirsiniz.Not
Application Insights Java, Mikrometre ölçüm adındaki alfasayısal olmayan tüm karakterleri (tireler hariç) alt çizgilerle değiştirir. Sonuç olarak, önceki
test.counter
ölçüm olaraktest_counter
gösterilir.
Mikrometre ölçümlerinin ve Spring Boot Aktüatör ölçümlerinin otomatik toplanmasını devre dışı bırakmak için:
Not
Özel ölçümler ayrı olarak faturalandırılır ve ek maliyetler oluşturabilir. Fiyatlandırma bilgilerini denetlediğinden emin olun. Mikrometre ve Spring Boot Aktüatör ölçümlerini devre dışı bırakmak için yapılandırma dosyanıza aşağıdaki yapılandırmayı ekleyin.
{
"instrumentation": {
"micrometer": {
"enabled": false
}
}
}
JDBC sorgu maskeleme
JDBC sorgularındaki değişmez değerler, hassas verilerin yanlışlıkla yakalanmasını önlemek için varsayılan olarak maskelenir.
3.4.0'dan başlayarak bu davranış devre dışı bırakılabilir. Örnek:
{
"instrumentation": {
"jdbc": {
"masking": {
"enabled": false
}
}
}
}
Mongo sorgu maskeleme
Mongo sorgularındaki değişmez değerler, hassas verilerin yanlışlıkla yakalanmasını önlemek için varsayılan olarak maskelenir.
3.4.0'dan başlayarak bu davranış devre dışı bırakılabilir. Örnek:
{
"instrumentation": {
"mongo": {
"masking": {
"enabled": false
}
}
}
}
HTTP üst bilgileri
Sürüm 3.3.0'dan başlayarak, sunucu (istek) telemetrinizde istek ve yanıt üst bilgilerini yakalayabilirsiniz:
{
"preview": {
"captureHttpServerHeaders": {
"requestHeaders": [
"My-Header-A"
],
"responseHeaders": [
"My-Header-B"
]
}
}
}
Üst bilgi adları büyük/küçük harfe duyarsızdır.
Yukarıdaki örnekler ve http.response.header.my_header_b
özellik adları http.request.header.my_header_a
altında yakalanır.
Benzer şekilde, istemci (bağımlılık) telemetrinizde istek ve yanıt üst bilgilerini yakalayabilirsiniz:
{
"preview": {
"captureHttpClientHeaders": {
"requestHeaders": [
"My-Header-C"
],
"responseHeaders": [
"My-Header-D"
]
}
}
}
Üst bilgi adları da büyük/küçük harfe duyarlı değildir. Yukarıdaki örnekler ve http.response.header.my_header_d
özellik adları http.request.header.my_header_c
altında yakalanır.
HTTP sunucusu 4xx yanıt kodları
Varsayılan olarak, 4xx yanıt kodlarına neden olan HTTP sunucusu istekleri hata olarak yakalanır.
Sürüm 3.3.0'dan başlayarak, bunları başarılı olarak yakalamak için bu davranışı değiştirebilirsiniz:
{
"preview": {
"captureHttpServer4xxAsError": false
}
}
Otomatik olarak toplanan belirli telemetri verilerini gizleme
Sürüm 3.0.3'ten başlayarak, otomatik olarak toplanan belirli telemetri şu yapılandırma seçenekleri kullanılarak gizlenebilir:
{
"instrumentation": {
"azureSdk": {
"enabled": false
},
"cassandra": {
"enabled": false
},
"jdbc": {
"enabled": false
},
"jms": {
"enabled": false
},
"kafka": {
"enabled": false
},
"micrometer": {
"enabled": false
},
"mongo": {
"enabled": false
},
"quartz": {
"enabled": false
},
"rabbitmq": {
"enabled": false
},
"redis": {
"enabled": false
},
"springScheduling": {
"enabled": false
}
}
}
Bu ortam değişkenlerini olarak ayarlayarak da bu izlemeleri false
gizleyebilirsiniz:
APPLICATIONINSIGHTS_INSTRUMENTATION_AZURE_SDK_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_CASSANDRA_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_JDBC_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_JMS_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_KAFKA_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_MICROMETER_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_MONGO_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_RABBITMQ_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_REDIS_ENABLED
APPLICATIONINSIGHTS_INSTRUMENTATION_SPRING_SCHEDULING_ENABLED
Bu değişkenler daha sonra JSON yapılandırmasında belirtilen etkin değişkenlere göre önceliklidir.
Not
Örneğin, tüm redis çağrılarını değil de bazı redis çağrılarını engellemek için daha ayrıntılı bir denetim arıyorsanız bkz . Örnekleme geçersiz kılmaları.
Önizleme izlemeleri
Sürüm 3.2.0'dan başlayarak aşağıdaki önizleme izlemelerini etkinleştirebilirsiniz:
{
"preview": {
"instrumentation": {
"akka": {
"enabled": true
},
"apacheCamel": {
"enabled": true
},
"grizzly": {
"enabled": true
},
"play": {
"enabled": true
},
"springIntegration": {
"enabled": true
},
"vertx": {
"enabled": true
}
}
}
}
Not
Akka izleme sürümü 3.2.2'den itibaren kullanılabilir. Vertx HTTP Kitaplığı izlemesi sürüm 3.3.0'dan itibaren kullanılabilir.
Ölçüm aralığı
Varsayılan olarak ölçümler her 60 saniyede bir yakalanır.
Sürüm 3.0.3'ten başlayarak bu aralığı değiştirebilirsiniz:
{
"metricIntervalSeconds": 300
}
3.4.9 GA'dan başlayarak, ortam değişkenini metricIntervalSeconds
APPLICATIONINSIGHTS_METRIC_INTERVAL_SECONDS
kullanarak da ayarlayabilirsiniz. Ardından JSON yapılandırmasında belirtilenden önceliklidir metricIntervalSeconds
.
Ayar aşağıdaki ölçümler için geçerlidir:
- Varsayılan performans sayaçları: Örneğin, CPU ve bellek
- Varsayılan özel ölçümler: Örneğin, çöp toplama zamanlaması
- Yapılandırılan JMX ölçümleri: JMX ölçümü bölümüne bakın
- Mikrometre ölçümleri: Otomatik olarak toplanan Mikrometre ölçümleri bölümüne bakın
Sinyal
Varsayılan olarak, Application Insights Java 3.x her 15 dakikada bir sinyal ölçümü gönderir. Uyarıları tetikleme amacıyla sinyal ölçümünü kullanıyorsanız bu sinyalin sıklığını artırabilirsiniz:
{
"heartbeat": {
"intervalSeconds": 60
}
}
Not
Sinyal verileri Application Insights kullanımını izlemek için de kullanıldığından aralığı 15 dakikadan uzun süreye çıkaramazsınız.
Kimlik doğrulaması (önizleme)
Not
Kimlik doğrulama özelliği 3.2.0 sürümünden itibaren kullanılabilir.
Azure Active Directory kimlik doğrulaması için gereken belirteç kimlik bilgilerini oluşturmak üzere aracıyı yapılandırmak için kimlik doğrulamasını kullanabilirsiniz. Daha fazla bilgi için Kimlik doğrulaması belgelerine bakın.
HTTP ara sunucusu
Uygulamanız bir güvenlik duvarının arkasındaysa ve doğrudan Application Insights'a bağlanamıyorsa (bkz. Application Insights tarafından kullanılan IP adresleri), Application Insights Java 3.x'i HTTP ara sunucusu kullanacak şekilde yapılandırabilirsiniz:
{
"proxy": {
"host": "myproxy",
"port": 8080
}
}
Http proxy'sini, biçimini https://<host>:<port>
alan ortam değişkenini APPLICATIONINSIGHTS_PROXY
kullanarak da ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen ara sunucuya göre önceliklidir.
Application Insights Java 3.x ayrıca, ayarlandıysa http.nonProxyHosts
genel https.proxyHost
ve https.proxyPort
sistem özelliklerine ve gerekirse değerine de dikkat eder.
Alma hatalarından kurtarma
Application Insights hizmetine telemetri gönderme işlemi başarısız olduğunda, Application Insights Java 3.x telemetriyi diske depolar ve diskten yeniden denemeye devam eder.
Disk kalıcılığı için varsayılan sınır 50 Mb'tır. Telemetri biriminiz yüksekse veya daha uzun ağ veya alım hizmeti kesintilerinden kurtarabilmeniz gerekiyorsa, sürüm 3.3.0'dan başlayarak bu sınırı artırabilirsiniz:
{
"preview": {
"diskPersistenceMaxSizeMb": 50
}
}
Kendi kendine tanılama
"Kendi kendine tanılama", Application Insights Java 3.x'ten iç günlüğe kaydetmeyi ifade eder. Bu işlevsellik, Application Insights'ın kendisiyle ilgili sorunları saptamak ve tanılamak için yararlı olabilir.
Varsayılan olarak, Application Insights Java 3.x bu yapılandırmaya karşılık gelen dosya applicationinsights.log
ve konsol düzeyinde INFO
günlüğe kaydeder:
{
"selfDiagnostics": {
"destination": "file+console",
"level": "INFO",
"file": {
"path": "applicationinsights.log",
"maxSizeMb": 5,
"maxHistory": 1
}
}
}
Yukarıdaki yapılandırma örneğinde:
level
, ,ERROR
,WARN
,INFO
DEBUG
veyaTRACE
olabilirOFF
.path
mutlak veya göreli bir yol olabilir. Göreli yollar, bulunduğuapplicationinsights-agent-3.4.10.jar
dizinde çözümlenir.
Sürüm 3.0.2'den başlayarak, ortam değişkenini APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVEL
kullanarak kendi kendine tanılamayı level
da ayarlayabilirsiniz. Ardından JSON yapılandırmasında belirtilen kendi kendine tanılama düzeyinden önceliklidir.
Sürüm 3.0.3'ten başlayarak, ortam değişkenini APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_FILE_PATH
kullanarak kendi kendine tanılama dosyası konumunu da ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen kendi kendine tanılama dosya yolundan önceliklidir.
Bir örnek
Bu örnekte bir yapılandırma dosyasının birden çok bileşenle nasıl göründüğü gösterilmektedir. Gereksinimlerinize göre belirli seçenekleri yapılandırın.
{
"connectionString": "...",
"role": {
"name": "my cloud role name"
},
"sampling": {
"percentage": 100
},
"jmxMetrics": [
],
"customDimensions": {
},
"instrumentation": {
"logging": {
"level": "INFO"
},
"micrometer": {
"enabled": true
}
},
"proxy": {
},
"preview": {
"processors": [
]
},
"selfDiagnostics": {
"destination": "file+console",
"level": "INFO",
"file": {
"path": "applicationinsights.log",
"maxSizeMb": 5,
"maxHistory": 1
}
}
}