Tüm Ürünler
Search
Belge Merkezi

Managed Service for OpenTelemetry:SkyWalking aracıyla Java uygulama verilerini raporlama

Son Güncelleme:Oct 06, 2026

Uygulamanızı SkyWalking kullanarak enstrümante ettikten ve izleme verilerini Managed Service for OpenTelemetry hizmetine raporladıktan sonra, Managed Service for OpenTelemetry uygulamanızı izlemeye başlar. Uygulama topolojisi, izler, anormal işlemler, yavaş işlemler ve SQL analizi gibi çeşitli izleme verilerini görüntüleyebilirsiniz. Bu konuda, otomatik enstrümantasyon için SkyWalking Java Aracısının nasıl kullanılacağı açıklanmakta ve yapılandırılabilir nitelikleri hakkında bilgi verilmektedir.

Ön koşullar

  • SkyWalking indirme sayfasını açın ve SkyWalking 6.X.X veya daha yeni bir sürümü (en son kararlı sürüm önerilir) indirin. Çıkarılan agent klasörünü, Java işlemi tarafından erişilebilen bir dizine yerleştirin.

  • Tüm eklentiler /plugins dizininde depolanır. Yeni bir eklentiyi etkinleştirmek için başlatmadan önce bu dizine ekleyin. Bir eklentiyi devre dışı bırakmak için bu dizinden kaldırın. Varsayılan olarak günlük dosyaları /logs dizinine yazılır.

Uyarı

Günlük dosyaları, eklentiler ve yapılandırma dosyaları agent klasöründe bulunur. Dizin yapısını değiştirmeyin.

Uç nokta alma

New console

  1. Managed Service for OpenTelemetry konsolunda oturum açın. Sol gezinme bölmesinde Integration Center seçeneğine tıklayın.

  2. Integration Center sayfasında, Open Source Frameworks bölümündeki SkyWalking kartına tıklayın.

  3. SkyWalking panelinde Start Integration sekmesine tıklayın ve ardından verileri raporlamak istediğiniz bölgeyi seçin.

    Not

    Bir bölgeye ilk kez eriştiğinizde, kaynaklar o bölgede otomatik olarak başlatılır.

  4. Connection Type parametresini yapılandırın ve bir uç noktayı kopyalayın.

    Hizmetiniz Alibaba Cloud üzerinde dağıtılmışsa ve seçtiğiniz bölgede bulunuyorsa, bu parametreyi Alibaba Cloud VPC Network olarak ayarlamanızı öneririz. Aksi takdirde, bu parametreyi Public Network olarak ayarlayın.

    image.png

Old console

  1. Managed Service for OpenTelemetry konsolunda oturum açın.

  2. Sol gezinme bölmesinde Cluster Configurations seçeneğine tıklayın. Açılan sayfada Access point information sekmesine tıklayın.

  3. Üst gezinme çubuğundan verileri raporlamak istediğiniz bölgeyi seçin. Cluster Information bölümünde Show Token seçeneğini açın.

  4. Client parametresini SkyWalking olarak ayarlayın.

    Tablonun Related Information sütununda bir uç noktayı kopyalayın.

    SkyWalking接入点信息

    Not

    Uygulamanız bir Alibaba Cloud üretim ortamında dağıtılmışsa VPC uç noktasını kullanın. Aksi takdirde genel uç noktasını kullanın.

Arka plan

SkyWalking, mikro hizmet, Cloud Native ve konteyner tabanlı (Docker, Kubernetes ve Mesos) mimariler üzerine inşa edilmiş uygulamalar için tasarlanmış popüler bir Uygulama Performans İzleme (APM) aracıdır. SkyWalking'in çekirdeğinde dağıtık izleme sistemi yer alır.

