すべてのプロダクト
Search
ドキュメントセンター

Managed Service for OpenTelemetry:SkyWalking を使用した Python アプリケーションデータのレポート

最終更新日:Jun 24, 2026

SkyWalking を使用してアプリケーションのイベントトラッキングを行い、分散トレーシングデータをManaged Service for OpenTelemetryにレポートすると、Managed Service for OpenTelemetryがアプリケーションのモニタリングを開始します。その後、アプリケーションのトポロジー、トレース、失敗したトランザクション、低速トランザクション、SQL 分析など、さまざまなモニタリングデータを表示できます。このトピックでは、SkyWalking Python エージェントを使用して自動イベントトラッキングを有効にし、アプリケーションデータをレポートする方法について説明します。

前提条件

  • Apache SkyWalking の Python エージェントをダウンロード済みであること。最新バージョンの使用を推奨します。

  • Python プロジェクトに SkyWalking Python エージェントを追加しました。

  • エンドポイントの取得

    新しいコンソール

    1. OpenTelemetry 向けマネージドサービスコンソールにログインします。左側のナビゲーションウィンドウで、[インテグレーションセンター] をクリックします。

    2. [インテグレーションセンター] ページで、[オープンソースフレームワーク] セクションの [SkyWalking] カードをクリックします。

    3. [SkyWalking] パネルで、[インテグレーションの開始] タブをクリックし、データをレポートするリージョンを選択します。

      説明

      初めてリージョンにアクセスすると、リソースが自動的に初期化されます。

    4. [接続タイプ] パラメーターを設定し、エンドポイントをコピーします。

      ご利用のサービスが Alibaba Cloud にデプロイされており、選択したリージョンに存在する場合、このパラメーターを [Alibaba Cloud VPC ネットワーク] に設定することを推奨します。それ以外の場合は、[パブリックネットワーク] に設定します。

      image.png

    古いコンソール

    1. OpenTelemetry 向けマネージドサービスコンソールにログインします。

    2. 左側のナビゲーションウィンドウで [クラスター設定] をクリックします。表示されたページで、[アクセスポイント情報] タブをクリックします。

    3. 上部のナビゲーションバーで、データをレポートするリージョンを選択します。[クラスター情報] セクションで、[トークンの表示] を有効にします。

    4. [クライアント] パラメーターを [SkyWalking] に設定します。

      表の [関連情報] 列で、エンドポイントをコピーします。

      SkyWalking接入点信息

      説明

      アプリケーションが Alibaba Cloud の本番環境にデプロイされている場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

背景情報

SkyWalking は、マイクロサービス、クラウドネイティブ、および Docker、Kubernetes、Mesos などのコンテナベースのアーキテクチャ向けの、人気のあるオープンソースのアプリケーションパフォーマンスモニタリング (APM) ツールです。その中核は分散トレーシングシステムです。

skywalking-python は、SkyWalking の公式 Python エージェントライブラリです。skywalking-python を統合して Python アプリケーションをモニターできます。Kafka、HTTP、AIOHTTP、Redis、WebSocket など、多くのサードパーティライブラリの自動イベントトラッキングをサポートしています。

サポートされているサードパーティライブラリ

ライブラリ

Python バージョン - ライブラリバージョン

プラグイン名

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 - サポートされていません

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 - サポートされていません

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 - サポートされていません

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

サンプルアプリケーション

サンプルアプリケーションリポジトリ:SkyWalking Demo

このデモは、リクエストを転送し、MySQL データベースと対話する、Flask ベースのシンプルな例です。SkyWalking エージェントはアプリケーションをモニターし、データをレポートします。

Python アプリケーションの自動インストルメンテーションの有効化

SkyWalking Python エージェントのパラメーターは、Python プロジェクトファイル内、または環境変数として設定できます。

コードでのパラメーター設定

Python プロジェクトファイル内のconfig.init パラメーターを修正します。サンプルアプリケーションでは、対応するファイルは proxy/TestProxy.pycontroller/TestController.py です。

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

環境変数としてのパラメーター設定

次の内容を環境変数ファイルに追加し、アプリケーションを再起動して変更を有効にします。

export SW_AGENT_ConfigurationName=ConfigurationValue
説明

Docker コンテナ環境の場合、docker-compose.yaml ファイルの environment オプションで環境変数を設定できます。

  1. エンドポイントとトークンを設定します。

    1. Python ファイルに SkyWalking をインポートします。

      from skywalking import agent, config
    2. エンドポイントと認証トークンを設定します。

      <endpoint><auth-token> を、「前提条件」セクションで取得したエンドポイントと認証トークンで置き換えます。

      config.init(agent_collector_backend_services='<endpoint>',
                  agent_authentication='<auth-token>')
  2. アプリケーション識別子としてサービス名を設定します。

    config.init(agent_name='<service name>')
  3. データレポートプロトコルを設定します。サポートされているプロトコルは gRPC のみです。

    ### 利用可能なレポートプロトコルは 'grpc' のみです。
    config.init(agent_protocol='<protocol>')
  4. 必要に応じて他のオプションパラメーターを設定します。詳細については、Apache SkyWalking 公式ドキュメントをご参照ください。

  5. アプリケーションを再起動します。

よくある質問

  • gRPC を介してデータをレポートする際に Method not found: skywalking.v3.LogReportService/collect エラーが発生した場合はどうすればよいですか?

    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 呼び出しで agent_log_reporter_activeFalse に設定します。

    config.init(agent_log_reporter_active=False)
  • gRPC を介してデータをレポートする際に Method not found: skywalking.v3.MeterReportService/collect エラーが発生した場合はどうすればよいですか?

    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;

    コンソールは metric データのレポートをサポートしていません。config.init 呼び出しで、agent_meter_reporter_activeFalse に設定します。

    config.init(agent_meter_reporter_active=False)

リファレンス

Apache SkyWalking 公式ウェブサイト