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
時纔可配置。