Heroku は、次の 3 種類のログを提供します。
アプリログ: プラットフォームにプッシュしたアプリケーションからの出力システムログ: アプリケーションのために Heroku プラットフォームインフラストラクチャーによって実行されたアクションに関するメッセージAPI ログ: アプリケーションの開発者によって実装された管理上の問題情報
Heroku の HTTP/S ドレインは、ログメッセージをバッファし、メッセージバッチを POST リクエストとして HTTPS エンドポイントに送信します。
POST 本文には、Syslog 形式のメッセージが含まれ、Syslog TCP プロトコルのオクテット数フレーム化手法を使用してフレーム化されます。
Datadog の HTTP API は、コンテンツヘッダー application/logplex-1 によって定義される Logplex 標準を実装および認識します。
すべてのログを Datadog に送信する方法は、次のとおりです。
- Heroku プロジェクトに接続します。
- 以下のコマンドを使用して HTTPS ドレインをセットアップします。
heroku drains:add "https://http-intake.logs./api/v2/logs?dd-api-key=<DD_API_KEY>&ddsource=heroku&ddtags=env:<ENV>&service=<SERVICE>&host=<HOST>" -a <APPLICATION_NAME>
<DD_API_KEY> は Datadog API キーに置き換えます。<ENV> をアプリケーションの環境で置き換えます。<APPLICATION_NAME> と <SERVICE> はアプリケーション名に置き換えます。<HOST> を希望のホスト名で置き換えます
注:- ホストセクションにより、メトリクスとトレースはデフォルトのホスト名を dyno 名に設定します。ログのホスト名として dyno 名を動的に設定することはできません。メトリクス、トレース、およびログの間の相関付けには、
dyno および dynotype タグを使用します。 - ビルドパックは自動的にタグ
dyno (web.1 などの dyno 名を表す) と dynotype (run や web などの dyno の種類を表す) を追加します。詳細については、タグの概要ガイドを参照してください。
カスタム属性
アプリケーションからのログにカスタム属性を追加するには、ドレイン内の URL を次のように置き換えます。
https://http-intake.logs./api/v2/logs?dd-api-key=<DD_API_KEY>&ddsource=heroku&service=<SERVICE>&host=<HOST>&attribute_name=<VALUE>