Help us understand the problem. What is going on with this article?

GAEにDatadog APMを導入する

概要

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を。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away