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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章