BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース PreziのPrometheusからVictoriaMetricsへの道のり

PreziのPrometheusからVictoriaMetricsへの道のり

原文リンク(2025-02-11)

Prezi社のエンジニアリングチームは最近、Prometheusベースの監視システムからVictoriaMetricsへの移行について、コストの最適化、パフォーマンスの向上、アーキテクチャのシンプルさにフォーカスして議論した。この移行により、コストは約30%削減され、重いクエリの完了速度は30秒以上から3-7秒に短縮された。

Prezi社のシニアサイト信頼性エンジニア Grzegorz Skołyszewski氏がこの道のりをブログ投稿にまとめている。2024年までPrezi社のPrometheusセットアップは時代遅れでコストがかかり、保守に多大なリソースを必要とする非推奨の内部プラットフォーム上で動作していた。チームは複雑さの削減、Kubernetesへの移行、運用コストの削減により、メトリクス収集と保存システムを現代化しようとした。

しかし既存のPrometheusシステムは、その規模(500万アクティブシリーズ)による高いリソース要件、ダッシュボードとアラートのための複数インスタンス管理の複雑さ、レガシーインフラストラクチャへの依存を含むいくつかの課題を抱えていた。

これらの問題に対処するためチームは代替案を検討し、マネージドとセルフホストソリューションの両方を評価した。マネージドオプションは高価なため除外され、ThanosCortex/Mimir、VictoriaMetricsのようなセルフホストソリューションが検討された。Prezi社のエンジニアリングチームはそのシンプルさ、コスト効率、パフォーマンスの優位性からVictoriaMetricsを選択した。

AWS S3のようなオブジェクトストレージに依存する他のツールとは異なり、 VictoriaMetricsはより安価でパフォーマンスが高く、外部キャッシュサブシステムが不要なブロックストレージを使用している。その効果を確認するために概念実証が行われた:Prometheusで以前タイムアウトしていたクエリがVictoriaMetricsでは3~7秒で完了し、ストレージ使用量は70%、メモリは60%、CPU時間は30%減少した。

最初にチームは高可用性を確保するために、複数のAWSアベイラビリティゾーン(AZ)にVictoriaMetricsのクラスター版をデプロイした。しかしこのセットアップではゾーン間ネットワークトラフィックによりコストが大幅に増加した。

各メトリックの書き込みやクエリのたびに、VMInsertやVMStorageのようなコンポーネント間で余分なホップが発生し、データ転送料が増幅された。この問題を解決するためクラスター化セットアップを、異なるAZのVictoriaMetrics Singleの2つの別シングルインスタンスデプロイメントに置き換えた。

出典アベイラビリティゾーンの利用がいかに予算を圧迫するか - PrometheusからVictoriaMetricsへの道のり

フェイルオーバー冗長化のためロードバランサーが導入され、インスタンスのダウンタイム中のデータ損失を防ぐためにエージェントがデータをバッファリングするよう構成された。このアーキテクチャは信頼性を維持しながらAZ間のトラフィックを最小限に抑えた。

チームはシステムをさらに改善するために、さらなる機能強化も行った。エンタープライズライセンスやGrafana Cloudのような外部サービスによる余分なコストを発生させることなくメトリクスを長期保存するために、彼らはカスタム保持設定を持つ別のVictoriaMetrics Singleインスタンスをデプロイした。

構成管理を簡素化するためにVictoriaMetrics Kubernetes Operator を採用し、製品チームがリポジトリから直接アラート構成を管理できるようにした。Kubernetes以外のワークロードについては、静的な設定を持つエージェントを追加導入した。また、Grafana Private Data Connectを使用してGrafanaインスタンスを統合し、セルフホストメトリクスとGrafana Cloudをシームレスに統合した。

我々はHacker NewsとRedditの技術コミュニティが興味深い議論をしているのを見た。Hacker Newsでの議論ではクラウドコンピューティングにおける高いAZ間データ転送コストのトレードオフについて、ベストプラクティスを歪めているという見方と、そのような価格設定がデータセンター間の帯域幅のスケーリング費用を正しく反映しているという見方が議論された。

一方Redditでは監視システム設計におけるトレードオフが議論された。一つの視点では、リモート書き込みシステムは遅延と中央のルール評価への依存をもたらし、バックログ時に障害のリスクがあると警告した。もう一つの視点では、ルール評価の遅延を伴うステートレスエージェントは、Prometheusのようなステートフルシステムと比較してスケーラビリティ、一貫性、容易なメンテナンスを提供し、トレードオフがユーザの好みに委ねられると主張した。

この移行は、Prezi社のエンジニアリング業務に大きなベネフィットをもたらした。コストやクエリ時間への影響はもちろんのこと、Kubernetesネイティブのツールを通じてメトリクスにアクセスしやすくなった。また、新システムはスケーラビリティと信頼性が向上し、将来の成長にも対応できるようになった。

作者について

特集コンテンツ一覧

BT