マネージドなPromtheusをOSSに置き換えた場合、どんな構成が必要になるか?
マネージドなPrometheus
⇒Amazon Managed Service for Prometheusのこと
OSSでPrometheusを利用する場合は、
コンテナ基盤:ECS Fargate
ストレージ:S3
Prometheus のメトリクスを直接S3に保存することは可能か?
⇒できない。
⇒ Thanos (サノス) を利用すれば直接S3に保存可能
⇒ Thanos とは?
⇒ OpenTelemetry を利用すれば awss3exporter で生の OTLP データを S3に保存可能
⇒データの流れが OpenTelemetry → S3 → OpenTelemetry → Prometheus → Grafanaになるため、リアルタイム性に欠けそう?
Thanosとは?
⇒Prometheusのデータをオブジェクトストレージにバックアップして長期保存する役割
ThanosはPrometheusのサイドカー(Sidecar)として利用される。
⇒サイドカー(Sidecar)とは?
⇒補助的な役割を行うコンテナのこと。
他のPrometheus互換のメトリクスストレージは?
⇒Grafana Mimir(ミーミル?)
⇒時系列データベースとは
⇒時間とともに変化するデータを効率的に保存するためのDB
TSDB (Time Serise DB)とRDBの構造の違いは?
特徴 | TSDB | RDB |
---|---|---|
データ構造 | タイムスタンプを主キーとする時系列データを扱う。 | テーブル形式で行と列による構造化データを扱う。 |
スキーマ | スキーマレスの傾向なので、フィールド追加が簡単 | 厳密なスキーマを持っている |
Mimirは、S3やMinIO (ミニオ)などのオブジェクトストレージを使うことでデータの永続化ができる
⇒Mimirは一時的にローカルストレージに保存される
MinIOとは?
S3互換のオープンソースオブジェクトストレージサーバーです。
Go言語で実装されており、軽量かつ高性能で、クラウドネイティブな環境やコンテナ化されたアプリケーションでの使用に最適化されています。
https://openstandia.jp/oss_info/minio/
MinIOをとりあえずECSを使って起動させたい。