Legacy Setup
You can always fall back to our traditional way of integration as introduced below, which is by importing SkyWalking into your project and starting the agent.
Defaults
By default, SkyWalking Python agent uses gRPC protocol to report data to SkyWalking backend,
in SkyWalking backend, the port of gRPC protocol is 11800
, and the port of HTTP protocol is 12800
,
See all default configuration values in the Configuration Vocabulary
You could configure agent_collector_backend_services
(or environment variable SW_AGENT_COLLECTOR_BACKEND_SERVICES
)
and set agent_protocol
(or environment variable SW_AGENT_PROTOCOL
to one of
gprc
, http
or kafka
according to the protocol you would like to use.
Report data via gRPC protocol (Default)
For example, if you want to use gRPC protocol to report data, configure agent_collector_backend_services
(or environment variable SW_AGENT_COLLECTOR_BACKEND_SERVICES
) to <oap-ip-or-host>:11800
,
such as 127.0.0.1:11800
:
from skywalking import agent, config
config.init(agent_collector_backend_services='127.0.0.1:11800', agent_name='your awesome service', agent_instance_name='your-instance-name or <generated uuid>')
agent.start()
Report data via HTTP protocol
However, if you want to use HTTP protocol to report data, configure agent_collector_backend_services
(or environment variable SW_AGENT_COLLECTOR_BACKEND_SERVICES
) to <oap-ip-or-host>:12800
,
such as 127.0.0.1:12800
, further set agent_protocol
(or environment variable SW_AGENT_PROTOCOL
to http
):
Remember you should install
skywalking-python
with extra requireshttp
,pip install "apache-skywalking[http]
.
from skywalking import agent, config
config.init(agent_collector_backend_services='127.0.0.1:12800', agent_name='your awesome service', agent_protocol='http', agent_instance_name='your-instance-name or <generated uuid>')
agent.start()
Report data via Kafka protocol
Please make sure OAP is consuming the same Kafka topic as your agent produces to, kafka_namespace
must match OAP side configuration plugin.kafka.namespace
Finally, if you want to use Kafka protocol to report data, configure kafka_bootstrap_servers
(or environment variable SW_KAFKA_BOOTSTRAP_SERVERS
) to kafka-brokers
,
such as 127.0.0.1:9200
, further set agent_protocol
(or environment variable SW_AGENT_PROTOCOL
to kafka
):
Remember you should install
skywalking-python
with extra requireskafka
,pip install "apache-skywalking[kafka]"
.
from skywalking import agent, config
config.init(kafka_bootstrap_servers='127.0.0.1:9200', agent_name='your awesome service', agent_protocol='kafka', agent_instance_name='your-instance-name or <generated uuid>')
agent.start()
Alternatively, you can also pass the configurations via environment variables (such as SW_AGENT_NAME
, SW_AGENT_COLLECTOR_BACKEND_SERVICES
, etc.) so that you don’t need to call config.init
.
All supported environment variables can be found in the Environment Variables List.