Java uygulamanızdan Managed Service for OpenTelemetry konsoluna veri raporlamak için SkyWalking'i kullanmanız gerekir; bunun için öncelikle uygulamayı enstrümante etmelisiniz. SkyWalking, Dubbo, gRPC, JDBC, OkHttp, Spring, Tomcat, Struts ve Jedis gibi çerçeveler için otomatik enstrümantasyonu ve OpenTracing ile manuel enstrümantasyonu destekler. Bu konuda otomatik enstrümantasyon yöntemi açıklanmaktadır.

Demo

Kod deposu: SkyWalking Demo

SkyWalking ile Java uygulamasını enstrümante etme

  1. SkyWalking Java Agent paketini indirin.

  2. SkyWalking Java Agent yapılandırma dosyasında bağlantı ve hizmet bilgilerini yapılandırın.

    collector.backend_service=<endpoint> // Replace with the endpoint obtained from the prerequisites.
    agent.authentication=<token> // Replace with the authentication token obtained from the prerequisites.
    agent.service_name=<service-name> // Replace with your actual service name.
  3. Uygulamanızın çalışma zamanı ortamına göre SkyWalking aracının yolunu belirtin.

    Not

    Aşağıdaki örneklerde <skywalking-agent-path> ifadesini, agent klasöründeki skywalking-agent.jar dosyasının mutlak yoluyla değiştirin.

    Linux Tomcat 7 / Tomcat 8

    Aşağıdaki satırı tomcat/bin/catalina.sh dosyasının ilk satırına ekleyin:

    CATALINA_OPTS="$CATALINA_OPTS -javaagent:<skywalking-agent-path>"; export CATALINA_OPTS

    Windows Tomcat 7 / Tomcat 8

    Aşağıdaki satırı tomcat/bin/catalina.bat dosyasının ilk satırına ekleyin:

    set "CATALINA_OPTS=-javaagent:<skywalking-agent-path>"

    JAR or Spring Boot

    Uygulamanızın başlatma komutuna -javaagent parametresini ekleyin.

    Önemli

    -javaagent parametresi -jar parametresinden önce gelmelidir.

    java -javaagent:<skywalking-agent-path> -jar yourApp.jar

    Jetty

    Aşağıdaki satırları {JETTY_HOME}/start.ini yapılandırma dosyasına ekleyin:

    --exec
    -javaagent:<skywalking-agent-path>
  4. Uygulamanızı yeniden başlatın.

Yapılandırılabilir Java agent nitelikleri

SkyWalking Java aracı, kullanıcı tarafından yapılandırılabilen çok sayıda niteliği destekler. Niteliklerin tam listesi için demo örneğindeki config/agent.config dosyasına bakın.

Temel nitelikler

Aşağıdaki nitelikler apache-skywalking-java-agent-8.16.0 sürümüne dayanmaktadır.

Agent niteliklerini görüntüle

Parametre

Açıklama

Varsayılan

agent.namespace

İşlemler arası yayılım için üstbilgileri yalıtmak üzere ad alanını belirtir. Ayarlandığında üstbilgi biçimi HeaderName:Namespace olur.

Ayarlanmamış

agent.service_name

SkyWalking kullanıcı arayüzünde görüntülenen hizmet adı. Bu, v5.x'teki Application ve v6.x'teki Service karşılık gelir. Her hizmet için benzersiz bir ad ayarlayın. Bir hizmetin tüm örnekleri aynı adı paylaşmalıdır.

Your_ApplicationName

agent.sample_n_per_3_secs

Her 3 saniyede bir örneklenmesi gereken iz sayısını ayarlar. 0 veya daha küçük bir değer örnekleme özelliğini devre dışı bırakır.

Ayarlanmamış

agent.authentication

Kimlik doğrulamanın gerekli olup olmadığı arka uç yapılandırmasına bağlıdır. Belirteci sunucu uç noktasında görüntüleyebilirsiniz. Çoğu kullanım durumu, arka uçta bir kimlik doğrulama uzantısı gerektirir. Şu anda yalnızca temel kimlik doğrulama uygulanmıştır.

Ayarlanmamış

agent.span_limit_per_segment

