All Products
Search
Document Center

Application Real-Time Monitoring Service:Laporkan data aplikasi Python melalui SkyWalking

Last Updated:Mar 12, 2026

Saat menjalankan layanan mikro Python di lingkungan terdistribusi, Anda memerlukan visibilitas menyeluruh terhadap permintaan yang melewati batas layanan. Agen SkyWalking Python secara otomatis menginstrumentasi lebih dari 30 library—termasuk Django, Flask, Redis, Kafka, dan MySQL—sehingga Anda dapat melaporkan data jejak ke Managed Service for OpenTelemetry dengan perubahan kode minimal.

Topik ini memandu Anda melalui proses instalasi agen, mendapatkan titik akhir, serta mengonfigurasi agen untuk melaporkan jejak.

Informasi latar belakang

Apache SkyWalking adalah sistem Pemantauan Kinerja Aplikasi (APM) dan pelacakan terdistribusi yang dirancang untuk layanan mikro, arsitektur cloud-native, serta kontainer seperti Docker, Kubernetes, dan Mesos. SkyWalking-Python adalah repositori agen Python resmi dari SkyWalking. Anda dapat menggunakan SkyWalking-Python untuk secara otomatis menginstrumentasi library pihak ketiga seperti Kafka, AIOHTTP, Redis, dan WebSocket.

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Menginstal Python 3.7 atau versi yang lebih baru

  • Memiliki proyek Python tempat Anda ingin menambahkan pelacakan

  • Memiliki pip yang tersedia untuk menginstal paket

Instal agen SkyWalking Python:

pip install apache-skywalking

Dapatkan titik akhir SkyWalking

Untuk menghubungkan agen ke Managed Service for OpenTelemetry, peroleh titik akhir dan token otentikasi dari Konsol.

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

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

  3. Di bilah navigasi atas, pilih wilayah. Di bagian Cluster Information, aktifkan Show Token.

  4. Atur parameter Client menjadi SkyWalking.

  5. Di kolom Related Information, salin titik akhir dan token.

SkyWalking endpoint information
Catatan

Jika aplikasi Anda berjalan di lingkungan produksi Alibaba Cloud, gunakan titik akhir VPC. Jika tidak, gunakan titik akhir publik.

Instrumentasi aplikasi Python Anda

Agen SkyWalking Python mendukung dua metode konfigurasi: konfigurasi dalam kode dan variabel lingkungan. Pilih metode yang sesuai dengan penerapan Anda.

Opsi 1: Konfigurasi dalam kode

Impor modul SkyWalking dan panggil config.init() dengan titik akhir, token, dan nama layanan Anda sebelum memulai agen.

from skywalking import agent, config

config.init()
agent.start()

Ganti placeholder berikut dengan nilai aktual Anda:

PlaceholderDeskripsiContoh
<endpoint>Titik akhir SkyWalking dari konsol<your-endpoint>
<auth-token>Token otentikasi dari konsolxxxxxxxxxxxx
<your-service-name>Nama untuk mengidentifikasi aplikasi Anda dalam jejakmy-python-app

Opsi 2: Konfigurasi melalui variabel lingkungan

Atur variabel lingkungan berikut dan mulai agen dalam kode Anda tanpa meneruskan parameter.

export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<endpoint>
export SW_AGENT_AUTHENTICATION=<auth-token>
export SW_AGENT_NAME=<your-service-name>
export SW_AGENT_PROTOCOL=grpc
export SW_AGENT_LOG_REPORTER_ACTIVE=false
export SW_AGENT_METER_REPORTER_ACTIVE=false

Kemudian mulai agen dalam kode Python Anda:

from skywalking import agent, config

config.init()
agent.start()

Untuk kontainer Docker, tambahkan variabel lingkungan ke bagian environment pada file docker-compose.yaml Anda:

services:
  my-app:
    image: my-python-app
    environment:
      SW_AGENT_COLLECTOR_BACKEND_SERVICES: "<endpoint>"
      SW_AGENT_AUTHENTICATION: "<auth-token>"
      SW_AGENT_NAME: "my-python-app"
      SW_AGENT_PROTOCOL: "grpc"
      SW_AGENT_LOG_REPORTER_ACTIVE: "false"
      SW_AGENT_METER_REPORTER_ACTIVE: "false"

