PrometheusとVictoriaMetrics比較_Kubernetesオブザーバビリティ

こんにちはサイオステクノロジーの前田です。

Prometheusを導入しようとしても多数展開用のシングルノード等の小さい環境の場合や、複数クラスターが存在する大規模な環境の場合ではPrometheusだとリソース問題やデータの保存の問題で希望のメトリクスが保管できないケースが有ります。VictoriaMetricsはPrometheusのいくつかの課題に対応することができます。本記事ではVictoria MetricsとPrometheusを比較していきます。

Kubernetesのメトリクス収集OSS2大ソリューション

Prometheusとは

PrometheusはKubernetesのメトリクス監視における業界標準です。いろいろなソリューションの中にメトリクス収集のソフトウェアとして内蔵されています。

また、コンテナアプリケーションではPrmetheusで検知できるようにアラートルールが設定されたものが多くあります。

https://prometheus.io/

VictoriaMetricsとは

VictoriaMetricsは、大規模環境でのメトリクス収集や長期間のデータ保持に最適化されたメトリクスソリューションです。vmagentを利用することでPrometheusと同等の収集能力を提供しつつ、ストレージ効率とリソース消費の面で優れたパフォーマンスを発揮します。

エンタープライズ版も存在します。

構成図

 

またメトリクスのpushとpullに対応しています。

参照画像:https://docs.victoriametrics.com/victoriametrics/

 

PrometheusとVictoriaMetricsの比較

機能や構成比較

機能や構成要素を比較します。

比較項目

Prometheus

VictoriaMetrics

概要

CNCF標準、Pull型メトリクス監視

高性能・省リソースなメトリクスソリューション

アーキテクチャ

Pull型が基本

Pull/Push両対応、疎結合設計

ストレージ

ローカルストレージ

独自開発の高性能ストレージ

データ長期保存

外部拡張(Thanos等)が必要

標準機能で対応可能

リソース消費

大規模環境で負荷が増加しやすい

メモリ・ディスク効率が非常に高い

ユースケース

シングルクラスター運用や小規模〜中規模の環境

大規模環境、マルチクラスター管理、長期保存が必須の環境

互換性

–

Prometheus APIとほぼ完全互換

各コンポーネントの比較

ソリューションを導入したときのリソース名やコンポネント名を比較します。

比較項目

Prometheus系

VictoriaMetrics系

備考

データサーバー

Prometheus

VictoriaMetrics (Single/Cluster)

スクレイピング

ServiceMonitor

VMServiceScrape

VMPodScrape

収集エージェント

Prometheus (Agentモード可)

vmagent

PrometheusもAgentモードで収集特化が可能

アラート定義

PrometheusRule

VMRule

PrometheusRuleもvmalertで利用可能(互換性あり)

アラートエンジン

Alertmanager

vmalert ( VMAlertmanager)

導入スタック

Kube-Prometheus-Stack

VictoriaMetrics K8s Stack

 

おわりに

Prometheusと同様の使い方ができ運用面でいろいろ利点があるVictoriaMetricsを利用したいケースは今後増えてくるでしょう。Prometheus以外のメトリクス収集ソリューションを利用したいときには、VictoriaMetrics導入を検討してみてください。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
エンジニア募集中!

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です