Tek bir segmentteki maksimum span sayısı. SkyWalking bu ayarı uygulama bellek kullanımını tahmin etmek için kullanır.

Ayarlanmamış

agent.ignore_suffix

İlk span'in işlem adı bu listedeki bir girişle eşleşirse, agent segmenti atar.

Ayarlanmamış

agent.is_open_debugging_class

true ise, SkyWalking enstrümante edilen tüm sınıf dosyalarını /debugging dizinine kaydeder. SkyWalking ekibi uyumluluk sorunlarını gidermek için bu dosyaları isteyebilir.

Ayarlanmamış

agent.cause_exception_depth

Kaydedilecek özel durum neden zincirinin derinliği.

5

agent.force_reconnection_period

grpc_channel_check_interval değerinin katı olarak gRPC yeniden bağlantısını zorlama aralığı.

1

agent.operation_name_threshold

Bir işlem adı için önerilen maksimum uzunluğu ayarlar. Sabit sınır 190'dır.

150

agent.keep_tracing

true ise, arka uç kullanılamıyor olsa bile agent izlemeye devam eder.

false

osinfo.ipv4_list_size

Raporlanacak maksimum IPv4 adresi sayısı.

10

collector.grpc_channel_check_interval

gRPC kanal durumunun kontrol edileceği aralık (saniye cinsinden).

30

collector.backend_service

SkyWalking izleme verilerini alan arka uç adresi.

127.0.0.1:11800

collector.heartbeat_period

Agent'in heartbeat gönderme aralığı (saniye cinsinden).

30

collector.grpc_upstream_timeout

gRPC istemcisinin yukarı yönde veri gönderme zaman aşımı (saniye cinsinden).

30

collector.get_profile_task_interval

Profil oluşturucunun profil oluşturma görevleri listesini getirme aralığı (saniye cinsinden).

20

logging.level

Agent'in günlük düzeyi.

DEBUG

logging.file_name

Günlük dosyasının adı.

skywalking-api.log

logging.output

Günlük çıktısının hedefi. Dosyaya günlükleme yapmak için FILE, standart çıktıya günlükleme yapmak için CONSOLE olarak ayarlayın.

FILE

logging.dir

Günlük dizini. Boş bırakılırsa, günlükler stdout konumuna yazılır.

""

logging.pattern

Günlük biçim deseni. Aşağıdaki dönüştürme belirteçleri desteklenir:

  • %level: Günlük düzeyi.

  • %timestamp: yyyy-MM-dd HH:mm:ss:SSS biçimindeki geçerli saat.

  • %thread: Geçerli iş parçacığının adı.

  • %msg: Günlük mesajı.

  • %class: Hedef sınıfın basit adı.

  • %throwable: Günlüğe kaydedilen özel durumun yığın izi.

  • %agent_name: agent.service_name değeri.

%level %timestamp %thread %class : %msg %throwable

logging.max_file_size

Bir günlük dosyasının maksimum boyutu. Bir günlük dosyası bu boyutu aştığında, agent dosyayı arşivler ve yeni bir tane oluşturur.

300 1024 1024

logging.max_history_files

Tutulacak maksimum arşivlenmiş günlük dosyası sayısı. 0 veya daha küçük bir değer, tüm arşivlenmiş dosyaların tutulduğu anlamına gelir.

-1

Yapılandırma yöntemleri

Sistem özellikleri

agent.config dosyasındaki nitelik adından önce -Dskywalking. ön ekini kullanın. Örneğin:

# Configure agent.service_name using a system property
java -javaagent:/path/to/skywalking-agent.jar -Dskywalking.agent.service_name=<your_service_name> -jar your-project.jar

Agent seçenekleri

JVM bağımsız değişkenlerinde agent yoluna nitelikleri ekleyin.

# Syntax
-javaagent:/path/to/skywalking-agent.jar=[key1]=[value1],[key2]=[value2]
# Example
java -javaagent:/path/to/skywalking-agent.jar=agent.service_name=<your-service-name>,agent.authentication=<your-token> -jar your-project.jar