Setelah mengonfigurasi agen, restart aplikasi Anda untuk mulai melaporkan data jejak.

Referensi konfigurasi

Untuk informasi lebih lanjut tentang parameter opsional, lihat referensi konfigurasi Apache SkyWalking Python.

Library yang didukung

SkyWalking-Python secara otomatis menginstrumentasi library berikut. Tidak diperlukan perubahan kode tambahan setelah agen berjalan.

LibraryVersi Python - Versi LibraryPlug-in
aiohttp3.7+ - 3.7.*sw_aiohttp
aioredis3.7+ - 2.0.*sw_aioredis
aiormq3.7+ - 6.3, 6.4sw_aiormq
amqp3.7+ - 2.6.1sw_amqp
asyncpg3.7+ - 0.25.0sw_asyncpg
bottle3.7+ - 0.12.23sw_bottle
celery3.7+ - 5.1sw_celery
confluent_kafka3.7+ - 1.5.0, 1.7.0, 1.8.2sw_confluent_kafka
django3.7+ - 3.2sw_django
elasticsearch3.7+ - 7.13, 7.14, 7.15sw_elasticsearch
falcon3.7+ - 2.4.1, 2.5, 2.6; 3.10+ - 2.5, 2.6; 3.11+ - tidak didukungsw_falcon
fastapi3.7+ - 0.88.*, 0.89.*sw_fastapi
flask3.7+ - 2.0sw_flask
happybase3.7+ - 1.2.0sw_happybase
http.server3.7+ - *sw_http_server
werkzeug3.7+ - 1.0.1, 2.0sw_http_server
httpx3.7+ - 0.22.*, 0.23.*sw_httpx
kafka-python3.7+ - 2.0sw_kafka
loguru3.7+ - 0.6.0, 0.7.0sw_loguru
mysqlclient3.7+ - 2.1.*sw_mysqlclient
neo4j3.7+ - 5.*sw_neo4j
psycopg\[binary\]3.7+ - 3.0.18, 3.1.*; 3.11+ - 3.1.*sw_psycopg
psycopg2-binary3.7+ - 2.9; 3.10+ - tidak didukungsw_psycopg2
pymongo3.7+ - 3.11.*sw_pymongo
pymysql3.7+ - 1.0sw_pymysql
pyramid3.7+ - 1.10, 2.0sw_pyramid
pika3.7+ - 1.2sw_rabbitmq
redis3.7+ - 3.5.*, 4.5.1sw_redis
requests3.7+ - 2.25, 2.26sw_requests
sanic3.7+ - 20.12; 3.10+ - tidak didukungsw_sanic
tornado3.7+ - 6.0, 6.1sw_tornado
urllib33.7+ - 1.25, 1.26sw_urllib3
urllib.request3.7+ - *sw_urllib_request
websockets3.7+ - 10.3, 10.4sw_websockets

Kode contoh

Untuk contoh lengkap yang berfungsi, lihat repositori skywalking-demo di GitHub.

Aplikasi demo menggunakan Flask untuk menangani permintaan HTTP dan mengarahkannya antar layanan, dengan operasi database MySQL di sepanjang jalur tersebut. Setelah agen melaporkan data, Anda dapat melihat jejak lintas proses dan data pemantauan panggilan MySQL di Konsol Managed Service for OpenTelemetry.

FAQ

Method not found: skywalking.v3.LogReportService/collect

Managed Service for OpenTelemetry tidak mendukung pengumpulan log SkyWalking. Nonaktifkan pelapor log:

config.init(agent_log_reporter_active=False)

Atau atur variabel lingkungan:

export SW_AGENT_LOG_REPORTER_ACTIVE=false

Method not found: skywalking.v3.MeterReportService/collect saat melaporkan melalui gRPC

Backend tidak mendukung pengumpulan metrik SkyWalking. Nonaktifkan pelapor meter:

config.init(agent_meter_reporter_active=False)

Atau atur variabel lingkungan:

export SW_AGENT_METER_REPORTER_ACTIVE=false
Catatan

Kedua parameter tersebut sudah diatur ke False dalam contoh konfigurasi di topik ini. Jika Anda mengikuti contoh tersebut, kesalahan ini tidak akan terjadi.

Referensi