全部产品
Search
文档中心

Elasticsearch:Integrasikan aliyun-timestream dengan protokol baris InfluxDB

更新时间:Jun 24, 2025

aliyun-timestream memungkinkan Anda menggunakan protokol baris InfluxDB untuk menyinkronkan data dari InfluxDB ke indeks deret waktu di Elasticsearch. Topik ini menjelaskan API yang digunakan untuk menyinkronkan data, mencakup catatan penggunaan API, serta memberikan contoh implementasi.

Prasyarat

Cluster Elasticsearch V7.10 dengan versi kernel V1.8.0 atau lebih baru telah dibuat. Untuk informasi lebih lanjut, lihat Buat Cluster Alibaba Cloud Elasticsearch.

Sintaks permintaan

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

Parameter permintaan

Parameter

Deskripsi

db

Wajib. Parameter ini menentukan nama indeks deret waktu tempat Anda ingin menulis data.

presisi

Opsional. Parameter presisi. Nilai valid: n, ns, u, ms, s, m, dan h. Jika Anda tidak mengonfigurasi parameter ini, nilai default ns digunakan.

Catatan penggunaan

Kode berikut menunjukkan sintaks protokol baris InfluxDB. Untuk informasi lebih lanjut tentang protokol baris, lihat Protokol Baris dalam dokumentasi InfluxDB.

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

// Contoh
myMeasurement,tag1=value1,tag2=value2 fieldKey="fieldValue" 1556813561098000000
null

Untuk data yang disinkronkan dari InfluxDB ke indeks deret waktu di Elasticsearch menggunakan protokol baris InfluxDB, nama sebenarnya dari measurement ditampilkan oleh bidang bernama measurement (Bidang 1) dalam parameter labels. Jika nama bidang yang ada (Bidang 2) yang terkandung dalam parameter labels juga measurement, nilai Bidang 1 akan menimpa nilai Bidang 2.

Kode berikut memberikan contoh format data di InfluxDB dan format data setelah ditulis ke Elasticsearch.

  • Data di InfluxDB

    testInflux,label1=label_value1 metric1=0.5
  • Data yang Ditulis ke Elasticsearch

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

    Anda dapat menggunakan API Pencarian Elasticsearch open source atau API Prometheus yang Terintegrasi dengan aliyun-timestream untuk menanyakan data yang disinkronkan dari InfluxDB ke Elasticsearch menggunakan protokol baris InfluxDB.

Contoh

Permintaan sampel

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

Respons sampel

HTTP/1.1 204 No Content

Jika data berhasil ditulis ke Elasticsearch, isi respons ditampilkan sebagai No Content, dan kode status HTTP 204 dikembalikan. Jika data gagal ditulis ke Elasticsearch, responsnya sama dengan respons yang dikembalikan ketika data gagal ditulis menggunakan API Penulisan InfluxDB.