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.jsonve ile aynı dizinde applicationinsights-agent-3.4.10.jaryer almalarını bekler.

Aşağıdaki iki seçenekten birini kullanarak kendi yapılandırma dosyası yolunuzu belirtebilirsiniz:

  • APPLICATIONINSIGHTS_CONFIGURATION_FILE ortam değişkeni
  • applicationinsights.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_CONTENTaracılığıyla belirtebilirsiniz.

Bağlantı dizesi

Bağlantı dizesi gereklidir. Bağlantı dizenizi Application Insights kaynağınızda bulabilirsiniz.

Application Insights bağlantı dizesini gösteren ekran görüntüsü.

{
  "connectionString": "..."
}

Bağlantı dizesini ortam değişkenini APPLICATIONINSIGHTS_CONNECTION_STRINGkullanarak da ayarlayabilirsiniz. Daha sonra JSON yapılandırmasında belirtilen bağlantı dizesine göre önceliklidir.

Ya da Java sistem özelliğini applicationinsights.connection.stringkullanarak 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_NAMEkullanarak 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.namekullanarak 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_INSTANCEkullanarak 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.instancekullanarak 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_SECONDkullanarak ö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_PERCENTAGEkullanarak ö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 /myapp1iç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 /myapp1iç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 /myapp1iç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.ConnectionStringstatik 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.exampleyalnı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_LEVELkullanarak 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 tracesexceptions 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, MethodNameve 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:

  1. Uygulamanıza Mikrometre ekleyin:

    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
      <version>1.6.1</version>
    </dependency>
    
  2. Ölçüm oluşturmak için Micrometer genel kayıt defterini kullanın:

    static final Counter counter = Metrics.counter("test.counter");
    
  3. Ölçümleri kaydetmek için sayacı kullanın:

    counter.increment();
    
  4. Ö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 olarak test_countergö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 falsegizleyebilirsiniz:

  • 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 metricIntervalSecondsAPPLICATIONINSIGHTS_METRIC_INTERVAL_SECONDSkullanarak da ayarlayabilirsiniz. Ardından JSON yapılandırmasında belirtilenden önceliklidir metricIntervalSeconds .

Ayar aşağıdaki ölçümler için geçerlidir:

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_PROXYkullanarak 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.nonProxyHostsgenel 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, INFODEBUGveya TRACEolabilirOFF.
  • path mutlak veya göreli bir yol olabilir. Göreli yollar, bulunduğu applicationinsights-agent-3.4.10.jar dizinde çözümlenir.

Sürüm 3.0.2'den başlayarak, ortam değişkenini APPLICATIONINSIGHTS_SELF_DIAGNOSTICS_LEVELkullanarak 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_PATHkullanarak 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
    }
  }
}