見出し画像

DataDogを使ってみよう!

DataDogとはシステムの、アプリケーションパフォーマンス、メトリクス、ログ、ネットワークを監視するためのツールです。

DataDog Coursesを利用すると無料でDataDogの使い方を勉強することができます。APMやNPMやメトリクスなどの項目についての説明や開発者やSREなどロールごとの学習コースも設定されています。

開発者向けコース(Datadog 101 for Developers!)を実際に学習したので感想を共有します!

開発者向けコースを学習することで、DataDogの基本的な使い方をマスターすることができます。それぞれの項目の詳細は別のコースで学習することもできます。

開発者向けコースの目次

  • The Agent on Docker

  • Integrations

  • Application Performance Monitoring (APM)

  • Logs

  • Synthetic Testing

  • Real User Monitoring (RUM)

The Agent on Docker

アプリケーションにDataDogへ情報を送信するための設定を追加する必要があります。
アプリケーションの環境によって設定方法は異なりますが、どの環境でも簡単に設定できると思います(Agent設定)。開発向けコースではDocker環境の場合を説明していました。
DockerのAgent設定はサービスを追加すること環境変数を追加することだけです。

Integrations

DataDogで自動的にアプリケーションで発生するログを全て解析することは難しいためIntegrationsを追加して様々なログを解析可能にします。
Rubyの場合はこのIntegrationsを使ってログをパースするよ!Pythonの場合はこのIntegrationsを使ってね!という設定をします。
Integrationsはシステム、サービス、アプリケーションごとに作成されているので、使用しているシステムに適したIntegrationsを見つけることができると思います。

Application Performance Monitoring (APM)

APMはアプリケーションのパフォーマンスを監視するために利用します。
エラー数が急激に増えていないか、スロークエリが発生していないか、クラウドリソースが不足していないかなど確認できます。

アプリケーションで発生している処理をプロファイルできるので、修正によって非効率になっていないかを確認することができます。
個人的にはAPMからLogsに遷移したり、LogsからAPMに遷移できる機能が便利でした!(詳細パネルを開いてExploer logをクリックするとLogに遷移できます)

Logs

logsではlogの収集と分析ができます。
logにtagをつけておくと後から収集しやすいので、良く確認するlogにはtagをつけておくと便利だなと思いました。

Synthetic Testing

Synthetic TestingとはE2Eのテストです。
テストシナリオを作成するとテストを実行することができます。
コードを修正したらDataDogのテストも修正しないといけないのは開発体験として微妙かなと思いました。DataDogではテストを設定するよりもSLOを設定した方が筋が良いと思います。

Real User Monitoring

RUM は個々のユーザーのリアルタイムのアクティビティとエクスペリエンスをエンドツーエンドで可視化できます。
実際にユーザーが動いた動作を録画する機能があります。この機能はかなり便利だなと思いました。エラーが発生した時に、この録画を共有するだけでエラーの発生状態を共有することができます。録画データなので費用はかかりそうです。

まとめ

DataDogはトップクラスで便利なシステムの情報収集ツールかつ分析ツールです。
学習コースも幅広く作成されているので興味があるかたはぜひ利用してみてください!

この記事が気に入ったらサポートをしてみませんか?