Ortam değişkenleri

SkyWalking aracı ortam değişkenlerini otomatik olarak okur. Her niteliğe karşılık gelen ortam değişkenini config/agent.config dosyasında bulabilirsiniz. Örneğin, agent.service_name için ortam değişkeni SW_AGENT_NAME şeklindedir.

agent.service_name=${SW_AGENT_NAME:default_name}
# Set the environment variable
export SW_AGENT_NAME=<your_service_name>

Öncelik sırası

Yapılandırma ayarları yüksekten düşüğe doğru şu öncelik sırasıyla uygulanır: agent seçenekleri, sistem özellikleri, ortam değişkenleri ve yapılandırma dosyası.

Java agent eklentileri

SkyWalking Java aracı çeşitli ara katmanları, çerçeveleri ve kitaplıkları destekler. Desteklenen tüm eklentiler demo uygulamasının /plugins klasöründe mevcuttur.

Eklentileri etkinleştirme

/plugins klasöründeki tüm eklentiler etkindir. Bir eklentiyi devre dışı bırakmak için JAR dosyasını /plugins klasöründen kaldırın.

Resmi olarak desteklenen eklentiler

Resmi olarak desteklenen tüm eklentiler /plugins klasöründe bulunur.

İsteğe bağlı eklentiler

İsteğe bağlı eklentiler, agent paketinin optional-plugins klasöründe veya üçüncü taraf bir depoda bulunur. İsteğe bağlı bir eklentiyi etkinleştirmek için JAR dosyasını /plugins klasörüne taşıyın.

optional-plugins/
  apm-customize-enhance-plugin-8.16.0.jar
  apm-ehcache-2.x-plugin-8.16.0.jar
  apm-fastjson-1.x-plugin-8.16.0.jar
  apm-gson-2.x-plugin-8.16.0.jar
  apm-guava-cache-plugin-8.16.0.jar
  apm-jackson-2.x-plugin-8.16.0.jar
  apm-kotlin-coroutine-plugin-8.16.0.jar
  apm-mybatis-3.x-plugin-8.16.0.jar
  apm-quartz-scheduler-2.x-plugin-8.16.0.jar
  apm-resttemplate-6.x-plugin-8.16.0.jar
  apm-sentinel-1.x-plugin-8.16.0.jar
  apm-shenyu-2.4.x-plugin-8.16.0.jar
  apm-spring-annotation-plugin-8.16.0.jar
  apm-spring-cloud-gateway-2.0.x-plugin-8.16.0.jar
  apm-spring-cloud-gateway-2.1.x-plugin-8.16.0.jar
  apm-spring-cloud-gateway-3.x-plugin-8.16.0.jar
  apm-spring-tx-plugin-8.16.0.jar
  apm-spring-webflux-5.x-plugin-8.16.0.jar
  apm-springmvc-annotation-6.x-plugin-8.16.0.jar
  apm-trace-ignore-plugin-8.16.0.jar
  apm-zookeeper-3.4.x-plugin-8.16.0.jar
  trace-sampler-cpu-policy-plugin-8.16.0.jar

Bootstrap eklentileri

Olası kararlılık riskleri nedeniyle tüm bootstrap eklentileri isteğe bağlıdır. Bunlar bootstrap-plugins klasöründe bulunur. Bir bootstrap eklentisini etkinleştirmek için JAR dosyasını /plugins klasörüne taşıyın.

bootstrap-plugins/
  apm-jdk-forkjoinpool-plugin-8.16.0.jar
  apm-jdk-http-plugin-8.16.0.jar
  apm-jdk-threading-plugin-8.16.0.jar
  apm-jdk-threadpool-plugin-8.16.0.jar

Desteklenen eklentiler

Bazı eklentiler, olası performans etkileri veya kullanım sınırlamaları nedeniyle yalnızca üçüncü taraf bir depodan edinilebilir. Daha fazla bilgi için SkyAPM Java Plugin Extension deposuna bakın.

