This request has already been treated.

  1. mocchit

    fix url

    mocchit
Changes in body
Source | HTML | Preview

概要

Datadog版のAPMです。
Datadog APMを導入すると、APMとして機能はもちろんですが、
機会学習をベースとしたWatchdogという機能でアプリケーションレイヤとインフラレイヤのメトリクスを学習し、異常を自動検出してくれる機能も利用できるそうです。便利ですね。

ただし、GAEにDatadog APMを導入しようと思い、オフィシャルの手順を見ると情報がこれしかありません。。
スクリーンショット 2019-09-12 14.30.27.png

これだけだと具体的に何をどう設定すれば良いか分からないため、導入した時の手順を残します。

流れ

  • GCEにDatadog Agentをインストール
  • datadog.yamlの設定変更
  • Firewallの設定
  • Trace送信先の設定

手順

1. GCEにDatadog Agentをインストール

説明にもあったようにGAE単体ではAPMの導入ができず、GCE等にDatadog Agentをインストールし、
そこのホストにトレースデータを送信するようにしないといけません。
流れとしては、GAE -> GCE(Datadog Agent) -> Datadog APM といったイメージでしょうか。

Agentのインストール方法は、Datadogのアカウントをお持ちの方であれば、
こちらの手順を参考にしてください。
OSごとにインストール方法が別れています。
スクリーンショット 2019-09-12 14.48.16.png

2. datadog.yamlの設定変更

次に/etc/datadog/datadog.yamlを以下のように修正し、Datadog Agentを再起動します。
コメントアウトを外すだけです。

apm_config:
  enable: true
  receiver_port: 8126
  apm_non_local_traffic: true

他プラットホームのトレースデータを受ける場合は、apm_non_local_traffic: trueを設定します。
これは通常の構成ではローカルからtracerを受信するのに対して、
エージェントから見ると外部の環境からのtracerを受信する事になるためです。

3. Firewallの設定

さきほどの設定で8126ポートをレシーバーポートとして設定しました。
GCEの場合はFirewall設定で8126ポートへのアクセスを許可してあげる必要があります。
ネットワークタグを使って8126ポートを許可してあげると良いと思います。

4. Trace送信先の設定

次にTrace送信先を設定します。
Rubyを例にすると、Datadog Agentが起動しているGCEのIPアドレスとポート(8126)を設定します。
以下のサンプルコードの5行目で、環境変数から取得したホスト名をtraceの送信先として設定してます。
https://github.com/DataDog/trace-examples/blob/master/ruby/rails/config/initializers/datadog.rb#L5

詳細は、こちらのオフィシャルドキュメントを参考にしてください。
他の言語については、こちらを参照してください。

それでは良いDatadog Lifeを。