New RelicとDatadog APMの比較

インフラストラクチャ

概要

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は不明。要検証。

関連書籍