Eklenti listesini görüntülemek için genişletin

Çerçeve

Eklenti sürümü

HTTP sunucusu

Tomcat 7

Tomcat 8

Tomcat 9

Spring Boot Web 4.x

Servlet 3.x ile Spring MVC 3.x, 4.x, 5.x

Nutz Web Framework 1.x

Struts2 MVC 2.3.x - 2.5.x

Resin 3

Resin 4

Jetty Server 9

Spring WebFlux 5.x

Undertow 2.0.0.Final - 2.0.13.Final

RESTEasy 3.1.0.Final - 3.7.0.Final

Play Framework 2.6.x - 2.8.x

Light4J Microservices Framework 1.6.x - 2.x

Netty SocketIO 1.x

HTTP istemcisi

Feign 9.x

Netflix Spring Cloud Feign 1.1.x, 1.2.x, 1.3.x

OkHttp 3.x

Apache httpcomponent HttpClient 4.2, 4.3

Spring RestTemplate 4.x

Jetty Client 9

Apache httpcomponent AsyncClient 4.x

HTTP ağ geçidi

Spring Cloud Gateway 2.1.x.RELEASE

JDBC

MySQL Driver 5.x, 6.x, 8.x

Oracle Driver

H2 Driver 1.3.x - 1.4.x

Sharding-JDBC 1.5.x

ShardingSphere 3.0.0

ShardingSphere 3.0.0, 4.0.0-RC1

PostgreSQL Driver 8.x, 9.x, 42.x

MariaDB Driver 2.x, 1.8

RPC çerçevesi

Dubbo 2.5.4 - 2.6.0

Dubbox 2.8.4

Apache Dubbo 2.7.0

Motan 0.2.x - 1.1.0

gRPC 1.x

Apache ServiceComb Java Chassis 0.1 - 0.5, 1.0.x

SOFARPC 5.4.0

Armeria 0.63.0 - 0.98.0

Apache Avro 1.7.0 - 1.8.x

Finagle 6.25.0 - 20.1.0

Mesaj kuyruğu

RocketMQ 4.x

Kafka 0.11.0.0 - 1.0

ActiveMQ 5.x

RabbitMQ 5.x

Pulsar 2.2.x - 2.4.x

NoSQL

Redis

Jedis 2.x

Redisson client 3.5.2+

Lettuce 5.x

MongoDB

MongoDB Java Driver 2.13 - 2.14, 3.3+

Memcached istemcisi

Spymemcached 2.x

Xmemcached 2.x

Elasticsearch

transport-client 5.2.x - 5.6.x

transport-client 6.7.1 - 6.8.4

rest-high-level-client 6.7.1 - 6.8.4

SolrJ 7.0.0 - 7.7.1

SolrJ 7.x

Cassandra 3.x

cassandra-java-driver 3.7.0 - 3.7.2

Hizmet keşfi

Netflix Eureka

Dağıtık koordinasyon

ZooKeeper 3.4.x (3.4.4 hariç)

Spring ekosistemi

Spring Bean açıklamaları (@Bean, @Service, @Component, @Repository) 3.x ve 4.x

Spring Core Async SuccessCallback/FailureCallback/ListenableFutureCallback 4.x

Hystrix: Dağıtık sistemler için gecikme süresi ve hata toleransı 1.4.20 - 1.5.12

Zamanlayıcı

Elastic-Job 2.x

OpenTracing topluluk desteği

Canal 1.0.25 - 1.1.2: MySQL binlog'larına artımlı abonelik için bir Alibaba bileşeni

JSON

GSON 2.8.x

Vert.x ekosistemi

Vert.x Eventbus 3.2+

Vert.x Web 3.x

İş parçacığı zamanlama çerçevesi

Spring @Async 4.x ve 5.x

Önbellek

Ehcache 2.x

Kotlin

Coroutine 1.0.1 - 1.3.x

Eklenti geliştirme

Özel bir SkyWalking Java agent eklentisi geliştirmek için resmi belgelere bakın.

