本文将为您介绍如何使用 Jaeger 协议上报 Python 应用数据。
操作步骤
步骤1:获取接入点和 Token
1. 登录 腾讯云可观测平台 控制台。
2. 在左侧菜单栏中选择应用性能监控,单击应用列表 > 接入应用。
3. 在右侧弹出的数据接入抽屉框中,单击 Python 语言。
4. 在接入 Python 应用页面,选择您所要接入的地域以及业务系统。
5. 选择接入协议类型为 Jaeger。
6. 上报方式选择您所想要的上报方式,获取您的接入点和 Token。
说明:
内网上报:使用此上报方式,您的服务需运行在腾讯云 VPC。通过 VPC 直接联通,在避免外网通信的安全风险同时,可以节省上报流量开销。
外网上报:当您的服务部署在本地或非腾讯云 VPC 内,可以通过此方式上报数据。请注意外网通信存在安全风险,同时也会造成一定上报流量费用。
步骤2:安装 Jaeger Agent
1. 下载官方 Jaeger Agent。
2. 启动 Agent,在控制台执行以下命令:
nohup ./jaeger-agent --reporter.grpc.host-port={{接入点}} --jaeger.tags=token={{token}}
说明:
对于 Jaeger Agent v1.15.0及以下版本,请将启动命令中
--agent.tags
替换为 --jaeger.tags
。步骤3:通过 Jaeger 上报数据
1. 安装 jaeger_client 包,执行以下命令:
pip install jaeger_client
2. 创建如下 Python 文件和 Tracer 对象,跟踪所有的 Request。
from jaeger_client import Configimport timefrom os import getenv# 配置jaeger代理的地址,默认本机localhostJAEGER_HOST = getenv('JAEGER_HOST', 'localhost')SERVICE_NAME = getenv('JAEGER_HOST', 'my_service_test')def build_your_span(tracer):with tracer.start_span('yourTestSpan') as span:span.log_kv({'event': 'test your message', 'life': 42})span.set_tag("span.kind", "server")return spandef build_your_tracer():my_config = Config(config={'sampler': {'type': 'const','param': 1,},'local_agent': {'reporting_host': JAEGER_HOST,'reporting_port': 6831,},'logging': True,},service_name=SERVICE_NAME,validate=True)tracer = my_config.initialize_tracer()return tracerif __name__ == "__main__":tracer = build_your_tracer()span = build_your_span(tracer)time.sleep(2)tracer.close()