All Products
Search
Document Center

Managed Service for OpenTelemetry:Laporkan data aplikasi Python dengan SkyWalking

Last Updated:Jun 23, 2026

Setelah Anda menginstrumentasi aplikasi dengan SkyWalking dan melaporkan data distributed tracing ke Managed Service for OpenTelemetry, Managed Service for OpenTelemetry mulai memantau aplikasi Anda. Anda kemudian dapat melihat berbagai data pemantauan, seperti topologi aplikasi, jejak (traces), transaksi gagal, transaksi lambat, dan analisis SQL. Topik ini menjelaskan cara menggunakan SkyWalking Python Agent untuk mengaktifkan auto-instrumentation dan melaporkan data aplikasi.

Prasyarat

  • Anda telah mengunduh agen Python untuk Apache SkyWalking. Kami menyarankan agar Anda menggunakan versi terbaru.

  • Anda telah menambahkan SkyWalking Python agent ke proyek Python Anda.

  • Dapatkan endpoint

    Konsol baru

    1. Masuk ke Konsol Managed Service for OpenTelemetry. Di panel navigasi sebelah kiri, klik Integration Center.

    2. Pada halaman Integration Center, klik kartu SkyWalking di bagian Open Source Frameworks.

    3. Di panel SkyWalking, klik tab Start Integration, lalu pilih wilayah tempat Anda ingin melaporkan data.

      Catatan

      Saat Anda mengakses wilayah untuk pertama kalinya, sumber daya akan diinisialisasi secara otomatis di sana.

    4. Konfigurasikan parameter Connection Type dan salin endpoint-nya.

      Jika layanan Anda dideploy di Alibaba Cloud dan berada di wilayah yang Anda pilih, kami menyarankan agar Anda mengatur parameter ini ke Alibaba Cloud VPC Network. Jika tidak, atur parameter ini ke Public Network.

      image.png

    Konsol lama

    1. Masuk ke Konsol Managed Service for OpenTelemetry.

    2. Di panel navigasi kiri, klik Cluster Configurations. Pada halaman yang muncul, klik tab Access point information.

    3. Di bilah navigasi atas, pilih wilayah tempat Anda ingin melaporkan data. Di bagian Cluster Information, aktifkan Show Token.

    4. Atur parameter Client ke SkyWalking.

      Di kolom Related Information pada tabel, salin endpoint-nya.

      SkyWalking接入点信息

      Catatan

      Jika aplikasi Anda dideploy di lingkungan produksi Alibaba Cloud, gunakan endpoint VPC. Jika tidak, gunakan endpoint publik.

Informasi latar belakang

SkyWalking adalah alat open source populer untuk application performance monitoring (APM) pada arsitektur microservice, cloud-native, dan berbasis container, termasuk Docker, Kubernetes, dan Mesos. Inti dari SkyWalking adalah sistem distributed tracing.

skywalking-python adalah library agen Python resmi untuk SkyWalking. Anda dapat mengintegrasikan skywalking-python untuk memantau aplikasi Python. Library ini mendukung auto-instrumentation untuk banyak library pihak ketiga, seperti Kafka, HTTP, AIOHTTP, Redis, dan WebSocket.

Library pihak ketiga yang didukung

Library

Versi Python - Versi library

Nama plugin

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 - Tidak didukung

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 - Tidak didukung

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 - Tidak didukung

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

Aplikasi contoh

Repositori aplikasi contoh: SkyWalking Demo

Demo ini merupakan contoh sederhana berbasis Flask yang meneruskan permintaan dan berinteraksi dengan database MySQL. Agen SkyWalking memantau aplikasi dan melaporkan data.

Aktifkan auto-instrumentation untuk aplikasi Python

Anda dapat mengonfigurasi parameter SkyWalking Python Agent dalam file proyek Python Anda atau sebagai variabel lingkungan.

Konfigurasikan parameter dalam kode

Ubah parameter config.init dalam file proyek Python Anda. Dalam aplikasi contoh, file yang sesuai adalah proxy/TestProxy.py dan controller/TestController.py.

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

Konfigurasikan parameter sebagai variabel lingkungan

Tambahkan konten berikut ke file variabel lingkungan Anda, lalu restart aplikasi agar perubahan diterapkan.

export SW_AGENT_ConfigurationName=ConfigurationValue
Catatan

Untuk lingkungan container Docker, Anda dapat mengonfigurasi variabel lingkungan di bawah opsi environment dalam file docker-compose.yaml.

  1. Konfigurasikan endpoint dan token.

    1. Impor SkyWalking dalam file Python Anda.

      from skywalking import agent, config
    2. Konfigurasikan endpoint dan token otentikasi.

      Ganti <endpoint> dan <auth-token> dengan endpoint dan token otentikasi yang Anda peroleh di bagian Prasyarat.

      config.init(agent_collector_backend_services='<endpoint>',
                  agent_authentication='<auth-token>')
  2. Konfigurasikan nama layanan sebagai pengenal aplikasi.

    config.init(agent_name='<service name>')
  3. Konfigurasikan protokol pelaporan data. Satu-satunya protokol yang didukung adalah gRPC.

    ### Satu-satunya protokol pelaporan yang tersedia adalah 'grpc'.
    config.init(agent_protocol='<protocol>')
  4. Konfigurasikan parameter opsional lainnya sesuai kebutuhan. Untuk informasi lebih lanjut, lihat dokumentasi resmi Apache SkyWalking.

  5. Restart aplikasi.

FAQ

  • Apa yang harus saya lakukan jika terjadi error Method not found: skywalking.v3.LogReportService/collect saat melaporkan data melalui gRPC?

    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;

    Atur agent_log_reporter_active ke False dalam pemanggilan config.init.

    config.init(agent_log_reporter_active=False)
  • Apa yang harus saya lakukan jika terjadi error Method not found: skywalking.v3.MeterReportService/collect saat melaporkan data melalui gRPC?

    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 tidak mendukung pelaporan data metric. Dalam pemanggilan config.init, atur agent_meter_reporter_active ke False.

    config.init(agent_meter_reporter_active=False)

Referensi

Situs web resmi Apache SkyWalking