[Ubuntu]使用DataDog集成跟踪Django项目

DataDogAPI_KEYAPP_KEY是自己在页面上可以生成看到的。


Githubdocker-compose.yml配置:

version: "3"
# remember to use this compose file __ONLY__ for development/testing purposes

services:
	# other settings...

    ddagent:
        image: datadog/docker-dd-agent
        environment:
            - DD_BIND_HOST=0.0.0.0
            - DD_API_KEY=invalid_key_but_this_is_fine
        ports:
            - "127.0.0.1:8126:8126"

在百度中基本上没有找到合适的资料可以使用的,下面是翻译的ddtracePypi网站文档(http://pypi.datadoghq.com/trace/docs/web_integrations.html#django)


Django

Django集成将跟踪用户请求,模板渲染器,数据库和缓存调用。

注意:默认情况下,当Debug = True时,跟踪器被禁用(不会发送跨度)。 这可以通过使用DATADOG_TRACE ['ENABLED'] = True显式启用跟踪器来覆盖,如下所述。

要启用Django集成,请将应用程序添加到INSTALLED_APPS,如下所示:

INSTALLED_APPS = [
    # your Django apps...

    # the order is not important
    'ddtrace.contrib.django',
]

这个集成的配置在Django设置下命名为DATADOG_TRACE。例如,你的settings.py可能包含:

DATADOG_TRACE = {
    'DEFAULT_SERVICE': 'my-django-app',
    'TAGS': {'env': 'production'},
}

如果你需要访问Datadog设置,你可以这样做:

from ddtrace.contrib.django.conf import settings

tracer = settings.TRACER
tracer.trace("something")
# your code ...

要让Django捕获跟踪器日志,请确保settings.py中的LOGGING变量类似于:

LOGGING = {
    'loggers': {
        'ddtrace': {
            'handlers': ['console'],
            'level': 'WARNING',
        },
    },
}

可用设置如下:

DEFAULT_SERVICE (default: 'django'): 设置跟踪器使用的服务名称。 通常,必须使用有意义的名称更新此配置。

DEFAULT_DATABASE_PREFIX (default: ''): 为数据库服务设置前缀值,以便列出您的服务,例如prefix-defaultdb。

DEFAULT_CACHE_SERVICE (default: ''): 设置跟踪器使用的Django缓存服务名称。如果要将Django缓存跨度视为缓存应用程序,请更改此名称。

TAGS (default: {}): 设置应该应用于所有跨度的全局标记。

TRACER (default: ddtrace.tracer): 设置用于跟踪Django内部的默认跟踪器实例。默认情况下,使用ddtrace跟踪器。

ENABLED (default: not django_settings.DEBUG): 定义是否启用跟踪器。如果设置为false,则仍会检测代码,但不会向跟踪代理程序发送任何跨度。此设置无法在运行时更改,需要重新启动。默认情况下,在DEBUG模式下禁用跟踪器,否则启用。

DISTRIBUTED_TRACING (default: False): 定义跟踪器是否应使用传入的 X-DADADOG-* HTTP 标头来扩展远程创建的跟踪。如果从另一个已检测的应用程序远程调用此应用程序,则需要进行分布式跟踪。我们建议仅为标头在您控制范围内的内部服务启用它。

ANALYTICS_ENABLED (default: None): 在跟踪搜索和分析中启用APM事件。

AGENT_HOSTNAME (default: localhost): 定义跟踪代理的主机名。

AGENT_PORT (default: 8126): 定义跟踪代理的端口。

AUTO_INSTRUMENT (default: True): 如果设置为false,代码将不会被检测(即使INSTRUMENT_DATABASEINSTRUMENT_CACHEINSTRUMENT_TEMPLATE设置为True),而跟踪器可能对您的内部有用。如果要使用Django集成,但想要仅跟踪特定函数或视图,这可能很有用。如果设置为False,则即使存在,也将禁用请求中间件。

INSTRUMENT_DATABASE (default: True): 如果设置为False,则不会检测数据库。 仅当AUTO_INSTRUMENT设置为True时才可配置。

INSTRUMENT_CACHE (default: True): 如果设置为False,则不会检测缓存。 仅当AUTO_INSTRUMENT设置为True时才可配置。

INSTRUMENT_TEMPLATE (default: True): 如果设置为False,则不会检测模板渲染。 仅当AUTO_INSTRUMENT设置为True时才可配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值