Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Relate dados de aplicações Python com o SkyWalking

Última atualização: Jul 05, 2026

Após instrumentar sua aplicação com o SkyWalking e relatar dados de rastreamento distribuído para o Managed Service for OpenTelemetry, o serviço começa a monitorá-la. Em seguida, visualize diversos dados de monitoramento, como topologia da aplicação, traces, transações com falha, transações lentas e análise de SQL. Este tópico descreve como usar o SkyWalking Python Agent para ativar a instrumentação automática e relatar dados da aplicação.

Pré-requisitos

  • Baixe o agente Python do Apache SkyWalking. Recomendamos o uso da versão mais recente.

  • Adicione o agente Python do SkyWalking ao seu projeto Python.

  • Obter um endpoint

    New console

    1. Faça login no console do Managed Service for OpenTelemetry. No painel de navegação à esquerda, clique em Integration Center.

    2. Na página Integration Center, clique no cartão SkyWalking na seção Open Source Frameworks.

    3. No painel SkyWalking, clique na aba Start Integration e selecione a região onde deseja relatar os dados.

      Nota

      Ao acessar uma região pela primeira vez, os recursos são inicializados automaticamente nela.

    4. Configure o parâmetro Connection Type e copie um endpoint.

      Se o seu serviço estiver implantado na Alibaba Cloud e residir na região selecionada, recomendamos definir este parâmetro como Alibaba Cloud VPC Network. Caso contrário, defina-o como Public Network.

      image.png

    Old console

    1. Faça login no console do Managed Service for OpenTelemetry.

    2. No painel de navegação à esquerda, clique em Cluster Configurations. Na página exibida, clique na aba Access point information.

    3. Na barra de navegação superior, selecione a região onde deseja relatar os dados. Na seção Cluster Information, ative a opção Show Token.

    4. Defina o parâmetro Client como SkyWalking.

      Na coluna Related Information da tabela, copie um endpoint.

      SkyWalking接入点信息

      Nota

      Se sua aplicação estiver implantada em um ambiente de produção da Alibaba Cloud, use um endpoint de VPC. Caso contrário, use um endpoint público.

    Obter um endpoint

    1. Faça login no console do ARMS. No painel de navegação à esquerda, clique em Integration Center.

    2. Na página Integration Center, clique no cartão SkyWalking na seção Server-side Applications.

    3. No painel SkyWalking, clique na aba Start Integration e selecione a região onde deseja relatar os dados.

      Nota

      Ao acessar uma região pela primeira vez, os recursos são inicializados automaticamente nela.

    4. Configure o parâmetro Connection Type e copie um endpoint.

      Se o seu serviço estiver implantado na Alibaba Cloud e residir na região selecionada, recomendamos definir este parâmetro como Alibaba Cloud VPC Network. Caso contrário, defina-o como Public Network.

      image.png

Informações de fundo

O SkyWalking é uma ferramenta popular de código aberto para monitoramento de desempenho de aplicações (APM), voltada para microsserviços, arquiteturas cloud-native e baseadas em contêineres, incluindo docker, Kubernetes e Mesos. Essencialmente, o SkyWalking é um sistema de rastreamento distribuído.

A skywalking-python é a biblioteca oficial de agentes Python para o SkyWalking. Integre-a para monitorar aplicações Python. Ela oferece suporte à instrumentação automática para diversas bibliotecas de terceiros, como Kafka, HTTP, AIOHTTP, Redis e WebSockets.

Bibliotecas de terceiros suportadas

Biblioteca

Versão do Python - versão da biblioteca

Nome do 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 - Não suportado

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 - Não suportado

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 - Não suportado

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

Aplicação de exemplo

Repositório da aplicação de exemplo: SkyWalking Demo

Esta demonstração é um exemplo simples baseado em Flask que encaminha requisições e interage com um banco de dados MySQL. O agente do SkyWalking monitora a aplicação e relata os dados.

Ativar instrumentação automática para uma aplicação Python

Configure os parâmetros do SkyWalking Python Agent nos arquivos do seu projeto Python ou como variáveis de ambiente.

Configure parameters in code

Modifique os parâmetros config.init no arquivo do seu projeto Python. Na aplicação de exemplo, os arquivos correspondentes são proxy/TestProxy.py e controller/TestController.py.

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

Configure parameters as environment variables

Adicione o conteúdo abaixo ao seu arquivo de variáveis de ambiente e reinicie a aplicação para aplicar as alterações.

export SW_AGENT_ConfigurationName=ConfigurationValue
Nota

Para ambientes de contêiner docker, configure as variáveis de ambiente na opção environment do arquivo docker-compose.yaml.

  1. Configure o endpoint e o token.

    1. Importe o SkyWalking no seu arquivo Python.

      from skywalking import agent, config
    2. Configure o endpoint e o token de autenticação.

      Substitua <endpoint> e <auth-token> pelo endpoint e token de autenticação obtidos na seção Pré-requisitos.

      config.init(agent_collector_backend_services='<endpoint>',
                  agent_authentication='<auth-token>')
  2. Configure um nome de serviço como identificador da aplicação.

    config.init(agent_name='<service name>')
  3. Configure o protocolo de relato de dados. O único protocolo suportado é gRPC.

    ### The only available reporting protocol is 'grpc'.
    config.init(agent_protocol='<protocol>')
  4. Configure outros parâmetros opcionais conforme necessário. Para mais informações, consulte a documentação oficial do Apache SkyWalking.

  5. Reinicie a aplicação.

Perguntas frequentes

  • O que fazer se o erro Method not found: skywalking.v3.LogReportService/collect ocorrer ao relatar dados via 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;

    Defina agent_log_reporter_active como False na chamada config.init.

    config.init(agent_log_reporter_active=False)
  • O que fazer se o erro Method not found: skywalking.v3.MeterReportService/collect ocorrer ao relatar dados via 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;

    O console não suporta o relato de dados de metric. Na chamada config.init, defina agent_meter_reporter_active como False.

    config.init(agent_meter_reporter_active=False)

Referências

Site oficial do Apache SkyWalking