Managed Service for OpenTelemetry izleme raporlamasını destekler. Özel bir izleme eklentisi geliştirmeyle ilgili ayrıntılar için resmi belgelere bakın.

SSS

S: SkyWalking Aracısı sunucuya bağlandıktan sonra uygulamam neden görünmüyor?

C: Bu sorun, dağıtık izleme verilerinin raporlanmadığında ortaya çıkar. Bunu doğrulamak için {skywalking agent path}/logs/skywalking-api.log dosyasını kontrol edin. Veri raporlanıyorsa, aşağıdakine benzer bir SkyWalking Aracısı DEBUG günlüğünü görürsünüz. TraceSegmentServiceClient : 1 trace segments have been sent to collector. anahtar mesajı, dağıtık izleme verilerinin toplayıcıya başarıyla gönderildiğini onaylar.

DEBUG 2020-03-09 17:18:16:356 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.
DEBUG 2020-03-09 17:18:19:357 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.
DEBUG 2020-03-09 17:18:21:301 DataCarrier.DEFAULT.Consumer.0.Thread TraceSegmentServiceClient : 1 trace segments have been sent to collector.
DEBUG 2020-03-09 17:18:22:353 SkywalkingAgent-2-GRPCChannelManager-0 GRPCChannelManager : Selected collector grpc service running, reconnect:false.
DEBUG 2020-03-09 17:18:22:357 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.
DEBUG 2020-03-09 17:18:25:356 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.

Veri raporlaması gerçekleşmiyorsa, olası nedenler arasında etkin örnekleme, yapılandırılmış filtreler veya dağıtık izler oluşturan isteklerin bulunmaması yer alabilir.

S: ARMS, SkyWalking Java Agent 9.x veya sonraki sürümleri destekliyor mu? JDK 21 ortamındaki uyumluluk sorunlarını nasıl çözebilirim?

C: ARMS, SkyWalking açık kaynaklı ajanlara bağlanmayı destekler. Ancak, belirli SkyWalking Java Agent sürümlerinin (örneğin skywalking-java-agent:9.2.0 veya skywalking-java-agent:9.6.0) JDK sürümleriyle uyumluluğu açık kaynak topluluğu tarafından belirlenir. Sürüm uyumluluğunu doğrulamak için resmi SkyWalking belgelerine danışın.

JDK 21 çalıştırıyorsanız ve Unsupported class file major version 65 hatasıyla karşılaşıyorsanız, bunun nedeni eski Agent sürümlerinin (örneğin 8.7.0) Java 21'i (sınıf dosyası ana sürümü 65) desteklemeyen bir Byte-buddy sürümüne bağlı olmasıdır. Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanın:

  • SkyWalking Java Agent sürümünüzü 8.16.0 veya daha yeni bir sürüme yükseltin. Bu sürüm, Java 21'i destekleyen bir Byte-buddy sürümü içerir.

  • Uygulamanızın JDK'sını mevcut Agent tarafından desteklenen bir sürüme düşürün.

Daha yüksek JDK sürümleri için kararlı desteğe ihtiyacınız varsa, bunun yerine ARMS'e özgü uygulama izleme ajanını kullanmanızı öneririz.

S: SkyWalking aracısının Pod yerel disk kullanımında önemli bir etkisi var mı?

C: SkyWalking aracısının Pod yerel diski üzerinde minimal bir etkisi vardır. Aracı, günlükleri yalnızca geçici olarak yerel depolamaya yazar (varsayılan yollar: ArmsAgent/log veya Agent klasörü içindeki /logs dizini). İzleme verilerini kalıcı olarak depolamaz. SkyWalking aracısının temel kaynak tüketimi CPU ve bellektir, disk değildir. Günlük dosyaları kısa bir süre tutulur ve sistem tarafından otomatik olarak temizlenir. Bu nedenle, SkyWalking aracısının Pod yerel disk kullanımında ihmal edilebilir bir etkisi vardır.