Java yapılanışı
- Uygulama adının yapılandırılması
- Özel JMX metrikleri
- Java izlemenin etkinleştirilmesi ve geçersiz kılınması
- Otomatik özel işlemden geçirmenin geçersiz kılınması
- IBM MQ
- Kafka İlinti Üstbilgilerini İzle
Uygulama adının yapılandırılması
Varsa, uygulama adı otomatik olarak başlatılacak .jar dosyasından alınır; tersi durumda, komut satırı Java araçlarının JVM ' leri görüntülemesi ile aynı şekilde kullanılır.
.jar dosyasında META-INF/Manifest.MF içindeki iki standart öznitelik şunlardır:
Implementation-Title=Demo App
Implementation-Version=1.0.0
Oluşturma araçları kullanılarak, uygulama oluşturulurken her iki öznitelik de ayarlanabilir. Daha fazla bilgi için Oracle belgelerinebakın.
Yukarıdaki yordam kullanılarak herhangi bir ad alınmazsa, bu ad çeşitli sistem özelliklerinin (örneğin, Tomcat taşıyıcıları için -Dcatalina.home ) incelenmesiyle belirlenir.
JVM başlatılırken uygulama adını belirtik olarak ayarlamak için -Dcom.instana.agent.jvm.name="My Custom Name" özniteliğini belirtin.
Aracının önceden var olan bir özel sistem özelliğini kullanmasını sağlamak için, configuration.yamlaracısında bir özellikler listesi belirtin. Var olan ilk özellik JVM ' yi adlandırır:
com.instana.plugin.java:
name-properties:
- 'acme.app'
- 'DEPLOYMENT'
Özel JMX metrikleri
Hangi JMX metriklerinin izleneceği yapılandırmak için aracı configuration.yaml dosyasını düzenleyin.
com.instana.plugin.java:
jmx:
# JMX is NOT hot-reloaded and needs to be set before a JVM is discovered.
# Supported attribute types are Number and Boolean
# delta calculation is only supported for Number
- object_name: 'java.lang:type=Compilation'
metrics:
- attributes: 'TotalCompilationTime'
type: 'delta' # delta will report the change to the previous second
- object_name: 'java.lang:type=ClassLoading'
metrics:
- attributes: 'LoadedClassCount'
type: 'absolute' # absolute will report the value as-is
Yukarıdaki örnekte iki tip metrik belirtilmiştir:
delta, göreli değişikliğin ilgi çekici kabul edildiği sayaçlar gibi zaman içinde artan değerler için kullanılır.absolute, metriğe her erişildiğinde gerçek değeri göstermek için kullanılır.
Belirtilen öznitelik bir Number (ya da Integer ya da Doublegibi alt sınıflarından biri) ya da bir sayıyı gösteren bir String olmalıdır.
JVM gösterge panosunda, JMX metrikleri Özel JMX metriklerialtında görüntülenir.
object_name , Java 'nın ObjectName API belgelerindebelirtildiği şekilde genel arama karakteri kalıpları içerebilir. Genel arama karakteri kalıplarına sahip bir yapılandırma örneği:
com.instana.plugin.java:
jmx:
- object_name: 'kafka.*:type=*-metrics,client-id=*,*'
metrics:
- attributes: 'incoming-byte-rate'
type: 'absolute'
- attributes: 'incoming-byte-total'
type: 'absolute'
- attributes: 'outgoing-byte-rate'
type: 'absolute'
- attributes: 'outgoing-byte-total'
type: 'absolute'
Java İzlemenin Etkinleştirilmesi ve Geçersiz Kılınması
Instana anasistem aracısını kurduktan sonra, varsayılan olarak varsayılan (SDK olmayan) Java İzleme izleme kodu ekleme etkinleştirilir, ancak OpenTracing izleme kodu ekleme ve Java İzleme SDK etkinleştirilmez.
Varsayılan Java İzleme özel işlemden geçirmeyi geçersiz kılmak için, aracı
configuration.yamldosyasını özel işlemden geçirme kısmındaenabled: truedeğerinienabled: falseolarak değiştirerek yapılandırın. Varsayılan Java İzleme özel işlemden geçirmeyi yeniden etkinleştirmek içinenabled: falsedeğerinienabled: trueolarak değiştirin.Java İzleme 'nin OpenTracing özel işlemden geçirilmesini etkinleştirmek için
opentracing: falsedeğerinienabled: trueolarak değiştirin. OpenTracing özel işlemden geçirmeyi yeniden etkinleştirmek içinopentracing: truedeğerinienabled: falseolarak değiştirin.Java İzleme SDK ' yı etkinleştirmek için SDK ek açıklaması için taranması gereken paketlerin bir listesini sağlayarak aracı
configuration.yamldosyasını yapılandırın. Varsayılan olarak, SDK ek açıklamaları için hiçbir paket taranmaz. Java İzleme SDK ' yı yeniden devre dışı bırakmak için tüm paketler bölümünü yorum yapın.
Aşağıdaki örnekte, varsayılan Java İzleme izleme kodu ekleme devre dışı bırakılmıştır ve OpenTracing izleme kodu ekleme ve Java İzleme SDK etkinleştirilmiştir.
# Java Tracing
#com.instana.plugin.javatrace:
instrumentation:
# # Lightweight Bytecode Instrumentation, enabled by default
# # Disabling currently requires an agent restart
enabled: false
# # OpenTracing instrumentation, disabled by default
# # Enabling requires an agent restart
opentracing: true
# # To enable using the SDK, provide a list of packages that should be
# # scanned for SDK annotations. All subpackages are scanned, as it is a
# # starts-with prefix matching.
# # Scanning a large amount of classes slows down agent attach and requires
# # more CPU for parsing, therefore it is recommended to limit to packages
# # actually using SDK annotations.
# # By default no packages are scanned for SDK annotations.
sdk:
packages:
- 'com.instana.backend'
- 'com.instana.frontend'
Otomatik özel işlemden geçirmenin geçersiz kılınması
Bu YönOrtamıana paketi, paket yüklemesi sırasında kullanıma hazırlanan otomatik özel işlemden geçirmeyi içerir. Bu özel işlemden geçirme, instana gösterge panonuza dağıtılmış izleme bilgileri sağlar.
Otomatik özel işlemden geçirmeyi (izlemeyi) devre dışı bırakmak için aracı configuration.yaml dosyasını düzenleyin.
com.instana.plugin.javatrace:
instrumentation:
# Lightweight Bytecode Instrumentation, enabled by default
# Disabling currently requires an agent restart
enabled: true
Bir Java işlemi için izleme özel işlemden geçirmenin geçersiz kılınması
Java izleme kod değişikliği varsayılan olarak tüm Java işlemleri için etkinleştirilir.
Bir Java işlemine ilişkin izleme kodunu geçersiz kılmak için aşağıdaki adımlardan birini gerçekleştirin:
-Dinstana.java.tracer.enabled=falsesistem özelliğini Java sanal makinesi (JVM) bağımsız değişkeni olarak ekleyin.INSTANA_JAVA_TRACER_ENABLED=falsesistem ortam değişkenini ekleyin.
Not: Her ikisi de sağlanırsa, sistem özelliği sistem ortam değişkeninden daha yüksek önceliğe sahiptir.
IBM MQ
Bazı IBM MQ tüketici istemcilerinde, IBM MQ iletilerinde ek üstbilgi verilerinin bulunması, ileti işleme hatalarına ve ileti reddedilmesine neden olabilir. Bu, IBM MQ Java uygulamaları için YönOrtamıizleme üstbilgisi ilintilendirmesinin varsayılan olarak etkinleştirilmemesinin nedenidir.
Üretim ortamında etkinleştirmeden önce üretim dışı bir ortamda IBM MQ izleme ilintisini test etmek önemle önerilir . İzleme ilintilendirme desteğinin etkinleştirilmesi IBM MQ istemci uygulamalarında hatalara neden olursa, aşağıdaki işlemlerden birini gerçekleştirin:
- Bu, değiştirilebilen bir uygulamaysa, YönOrtamıla eklenen ek IBM MQ üstbilgi verilerini yoksayacak şekilde uygulamayı güncelleyin. IBM MQ istemci değişikliklerini yapmak için yardım gerekirse IBM MQ desteğine başvurabilirsiniz.
- Değiştirilemeyen bir uygulamaysa, IBM MQ izleme ilinti desteğini etkinleştirmeyin.
IBM MQ izleme ilintisi etkinleştirildiyse, izleme ilintisini etkinleştirmek istediğiniz kuyruk adlarına süzgeç uygulamak için ibmmq-optin-queues-regexp düzenli ifade değerini de ayarlayabilirsiniz. İsteğe bağlı bir değerdir. Eksikse, izleme ilintisi tüm kuyruklara uygulanır.
IBM MQiçin izleme ilintisini etkinleştirmek üzere aracı configuration.yaml dosyasını düzenleyin.
# General Tracing Settings
com.instana.tracing:
ibm-mq:
trace-correlation: true
ibmmq-optin-queues-regexp: '^QueueName.*'
Bu yapılandırma, Java İzleme Algılayıcısı güncellendiğinde ya da YönOrtamıAna aracısı yaklaşık 15 dakika kapatıldıktan sonra yeni JVM ' ler için algılanacaktır. Çalıştırma sırasında çalışırken yeniden yüklenmez ve hızlı aracı yeniden başlatması da bu yapılandırmayı almayacaktır (bu bir eniyileme, çünkü bir yapılandırma değişikliği için tam bir yeniden izleme gerekir).
Alternatif olarak, IBM MQ istemcilerini içeren uygulama JVM ' lerinde bir sistem özelliği belirtilebilir:
-Dinstana.ibm.mq.trace.correlation.enable=true -Dcom.instana.ibm.mq.trace.optin.queues="^QueueName.*"
IBM MQ algılayıcısı, kullanıcı çıkışlarını kullanarak bir izleme yeteneği de sağlar. IBM MQ algılayıcısı hakkında daha fazla bilgi için bkz. Monitoring IBM MQ.
Kafka İlinti Üstbilgilerini İzle
Java izleyicisi tarafından INSTANA_KAFKA_HEADER_FORMATortam değişkeniyle kullanılan Kafka izleme ilinti üstbilgileri için üstbilgi biçimini yapılandırabilirsiniz. Geçerli değerler: binary, stringya da both. Kafka izleme ilintisini INSTANA_KAFKA_TRACE_CORRELATION=false ile tamamen devre dışı bırakabilirsiniz, ancak bu önerilmez.
Her iki seçenek de bir sistem özelliği olarak yapılandırılabilir:
- Üstbilgi biçimini değiştirmek için JVM ' yi başlattığınızda
-Dcom.instana.kafka.trace.header.format=binary,-Dcom.instana.kafka.trace.header.format=bothya da-Dcom.instana.kafka.trace.header.format=bothseçeneklerinden birini belirtin. - Kafka izleme ilintisini tamamen devre dışı bırakmak için (önerilmez), JVM ' yi başlattığınızda
-Dcom.instana.kafka.trace.correlation=falseseçeneğini belirtin.
Diğer bir seçenek de, Kafka izleme ilinti seçeneklerini YönOrtamıAna anasistem aracısıdüzeyinde yapılandırmaktır.
Daha fazla bilgi için bkz. Kafka Üstbilgi Geçişi.