Skip to content
Latchkey

Prometheus vs InfluxDB: どちらのメトリクスデータベースを選ぶか

Prometheusはメトリクスとアラートを中心に構築されたpullベースの監視システム、InfluxDBはメトリクスとイベントのための汎用の時系列データベースです。

Prometheusはpullモデルでターゲットをscrapeし、次元的なメトリクスを保存し、監視優先のワークフローのためにAlertmanagerとPromQLと組み合わせます。InfluxDBはpushされた書き込みを受け付け、より高カーディナリティのイベントデータをサポートし、Flux/InfluxQLに加えて長期保存のオプションを提供します。PrometheusはKubernetesネイティブな監視とアラートで優れ、InfluxDBはイベント型の時系列、IoT、柔軟なリテンションで優れます。

PrometheusInfluxDB
モデルPull (scrape)Push (write)
クエリPromQLFlux / InfluxQL
焦点監視 + アラート汎用の時系列
カーディナリティ中程度より高い許容度
最適な用途K8sメトリクス、アラートIoT、イベント、リテンション

ユースケースとモデル

Prometheusは、ターゲットがscrape用にメトリクスを公開し、アラートが最も重要なクラウドネイティブな監視に適しています。InfluxDBは、デバイスやアプリからpushされたメトリクスやイベントを取り込むのに適しており、長い履歴のための柔軟なダウンサンプリングとリテンションポリシーを備えます。

運用とCIへの適合

Prometheusは短期メトリクスの運用はシンプルですが、長期リテンションにはThanosやCortexが必要です。InfluxDBはリテンションをネイティブに扱います。どちらもCIで一時的なインスタンスに対して検証され、高速なrunnerは統合およびクエリのテストを速めます。

結論

第一級のアラートを備えたKubernetesネイティブな監視が欲しいなら: Prometheus。イベント、IoT、組み込みのリテンション向けの柔軟な時系列ストアが欲しいなら: InfluxDB。監視/アラートと汎用の時系列保存のどちらが支配的かで選びましょう。

関連ガイド