Tüm Ürünler
Search
Belge Merkezi

Application Real-Time Monitoring Service:SkyWalking ile Python uygulama verilerini raporlama

Son Güncelleme:Oct 06, 2026

Uygulamanızı SkyWalking ile enstrümanlayıp dağıtık izleme verilerini Managed Service for OpenTelemetry hizmetine raporladığınızda, Managed Service for OpenTelemetry uygulamanızı izlemeye başlar. Ardından uygulama topolojisi, izler, başarısız işlemler, yavaş işlemler ve SQL analizi gibi çeşitli izleme verilerini görüntüleyebilirsiniz. Bu konu, SkyWalking Python Agent'ı kullanarak otomatik enstrümantasyonu nasıl etkinleştireceğinizi ve uygulama verilerini nasıl raporlayacağınızı açıklar.

Ön koşullar

  • Apache SkyWalking için Python aracısını indirdiniz. En son sürümü kullanmanızı öneririz.

  • SkyWalking Python aracısını Python projenize eklediniz.

  • Uç nokta edinme

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

    2. Integration Center sayfasında, Server-side Applications 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 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

Arka plan bilgileri

SkyWalking; Docker, Kubernetes ve Mesos dahil olmak üzere mikroservisler, cloud-native ve konteyner tabanlı mimariler için popüler bir açık kaynaklı uygulama performansı izleme (APM) aracıdır. SkyWalking'in çekirdeğinde dağıtık bir izleme sistemi bulunur.

skywalking-python, SkyWalking için resmi Python aracı kitaplığıdır. skywalking-python'i entegre ederek Python uygulamalarını izleyebilirsiniz. Kafka, HTTP, AIOHTTP, Redis ve WebSockets gibi birçok üçüncü taraf kitaplık için otomatik enstrümantasyonu destekler.

Desteklenen üçüncü taraf kitaplıklar

Kitaplık

Python sürümü - kitaplık sürümü

Eklenti adı

aiohttp

Python ≥ 3,7 - 3,7.*

sw_aiohttp

aioredis

Python ≥ 3,7 - 2,0.*

sw_aioredis

aiormq

Python ≥ 3,7 - 6,3, 6,4

sw_aiormq

amqp

Python ≥ 3,7 - 2,6.1

sw_amqp

asyncpg

Python ≥ 3,7 - 0,25.0

sw_asyncpg

bottle

Python ≥ 3,7 - 0,12.23

sw_bottle

celery

Python ≥ 3,7 - 5,1

sw_celery

confluent_kafka

Python ≥ 3,7 - 1,5.0, 1,7.0, 1,8.2

sw_confluent_kafka

django

Python ≥ 3,7 - 3,2

sw_django

elasticsearch

Python ≥ 3,7 - 7,13, 7,14, 7,15

sw_elasticsearch

hug

Python ≥ 3,11 - Desteklenmiyor

Python ≥ 3,10 - 2,5, 2,6

Python ≥ 3,7 - 2,4.1, 2,5, 2,6

sw_falcon

fastapi

Python ≥ 3,7 - 0,89., 0,88.

sw_fastapi

flask

Python ≥ 3,7 - 2,0

sw_flask

happybase

Python ≥ 3,7 - 1,2.0

sw_happybase

http_server

Python ≥ 3,7 - *

sw_http_server

werkzeug

Python ≥ 3,7 - 1,0.1, 2,0

sw_http_server

httpx

Python ≥ 3,7 - 0,23., 0,22.

sw_httpx

kafka-python

Python ≥ 3,7 - 2,0

sw_kafka

loguru

Python ≥ 3,7 - 0,6.0, 0,7.0

sw_loguru

mysqlclient

Python ≥ 3,7 - 2,1.*

sw_mysqlclient

neo4j

Python ≥ 3,7 - 5.*

sw_neo4j

psycopg[binary]

Python ≥ 3,11 - 3,1.*

Python ≥ 3,7 - 3,0.18, 3,1.*

sw_psycopg

psycopg2-binary

Python ≥ 3,10 - Desteklenmiyor

Python ≥ 3,7 - 2,9

sw_psycopg2

pymongo

Python ≥ 3,7 - 3,11.*

sw_pymongo

pymysql

Python ≥ 3,7 - 1,0

sw_pymysql

pyramid

Python ≥ 3,7 - 1,10, 2,0

sw_pyramid

pika

Python ≥ 3,7 - 1,2

sw_rabbitmq

redis

Python ≥ 3,7 - 3,5.*, 4,5.1

sw_redis

requests

