New RelicからDatadog APMへの乗り換え検討時に機能比較をしたのでメモ。
※APM以外の部分も含めている。
New Relic | Datadog | 比較 | |
---|---|---|---|
サーバー監視 | クラウド、コンテナ、OS、ミドルウェア、ネットワーク、OSS等のメトリクス収集可能CPU、メモリ、ストレージ、ネットワーク、プロセス等のメトリクス収集可能 | New Relicと同等なので割愛 | 特に差はなさそう。 |
アプリケーション | レスポンスタイム、スループット、エラー率トランザクションスレッドプロファイルクロスアプリケーショントレーシングトランザクション分析サービスマップ外部サービスのパフォーマンス監視トランザクションのメトリクスとトレース分散トレーシングデプロイ分析 | サービスマップサービスパフォーマンスダッシュボードデプロイ追跡アプリケーションログ、RUM、Syntheticとトレース連携プロファイラ(CPU、メモリ、I/O消費するコード行特定)分散型トレーシング | NewRelicは多機能に見えるが、Datadogでもほぼ同等のことができそう。 |
データベース | データベースコールの消費時間スロークエリデータベースとキャッシュ操作の表示データベースコールのレスポンスタイム、スループットSQLクエリ分析(パフォーマンスの悪いクエリとそのスタックトレースの表示) | クエリスループット、パフォーマンス、接続数、他メトリクス取得可能 | 概ね大差はなさそう。 DatadogはMySQLのインテグレーション導入が必要。 NewRelicはAPM連携でログのドリルダウンができる。 DatadogもおそらくRUMと連携して同様のことができるはず・・ |
RUM (Realtime User Monitoring) | ページロードパフォーマンスブラウザパフォーマンスAJAX分析JavaScriptエラー分析New Relic Mobileと連携可能 | ページビューに関連するメトリクス収集可能RUMエクスプローラー(アプリケーションから収集した全データにアクセス可能、監視やエラー解決に活用可能)ログ、APM、プロファイラと連携可能エラー追跡ios・androidはSDKで対応可能 | フロントエンドはNewRelicのほうが充実していそう。 DatadogはJS周りはjsのtracerの追加が別途必要そう。 cf. https://docs.datadoghq.com/ja/tracing/setup_overview/setup/nodejs/?tab=%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A |
Synthetic | ロケーション(世界各国)別にテスト実施可能1日単位、1分ごとなど指定可能可用性モニタリングスクリプトブラウザーインタラクション(謎)APIテストAPMとも連携可能?(おそらく)CI・CD連携可能 | ブラウザテストプライベートロケーション(内部用アプリケーションの監視、インターネットから接続できないプライベートURLの監視)CI・CD連携APMと連携可能 | 大きく差はなさそう。 |
レポート | カスタムダッシュボード可用性キャパシティ分析SLAデプロイ追跡ホストごとの使用状況分析拡張性 | カスタムダッシュボード予測値モニター異常検知モニターデプロイメントの追跡SLO | Datadogはモニタリングに、New Relicは分析に力を入れている感じかなぁ。 |
統合機能 | 各クラウドのサービスや各種ミドルウェアと連携できる | New Relicと同等なので割愛 | 拡張性はどちらもある。 |
APM導入方法 | 各言語ごとにagentをインストール | Datadog Agentのインストール。Datadog Agentの設定でAPMを有効化する言語ごとにトレーサーの設定をする | NewRelic APMはagentのCPU負荷について情報があるが、Datadog APMは不明。要検証。 |