通过OpenTelemetry上报Python-flask应用数据(阿里云)

这篇具有很好参考价值的文章主要介绍了通过OpenTelemetry上报Python-flask应用数据(阿里云)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文档

https://help.aliyun.com/document_detail/611711.html?spm=a2c4g.90499.0.0.34a056ddTu2WWq

先按照 方法一:手动埋点上报Python应用数据 步骤测试上报是否正常。

flas 上报

手动埋点上报Python应用数据 的基础上,上报flask应用的数据,因为上边的文档只有django的,所以在这里记录一下。

安装依赖
pip install opentelemetry-api
pip install opentelemetry-sdk
pip install opentelemetry-exporter-otlp
pip install opentelemetry-instrumentation-flask
pip install opentelemetry-instrumentation-requests
flask 中使用opentelemetry上报
import flask
import requests
from opentelemetry import trace
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter as OTLPSpanGrpcExporter
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter as OTLPSpanHttpExporter
from opentelemetry.instrumentation.flask import FlaskInstrumentor
from opentelemetry.instrumentation.requests import RequestsInstrumentor
from opentelemetry.sdk.resources import SERVICE_NAME, Resource, HOST_NAME
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor


def initTracer():
    resource = Resource(attributes={
        SERVICE_NAME: "aaaaaaaa",
        HOST_NAME: "flasksss"
    })
    # 使用GRPC协议上报
    span_processor = BatchSpanProcessor(OTLPSpanGrpcExporter(
        endpoint="http://tracing-analysis-dc-hz.aliyuncs.com:8090",
        headers=("Authentication=emyaq87zvp@84d4c400bdb6eed_emyaq87zvp@53df7ad2afe8301")
    ))
    # 使用HTTP协议上报
    # span_processor = BatchSpanProcessor(OTLPSpanHttpExporter(
    #     endpoint="<endpoint>",
    # ))
    trace_provider = TracerProvider(resource=resource, active_span_processor=span_processor)
    trace.set_tracer_provider(trace_provider)


# flask init
app = flask.Flask(__name__)

# instrumentation init
initTracer()
FlaskInstrumentor().instrument_app(app)
RequestsInstrumentor().instrument()


@app.route("/")
def hello():
    tracer = trace.get_tracer(__name__)
    # 上报requests请求
    with tracer.start_as_current_span("request_server"):
        requests.get("http://www.taobao.com")
        print(11111111111)
    return "hello"


@app.route("/acb")
def aabc():
    return 'abc'


app.run(debug=True, port=5001, host='0.0.0.0')
代码解释
  • initTrace函数:初始化上报功能,参数意义参见 方法一:手动埋点上报Python应用数据通过OpenTelemetry上报Python-flask应用数据(阿里云),python,flask,开发语言,后端
效果展示

通过OpenTelemetry上报Python-flask应用数据(阿里云),python,flask,开发语言,后端

通过OpenTelemetry上报Python-flask应用数据(阿里云),python,flask,开发语言,后端

遇到问题解决:

通过OpenTelemetry上报Python-flask应用数据(阿里云),python,flask,开发语言,后端
出现这个问题好像是用GRPC协议上报的时候rpc出问题了,改成用HTTP协议上报上报就可以了。

不同的上报协议endpoint的值不一样哦,要填对。文章来源地址https://www.toymoban.com/news/detail-644059.html

到了这里,关于通过OpenTelemetry上报Python-flask应用数据(阿里云)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python使用flask实现前后端分离&通过前端修改数据库数据【全栈开发基础】

    完整代码放到了最后,时间紧张的话直接拉到最后或点击目录【🥩 完整代码】看完整代码 这里先提一下,我们运行后端代码之前需要先建立一个名字为 python 的数据库,而后在该数据库下创建表 userinfo ,因为看到有的朋友后端代码拿过去后会运行不起来或者就是直接报错了

    2023年04月09日
    浏览(40)
  • 【python】flask模板渲染引擎Jinja2,通过后端数据渲染前端页面

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年04月11日
    浏览(53)
  • modbus采集和 mqtt上报相结合,通过荔枝派(F1c100s芯片模块)实现数据采集连接阿里云物联网平台进行数据上报和下发功能。

    通过荔枝派(F1c100s芯片模块)搭载SDIO-wifi模块,写入了主函数程序。根据读取modbus模拟器的数据,反馈到阿里云物联网平台当中。图中左侧的阿里云物联网平台所显示的温度为66摄氏度,与modbus模拟器的数据是一样的,图片右侧是荔枝派(F1c100s芯片模块)的编程软件X-shell的

    2024年02月15日
    浏览(52)
  • 【python】flask操作数据库工具SQLAlchemy,详细用法和应用实战

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,

    2024年04月17日
    浏览(47)
  • 电影Top250数据分析可视化,应用Python爬虫,Flask框架,Echarts,WordCloud

    目录 一:项目概述 二:模块实现 2.1 Python爬虫的技术实现 2.1.1 爬取网页,获取数据 2.1.2 解析内容 2.1.3 保存数据 2.2 数据可视化 2.2.1 Flask框架 2.2.2 首页和电影页(表格) 2.2.3 使用Echarts呈现电影评分分布图 2.2.4 jieba分词,WordCloud生成“词云” 本项目运用 Python爬取电影To

    2024年02月04日
    浏览(57)
  • ESP8266连接阿里云通过MQTT上报状态属性

    1、新建一个产品 2、添加物模型,物模型用于显示上报的消息的 编辑草稿,也就是添加属性  可以选择标准的和自定义的,我这里选择自定义的 设置物模型功能 我这里添加了两个,完成后发布上线 3、到设备中添加设备,用于ESP8266连接  添加成功后,可以看到  我这里多添

    2023年04月09日
    浏览(40)
  • Observability:使用 OpenTelemetry 手动检测 .NET 应用程序

    作者:David Hope 在快节奏的软件开发领域,尤其是在云原生领域,DevOps 和 SRE 团队日益成为应用程序稳定性和增长的重要合作伙伴。 DevOps 工程师不断优化软件交付,而 SRE 团队则充当应用程序可靠性、可扩展性和顶级性能的管理者。 挑战? 这些团队需要一种尖端的可观察性

    2024年02月06日
    浏览(55)
  • 使用 OpenTelemetry 和 Loki 实现高效的应用日志采集和分析

    在之前的文章陆续介绍了 如何在 Kubernetes 中使用 Otel 的自动插桩 以及 Otel 与 服务网格协同实现分布式跟踪,这两篇的文章都将目标聚焦在分布式跟踪中,而作为可观测性三大支柱之一的日志也是我们经常使用的系统观测手段,今天这篇文章就来体验下应用日志的操作闭环。

    2024年02月04日
    浏览(43)
  • python创建一个简单的flask应用

    下面用python在本地和服务器上分别创建一个简单的flask应用: 1.在pc本地 1)pip flask后创建一个简单的脚本flask_demo.py win+R进入命令行,切换到flask_demo.py的路径,执行 启动应用 如果显示启动失败,可能的原因是: 设置FLASK_APP环境变量:在命令行中输入以下命令,将FLASK_APP环境

    2024年02月05日
    浏览(36)
  • python~Flask框架建立web应用

    通过python来开发web应用,可以产简化了web开发的流程,功能和函数库也是非常丰富,我们也是开箱即用,目前比较流程的WEB框架就是Flask和django。 根据2020年JetBrains Python开发人员调查,Django和Flask是迄今为止最受欢迎的两个Python Web框架。 考虑到Web开发行业在过去五年左右的时

    2024年02月07日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包