DataDog
的API_KEY
和APP_KEY
是自己在页面上可以生成看到的。
Github
中docker-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"
在百度中基本上没有找到合适的资料可以使用的,下面是翻译的ddtrace
的Pypi
网站文档(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_DATABASE
,INSTRUMENT_CACHE
或INSTRUMENT_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
时才可配置。