Datadog
Overview
Datadogのサービス拡大により、複数のサービスを使うことなくDatadogのサービスに追加で契約することで完結できるようになる。
以前までは、監視ツールとは別にAPMのツールの導入、ログ分析ツールの導入など別々のサービスを使う必要があった。
しかし、Datadogを導入することでDatadogひとつでAPMやログ分析ツール、または、ネットワーク管理やデータベース管理などのサービスを使うことができる。
Datadogは監視に必要なひととおりの機能を備えたMonitoring Sass
グラフの作りやすさ、見栄えの良さに定評があるグローバルスタンダードなツールのひとつ。
勉強のためにやること
SLOをdatadogで作る ダイナミックインスツルメンテーション Datadogラーニングセンター
Datadog収集方法
エラーやメトリクスの情報をDatadogに定期的に送る必要がある。 そのためDatadogが提供しているAPIを使い、DBから取得した情報をカスタムメトリクスとして送る。
Datadog種類
RUM
かなり高いがフルコース
Datadog Application Performance Monitoring(APM)
Application Performance Monitoring(APM)は、アプリケーションのリクエスト、エラー、レイテンシーを監 視する。
アプリケーション全体に分散型トレーシングを追加し、ホスト、コンテナー、プロキシ、サーバーレス機能におけるブラウザセッション、ログ、プロファイル、Syntheticチェック、ネットワーク、プロセス、インフラストラクチャーのメトリクスに相関付ける。
リファレンス zozoでの導入 クラメソでの説明 Webサービス、キュー、データベースがリクエスト、エラー、レイテンシーを監視するための標準のパフォーマンスダッシュボードを使用して、アプリケーションを詳細に可視化
分散トレーシングが導入できる 分散トレーシングとは
分散トレーシングはマイクロサービスアーキテクチャの問題である障害発生時の原因究明の複雑化やシステム全体 でのパフォーマンスの把握が難しいといったことに対応できる仕組み
APMと従来の監視違い
-
APM 専用のライブラリをアプリケーションに組み込んで、「実際のユーザからのリクエスト」に対するパフォーマンスやエラーを計測、監視する。
-
従来的なアプリケーションの監視 (※1) アプリケーションのプロセスが動いているか確認する。 外形監視として定期的に、アプリケーションにリクエストを発行して正常か確認する。 あくまで実際のユーザのリクエストではなく、監視のためのリクエスト。 アプリケーションが出力したログからエラーが出ていないか監視する。
APMがなぜ必要か
一番の理由はアプリケーションのパフォーマンスがビジネスにおいてより重要な役割を果たすようになってきたからでしょう。 そして、アプリケーションがどんどん複雑化していて、パフォーマンスの改善やエラーの特定が難しくなってきているからです。
browser-logs
安価にフロントエンドのError収集ができる。
メリット
- 所管ではSentryの代わりになれる
- 余計なheaderを追加しない(Sentryだど追加するためCORSに引っかかる)