Python ≥ 3,7 - 2,26, 2,25

sw_requests

sanic

Python ≥ 3,10 - Desteklenmiyor

Python ≥ 3,7 - 20,12

sw_sanic

tornado

Python ≥ 3,7 - 6,0, 6,1

sw_tornado

urllib3

Python ≥ 3,7 - 1,26, 1,25

sw_urllib3

urllib_request

Python ≥ 3,7 - *

sw_urllib_request

websockets

Python ≥ 3,7 - 10,3, 10,4

sw_websockets

Örnek uygulama

Örnek uygulama deposu: SkyWalking Demo

Bu demo, istekleri ileten ve MySQL veritabanı ile etkileşime giren Flask tabanlı basit bir örnektir. SkyWalking aracı uygulamayı izler ve verileri raporlar.

Python uygulaması için otomatik enstrümantasyonu etkinleştirme

SkyWalking Python Agent parametrelerini Python proje dosyalarınızda veya ortam değişkenleri olarak yapılandırabilirsiniz.

Parametreleri kodda yapılandırma

Python proje dosyanızdaki config.init parametrelerini değiştirin. Örnek uygulamada ilgili dosyalar proxy/TestProxy.py ve controller/TestController.py dosyalarıdır.

from skywalking import config
config.init(ConfigurationName = ConfigurationValue)

Parametreleri ortam değişkeni olarak yapılandırma

Aşağıdaki içeriği ortam değişkeni dosyanıza ekleyin ve değişikliklerin etkili olması için uygulamanızı yeniden başlatın.

export SW_AGENT_ConfigurationName=ConfigurationValue
Not

Docker konteyner ortamları için docker-compose.yaml dosyasındaki environment seçeneği altında ortam değişkenlerini yapılandırabilirsiniz.

  1. Uç noktayı ve belirteci yapılandırın.

    1. Python dosyanızda SkyWalking'i içe aktarın.

      from skywalking import agent, config
    2. Uç noktayı ve kimlik doğrulama belirtecini yapılandırın.

      <endpoint> ve <auth-token> değerlerini Ön koşullar bölümünde edindiğiniz uç nokta ve kimlik doğrulama belirteci ile değiştirin.

      config.init(agent_collector_backend_services='<endpoint>',
                  agent_authentication='<auth-token>')
  2. Uygulama tanımlayıcısı olarak bir hizmet adı yapılandırın.

    config.init(agent_name='<service name>')
  3. Veri raporlama protokolünü yapılandırın. Desteklenen tek protokol gRPC'dir.

    ### The only available reporting protocol is 'grpc'.
    config.init(agent_protocol='<protocol>')
  4. Gerektiğinde diğer isteğe bağlı parametreleri yapılandırın. Daha fazla bilgi için bkz. Apache SkyWalking resmi belgeleri.

  5. Uygulamayı yeniden başlatın.

SSS

  • gRPC üzerinden veri raporlarken Method not found: skywalking.v3.LogReportService/collect hatası oluşursa ne yapmalıyım?

    grpc._channel._InactiveRpcError: &lt;_InactiveRpcError of RPC that terminated with:
        status = StatusCode.UNIMPLEMENTED
        details = &quot;Method not found: skywalking.v3.LogReportService/collect&quot;
        debug_error_string = &quot;UNKNOWN:Error received from peer  {grpc_message:&quot;Method not found: skywalking.v3.LogReportService/collect&quot;, grpc_status:12, created_time:&quot;2023-07-05T15:58:00&quot;}&quot;
    &gt;

    config.init çağrısında agent_log_reporter_active değerini False olarak ayarlayın.

    config.init(agent_log_reporter_active=False)
  • gRPC üzerinden veri raporlarken Method not found: skywalking.v3.MeterReportService/collect hatası oluşursa ne yapmalıyım?

    grpc._channel._InactiveRpcError: &lt;_InactiveRpcError of RPC that terminated with:
            status = StatusCode.UNIMPLEMENTED
            details = &quot;Method not found: skywalking.v3.MeterReportService/collect&quot;
            debug_error_string = &quot;UNKNOWN:Error received from peer  {grpc_message:&quot;Method not found: skywalking.v3.MeterReportService/collect&quot;, grpc_status:12, created_time:&quot;2023-07-05T16:00:00+08:00&quot;}&quot;
    &gt;

    Konsol metric verisi raporlamayı desteklemez. config.init çağrısında agent_meter_reporter_active değerini False olarak ayarlayın.

    config.init(agent_meter_reporter_active=False)

İlgili bilgiler

Apache SkyWalking resmi web sitesi