![見出し画像](https://assets.st-note.com/production/uploads/images/93059850/rectangle_large_type_2_2837aa17ba9681018bc59491b1b02620.png?width=1200)
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はトップクラスで便利なシステムの情報収集ツールかつ分析ツールです。
学習コースも幅広く作成されているので興味があるかたはぜひ利用してみてください!
この記事が気に入ったらサポートをしてみませんか?