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

时间:2018-09-18 16:19:02

标签: python datadog

我能够仔细,彻底地遵循这些说明https://docs.datadoghq.com/tracing/setup/python/

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

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

我在以下位置的配置文件中启用了apm_config:https://docs.datadoghq.com/agent/faq/agent-configuration-files/?tab=agentv6#agent-main-configuration-file

apm_config:
  enabled: true

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

现在我正在第4步:为Flask插入应用程序指南,这里是我采取的步骤:

  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容器中运行,这是我从输出日志中得到的:

  

错误:ddtrace.writer:无法将服务发送到本地主机:8126

其他信息

在跟踪代理上:

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

1 个答案:

答案 0 :(得分:0)

您在Mac上安装了Datadog代理和跟踪代理,并在localhost上侦听。

您将flask应用程序和ddtrace库安装在将vm发送流量到localhost的linux vm的docker容器中。

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