Prometheus に組み込まれている時系列データベースはシングルノードであり、スケーラビリティや信頼性に制限があります。TSDB for InfluxDB® をリモートストレージバックエンドとして使用することで、既存のモニタリング構成を変更することなく、読み取りおよび書き込み操作をマネージドでパフォーマンス専有型のストアにオフロードできます。
仕組み
Prometheus は HTTP 上で protocol buffers(protobuf)を使用してリモートストレージシステムと通信します。TSDB for InfluxDB® は、Prometheus のネイティブな読み取りおよび書き込みプロトコルを直接受け付ける 2 つの HTTP エンドポイントを実装しており、追加のアダプターは不要です。
/api/v1/prom/read/api/v1/prom/write
Prometheus がターゲットをスクレイプしたりクエリを実行したりすると、そのデータはこれらのエンドポイントに転送されます。TSDB for InfluxDB® は独自の保持ポリシー エンジンを使用してデータを保存し、Prometheus が期待するフォーマットで読み取りリクエストに応答します。

前提条件
作業を開始する前に、以下のものがあることを確認してください。
TSDB for InfluxDB® インスタンス
インスタンス上のデータベースおよびアカウント。詳細については、「ユーザーアカウントとデータベースの管理」をご参照ください。
Prometheus がインストールされていること。「Prometheus ダウンロードページ」をご参照ください。
Prometheus の構成
以下の手順では、オペレーティングシステムの例として Linux を使用します。他のオペレーティングシステムでも同様の構成が適用されます。
ステップ 1:prometheus.yml にリモートストレージエンドポイントを追加する
Vim などのテキストエディターで prometheus.yml 構成ファイルを開き、ファイルの末尾に次の行を追加します。
remote_write:
- url: "https://ts-1234abcd.influxdata.rds.aliyuncs.com:3242/api/v1/prom/write?db=prometheus&u=prom&p=mypassword"
remote_read:
- url: "https://ts-1234abcd.influxdata.rds.aliyuncs.com:3242/api/v1/prom/read?db=prometheus&u=prom&p=mypassword"保存前に、プレースホルダーの値を実際の値に置き換えてください。
| プレースホルダー | 説明 | 例 |
|---|---|---|
ts-1234abcd.influxdata.rds.aliyuncs.com | ご利用の TSDB for InfluxDB® インスタンスのパブリックエンドポイント | ts-bp1xxxxxx.influxdata.rds.aliyuncs.com |
prometheus(db= の値) | 作成したデータベースの名前 | prometheus |
prom(u= の値) | データベースアカウントのユーザー名 | |
mypassword(p= の値) | データベースアカウントのパスワード |
ステップ 2:Prometheus を起動する
構成ファイルを保存し、Prometheus を起動します。
./prometheus --config.file=prometheus.ymlPrometheus の起動後、ブラウザで http://localhost:9090 にアクセスし、サービスが実行中であることを確認します。デフォルトポートは 9090 です。
