ローカル マシンで Datadog をセットアップすることを気にする必要がある場合は、「理由」から始めましょう。設定する動機を共有できます
私の強い「理由」:不安定なテストを理解しようとしている:
カバレッジの高い広範なエンド ツー エンドのテスト スイートがありました。しかし悲しいことに、テストは時間の経過とともにますます不安定になりました。残念なことに、テストが単独で実行された場合、テストはパスしました。テスト スイート全体を実行すると、多くのテストが失敗し始めました。テストに対応するアプリケーション ログは、デバッグに役立つはずです。しかし、特定のテストのログがどこで開始され、どこで終了したのかさえ理解できませんでした。
Datadog が助けてくれます 🦸!
私たちは使用しています
私たちのアプリケーションは Java で書かれており、私のローカル マシンは MacOS で動作しています。必要に応じて、以下の手順を微調整できます。
設定する必要があるもの:
- Datadog にサインアップする
ここ .ここでのスコープはローカル デバッグのみです。無料トライアル 十分なはずです。 - Datadog Agent は、それが実行されるホストを監視するソフトウェアです。サービス名、環境などの設定はエージェントで行うことができます。
dd トレース Java 、Datadog の APM (App Performance Monitoring) クライアント Java ライブラリ。dd-trace-java
自動または手動で実行する API を含む jar です。痕跡 とプロフィール Java アプリケーション。
ステップ 1 — サインアップ プロセス:
メール ID とその他の詳細を入力すると、次のページで技術スタックを選択するよう求められます。
「次へ」をクリックすると、最も重要な部分が表示されます。 「エージェントのセットアップ」の指示が表示されます。私のローカル マシンは MacOSX なので、適切に選択しました。 DD_API_KEYとDD_SITE の値を書き留めておいてください。これらは後続の手順で使用されます。
ステップ 2 — Datadog エージェントのインストール:
MacOSの場合、次の方法でインストールできます
以下に示すように、
datadog-agent
カスタマイズします。
上記の手順が完了すると、Datadog-web-UI で「終了」するよう求められます。
-
integrations
追加するように求められます。Java
、Docker
などを追加できます(プロジェクトのニーズに応じて)。
ステップ 3 — Datadog トレーサーをインストールします。
から
dd-java-agent
jar をダウンロードします。ここ ²
Java アプリケーションの場合、組み込みのFlightRecorderが付属しているバージョンの Java を使用していることを確認してください。これはトレースに必要です。 OpenJdK8 には組み込みのFlightRecorderが付属しています。 Oracle Java を使用している場合、**FlightRecorder** を使用するには商用ライセンスが必要です。**³
アプリケーションの実行:
- Java アプリケーションの VM オプションを追加します。
-javaagent:"/Users/home/Downloads/dd-java-agent.jar" -Ddd.profiling.enabled=true -Ddd.logs.injection=true -Ddd.agent.port=8126 -Ddd.service=ecommerce-service -Ddd.env=local -XX:FlightRecorderOptions=stackdepth=256
-
gradle
タスクを使用している場合は、次のようにjvmArgs
を含めることができます。
jvmArgs = ["-javaagent:/Users/home/Downloads/dd-java-agent.jar", "-XX:FlightRecorderOptions=stackdepth=256", "-Ddd.profiling.enabled=true", "-Ddd.logs.injection=true", "-Ddd.agent.port=8126", "-Ddd.service=ecommerce-service", "-Ddd.env=local"]
- ここで、Java アプリケーションを開始します。トレースが正しく行われている場合は、次のログが表示されます。
Datadog へのログイン:
- ログを Datadog にストリーミングできるようにするには、Datadog Web UI の指示に従います。 ⁴
-
macOS
の場合 — 構成ディレクトリは~/.datadog-agent/conf.d/java.d
で、ファイルは~/.datadog-agent/conf.d/java.d/conf.yaml
にあります。
これで、
logs
Datadog に流れ始めます。
いくつかのヒント:
アプリケーションの各メソッドの最初と最後に適切な
debug
ログを追加します。デバッグ中に非常に便利です。
span id
とtrace id
を注入するメカニズムを追加します。これは驚くべき命の恩人であり、ログを適切なコンテキストに置きます.⁵
結論:
Datadog エージェントをローカルで起動して実行すると、すべてのリクエストを状況に応じて表示できるようになりました。
そして出来上がり!エンド ツー エンドのすべてのテストに合格しました 🙂 Happy logging!
追加情報:
¹または、ダウンロードすることもできます
dmg パッケージ そしてそれをインストールします。このリンクは、上記の「エージェントのセットアップ」ステップでも取得できます (スクリーンショットを参照)。
²直接ダウンロード
dd トレース Java 瓶。
³ JDK 11 以降では、何もアクティブ化せずに
FlightRecorder
使用できます。詳細はこちらここ .
⁴詳細はこちら
ここ .
⁵アプリケーションが Java の場合、このライブラリを使用できます
春雲探偵 span_id
とtrace_id
リクエストに追加します。