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

Elasticsearch:InfluxDB ラインプロトコルを使用した aliyun-timestream との統合

最終更新日:Jan 11, 2025

aliyun-timestream では、InfluxDB ラインプロトコルを使用して、InfluxDB から Elasticsearch の時系列インデックスにデータを同期できます。このトピックでは、InfluxDB から Elasticsearch の時系列インデックスにデータを同期するために使用できる API について説明します。また、API の使用上の注意と使用例についても説明します。

前提条件

カーネルバージョン V1.8.0 以後の Elasticsearch V7.10 クラスタが作成されていること。詳細については、「Alibaba Cloud Elasticsearch クラスタの作成」をご参照ください。

リクエスト構文

POST /_time_stream/influx/write?db={index}&precision=ns
{infludb lines data}

リクエストパラメータ

パラメータ

説明

db

必須。このパラメータは、データを書き込む時系列インデックスの名前を指定します。

precision

オプション。精度パラメータ。有効な値:n、ns、u、ms、s、m、h。このパラメータを設定しない場合、デフォルト値 ns が使用されます。

使用上の注意

次のコードは、InfluxDB ラインプロトコルの構文を示しています。ラインプロトコルの詳細については、InfluxDB のドキュメントのラインプロトコルを参照してください。

// Syntax
<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]

// Example
myMeasurement,tag1=value1,tag2=value2 fieldKey="fieldValue" 1556813561098000000
説明

InfluxDB ラインプロトコルを使用して InfluxDB から Elasticsearch の時系列インデックスに同期されたデータの場合、measurement の実際の名前は、labels パラメータの measurement(フィールド 1)という名前のフィールドによって表されます。 labels パラメータに含まれる既存のフィールド(フィールド 2)の名前も measurement である場合、フィールド 1 の値はフィールド 2 の値を上書きします。

次のコードは、InfluxDB のデータ形式と、データが Elasticsearch に書き込まれた後のデータ形式の例を示しています。

  • InfluxDB のデータ

    testInflux,label1=label_value1 metric1=0.5
  • Elasticsearch に書き込まれたデータ

    {
      "@timestamp": 1669972652000,
      "labels": {
        "measurement": "testInflux",
        "label1": "label_value1"
      },
      "metrics": {
        "metric1": 0.5
      }
    }

    オープンソース Elasticsearch の 検索 API または aliyun-timestream と統合された Prometheus API を使用して、InfluxDB ラインプロトコルを使用して InfluxDB から Elasticsearch に同期されたデータをクエリできます。

リクエスト例

curl -i --user "user:password" "http://xxx:9200/_time_stream/influx/write?db=test_stream" -d "testInflux,label1=label_value1 metric1=0.5"

レスポンス例

HTTP/1.1 204 No Content

データが Elasticsearch に正常に書き込まれた場合、レスポンスの本文は No Content として表示され、HTTP ステータスコード 204 が返されます。データが Elasticsearch に書き込めなかった場合、レスポンスは InfluxDB 書き込み API を使用してデータの書き込みに失敗した場合に返されるレスポンスと同じです。