Datadog如何在Flask应用上实现ddtrace?

2024-06-09 20:10:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我能够仔细而彻底地遵循这些指示https://docs.datadoghq.com/tracing/setup/python/

我按照本指南成功安装了DataDog代理https://docs.datadoghq.com/tracing/setup/

我还能够安装MacOS tracer,因为mac用户需要它:https://github.com/DataDog/datadog-trace-agent#run-on-osx

我在这里找到的配置文件中启用了apm配置:https://docs.datadoghq.com/agent/faq/agent-configuration-files/?tab=agentv6#agent-main-configuration-file

apm_config:
  enabled: true

我离开env: none,因为我只需要在开发/调试模式下运行它。在

现在我正在进行第4步:仪器应用程序烧瓶指南,这里是我采取的步骤:

  1. $ pip install ddtrace
  2. 添加烧瓶集成:

    import blinker as _
    
    from ddtrace import tracer
    from ddtrace.contrib.flask import TraceMiddleware
    
    app = Flask(__name__, static_folder='../public/', static_url_path='')
    
    traced_app = TraceMiddleware(app, tracer, service="my-app", distributed_tracing=True)
    

我的应用程序在docker容器中运行,这是我从输出日志中得到的:

ERROR:ddtrace.writer:cannot send services to localhost:8126

其他信息

在示踪剂上:

INFO (main.go:161) - trace-agent running on host CPUZ124.local
INFO (receiver.go:140) - listening for traces at http://localhost:8126

Tags: httpsimportcomappdocsonsetup指南
1条回答
网友
1楼 · 发布于 2024-06-09 20:10:59

您在Mac上安装了Datadog代理和跟踪代理,监听本地主机。在

您将flask应用程序和ddtrace库安装在一个linuxvm上的docker容器中,该容器向localhost发送流量。在

这两个本地主机描述了两个不同的机器。最简单的选择是在Mac上同时运行Agent和flask应用程序,或者在docker中同时运行这两个应用程序。后者最类似于最终的生产部署。这样做。在

相关问题 更多 >