- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Python のログを Datadog に送信するには、Python ロガーを構成してホスト上のファイルにログを記録し、Datadog Agent でそのファイルをテールします。
Python のログは、トレースバックのために扱いが複雑になることがあります。トレースバックは、ログを複数行に分割する原因となり、元のログイベントとの関連付けが困難になります。この問題に対処するため、Datadog はロギング時に JSON フォーマッターを使用することを強く推奨しています。
以下のロギングライブラリの設定例をご参照ください。
*Python ロガーには、カスタム属性を追加するための extra
パラメーターがあります。DJANGO_DATADOG_LOGGER_EXTRA_INCLUDE
を使って、extra
パラメーターを追加したいロガーの名前にマッチする正規表現を指定します。
ログ収集を有効にしたら、カスタムログ収集を設定して、以下のようにログファイルを追跡して Datadog に送信します。
python.d/
フォルダーを conf.d/
Agent 構成ディレクトリに作成します。conf.d/python.d/
ディレクトリに、以下の内容の conf.yaml
ファイルを作成します。init_config:
instances:
##Log section
logs:
- type: file
path: "<PATH_TO_PYTHON_LOG>.log"
service: "<YOUR_APPLICATION>"
source: python
sourcecategory: sourcecode
# For multiline logs, if they start by the date with the format yyyy-mm-dd uncomment the following processing rule
#log_processing_rules:
# - type: multi_line
# name: new_log_start_with_date
# pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])
Checks
セクションで python
を探し、ログが Datadog に正常に送信されることを確認します。ログが JSON 形式の場合、Datadog は自動的にログメッセージをパースし、ログ属性を抽出します。ログエクスプローラーを使用して、ログを表示し、トラブルシューティングを行うことができます。
APM が有効になっているアプリケーションの場合は、APM Python の指示に従いログにトレース ID、スパン ID、env
、service
、version
を自動的に追加し、ログとトレースを接続します。
注: APM トレーサーがログに service
を挿入する場合、Agent 構成で設定されている値は上書きされます。
これで、ログは次のような形式になります。
2019-01-07 15:20:15,972 DEBUG [flask.app] [app.py:100] [dd.trace_id=5688176451479556031 dd.span_id=4663104081780224235] - this is an example