すべてのプロダクト
Search
ドキュメントセンター

Time Series Database:Prometheus と TSDB for InfluxDB®️ サービスの統合

最終更新日:Jan 14, 2025

Prometheus は、メトリック監視の主要なアプリケーションです。 Prometheus は、リモートストレージシステムと Prometheus を統合するために使用できる一連の API を提供しています。 この方法で、InfluxDB をリモートストレージシステムとして使用して、Prometheus の時系列データを格納できます。 これにより、Prometheus はローカルストレージの制限を取り除き、より安定した信頼性の高いストレージパフォーマンスを提供できます。 このトピックでは、監視データを格納するための高性能ソリューションを提供するために、Prometheus を Alibaba Cloud TSDB for InfluxDB® と統合する方法について説明します。

背景情報

Prometheus は、監視およびアラートシステムです。 Prometheus は SoundCloud によって開発され、2016 年に Cloud Native Computing Foundation (CNCF)に参加した後、広く採用されているオープンソースプロジェクトになりました。 Prometheus は、メトリックとラベルを使用して時系列データを指定する多次元データモデルをサポートしています。 Prometheus はまた、多次元クエリをサポートするために PromQL クエリ言語を提供します。 ストレージに関しては、Prometheus はローカルストレージに基づいて開発された組み込みの時系列データベースを提供します。 この単一ノードデータベースは、スケーラビリティと信頼性が限られており、機能も限られています。 ストレージパフォーマンスを向上させるために、Prometheus は、リモートストレージシステムと Prometheus を統合するために使用できる一連の API を提供しています。 次の図は、Prometheus のリモートストレージの仕組みを示しています。

Prometheus は、リモートストレージの読み取りおよび書き込み API を提供します。 プロトコルバッファは通信プロトコルの定義に使用され、HTTP はデータの送信に使用されます。 ストレージシステムが Prometheus をサポートできるようにするには、Prometheus の読み取りおよび書き込み要求をストレージシステムでサポートされている形式に変換するアダプターパターンを実装する必要があります。 TSDB for InfluxDB® は、高性能データストレージを提供し、保持ポリシーをサポートしています。 TSDB for InfluxDB® は、Prometheus の読み取りおよび書き込みプロトコルをサポートし、アダプター機能と 2 つの HTTP API を提供して、Prometheus からの読み取りおよび書き込み要求を処理します。 これにより、TSDB for InfluxDB® は Prometheus のリモートストレージとして最適な選択肢となります。 TSDB for InfluxDB® の詳細については、「TSDB for InfluxDB® の概要」をご参照ください。

  • /api/v1/prom/read

  • /api/v1/prom/write

前提条件

  • TSDB for InfluxDB® インスタンスが購入されていること。

  • インスタンスにデータベースが作成され、インスタンスのアカウントが作成されていること。 詳細については、「ユーザーアカウントとデータベースの管理」をご参照ください。

  • Prometheus がインストールされていること。 詳細については、公式ドキュメントを参照してください。

Prometheus の構成

説明

Prometheus は複数のオペレーティングシステムをサポートしています。 このトピックでは、例として Linux を使用して構成手順を説明します。

Linux 用の Prometheus パッケージには、構成ファイルが含まれています。 TSDB for InfluxDB® を Prometheus と統合するには、構成ファイルで TSDB for InfluxDB® をリモートストレージシステムとして指定するだけです。

$ ls
console_libraries  consoles  data  LICENSE  NOTICE  prometheus  prometheus.yml  promtool

Vimなどのテキストエディターを使用して、prometheus.yml ファイルの末尾に次のコンテンツを追加します。

説明

上記のコンテンツで、URL を TSDB for InfluxDB® インスタンスのパブリックエンドポイントに置き換え、u の値をアカウントのユーザー名に置き換え、p の値をアカウントのパスワードに置き換えます。

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"

構成ファイルを保存し、Prometheus を起動します。

$./prometheus --config.file=prometheus.yml

Prometheus の起動後、ブラウザーを使用して Prometheus サービスにアクセスできます。 サービスのデフォルトのポート番号は 9090 です。

関連情報