8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GAEにDatadog APMを導入する

Last updated at Posted at 2019-09-12

概要

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

8
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?