バージョンアップ情報
Thanos情報
Thanosとは
Thanos(サノス)は、Prometheusと組み合わせることで、無制限のストレージ容量を備えた高可用性メトリックシステムを構築できるオープンソースのコンポーネントのセットです。ゲームテクノロジー企業のImprobable社により開発されました。
Thanosは、ペタバイト単位の履歴データを、性能を犠牲にすることなく信頼性の高い方法で保存するにはどうすれば良いかという問題を解決することを目的とし、2018年5月に発表され、2019年7月にCNCFインキュベーションプロジェクトとして承認されました。
Thanosは、Prometheus 2.0ストレージ形式を活用し、クエリの待ち時間を短縮しながら、履歴メトリックデータを任意のオブジェクトストレージに効率よく保存することができます。さらに、全てのPrometheusインストールを横断したグローバルクエリビューを提供し、PrometheusHAペアからのデータをその場でマージできます。
主な特徴
Thanosには以下のような機能があります。
-
グローバルクエリビュー
複数の Prometheus サーバやクラスターに対応するグローバルクエリビューが使用できます。 -
無制限に保存可能
サポートする GCP、S3、Azure、Swift、TencentCOS などのオブジェクトストレージシステムを拡張し、メトリックを無制限に保存することができます。 -
Prometheus互換
Grafana などの Prometheus Query API をサポートするツールも使用できます。 -
ダウンサンプリング
履歴データをダウンサンプリングすることで、長期間に渡る範囲のクエリや、複雑なポリシー構成のクエリを大幅に高速化します。
Thanosには以下のコンポーネントがあります。
コンポーネント |
|
---|---|
Compactor |
Prometheus2.0ストレートエンジン圧縮手順を使用して、オブジェクトストレージに保存されたデータをブロックします。 |
Querier/Query |
Prometheus HTTP v1 PAIを実装していて、PromQLを介してThanosクラスター内のデータを取得します。 |
Query Frontend |
読み取りパスの高速化するため、Thanos Querier の前面に配置することで、クエリの分割、キャッシュなどの機能を提供します。 |
Receiver |
Prometheus Remote Write APIを実装しており、TSDBブロックをオブジェクトストレージバケットにアップロードします。 |
Rule(またはRuler) |
Prometheusレコーディング及びアラーティングルールを評価します。 |
Sidecar |
Prometheusインスタンスとともにデプロイされるコンポーネントを実行します。Sidecarは、メトリクスをオブジェクトストレージにアップロードします。 |
Store(またはStore Gateway) |
Store APIを実装し、オブジェクトストレージバケットの履歴データにアクセスできるようにします。 |
アーキテクチャ概要図
Sidecarを使用したデプロイ
Receiverを使用したデプロイメント
※ https://github.com/thanos-io/thanosより引用
Thanosに類似する製品として、Cortex があります。
ユースケース
高可用性と無制限の履歴データストレージを実現する必要があり、Prometheus をご利用の場合 Thanos の採用をご検討下さい。
動作環境
Prometheus (v2.2.1以上、v2.13以上を推奨)
Thanosのライセンス
Thanosのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Prometheus
プロメテウス。GO言語で書かれたオープンソースのモニタリングツールです。
-
Logstash
ログスタッシュ。Elastic社により開発された、データ収集ツールです。
-
サポート対象
Fluentd
フルエントディ。様々なデバイスやシステムからログ収集を行い、NoSQLデータベースやテキストなど様々フォーマットに変換・格納するログコネクタです。