【问题标题】:Datadog how to implement ddtrace on Flask application?Datadog 如何在 Flask 应用程序上实现 ddtrace?
【发布时间】:2018-09-18 16:19:01
【问题描述】:

我能够仔细彻底地遵循这些说明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 容器中运行,这是我从输出日志中得到的:

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

【问题讨论】:

    标签: python datadog


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 2022-07-14
      • 2014-06-20
      • 2019-08-28
      • 2020-12-24
      • 1970-01-01
      相关资源
      最近更新 更多