web-dev-qa-db-ja.com

構成を介してInfluxDBのデフォルトの保持ポリシーと期間を設定する方法

公式のInfluxDB Dockerイメージを使用しています。デフォルトで保持ポリシーを14 daysに設定したい。

INFLUXDB_RETENTION_POLICYなど、InfluxDBの構成を変更するために設定できるさまざまなENV変数があります。これは、「デフォルト」などの保持ポリシーの名前がデフォルトの保持ポリシーとして使用されることを想定しています。

問題は、このデフォルトポリシーの期間が7日間であることです。 14日に設定する必要があります。

ドキュメントはかなり貧弱です。デフォルトの期間を調整するためのENV変数が見つかりません。 INFLUXDB_RETENTION_POLICY変数を別の保持ポリシーの別の名前に設定することもできますが、構成を通じてその保持ポリシーを作成する方法がわかりません。

誰もが知っていますか:1)構成を介して保持のデフォルトの期間を変更する方法、または2)構成を介して保持ポリシーを作成する方法

10
Tutan Ramen

残念ながら、構成を介してデフォルトの保持ポリシーを設定する方法はありません。これは、通常、保持ポリシーの期間はデータベースの作成時に定義されるためです。

CREATE DATABASE <database_name>
[WITH [DURATION <duration>] [REPLICATION <n>]
      [SHARD DURATION <duration>] [NAME <retention-policy-name>]]

ユーザーが構成を介してデフォルトの保持期間を設定することを許可された場合、コマンドの結果

CREATE DATABASE mydb 

インスタンスごとに異なります。これは必ずしも問題があるわけではありませんが、理想的でもありません。

問題は、このデフォルトポリシーの期間が7日間であることです。 14日に設定する必要があります。

InfluxDBのデフォルトの保持ポリシーは無限でなければなりません。

> CREATE DATABASE mydb
> SHOW RETENTION POLICIES ON mydb
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        true

ここでは、保持ポリシーの期間が0sは無限のエイリアスであり、シャードグループ期間は168h0m0sは7日です。

ここでの混乱の主なポイントは比較的一般的であると思います-そして、ほとんどの場合、保持ポリシーの名前が適切ではないためです。 InfluxDBでは、データベースは保持ポリシーのコンテナーであり、保持ポリシーは実際の時系列データのコンテナーです。つまり、保持ポリシーは、それが含むすべてのデータに対するポリシーを持つコンテナーとしてのポリシーほど重要ではありません。

私の推奨は、InfluxDBでデータベースを作成するときは常に完全に明示的であることです。そうすることで、データベースが正しい保持ポリシーの期間を持つことが常に保証されます。したがって、14日間の保存ポリシーでデータベースを作成するには、次のコマンドを発行します

CREATE DATABASE mydb WITH DURATION 14d
16
Michael Desa

既存のデータベース(これは私の状況でした)を使用してgoogleから来ている人たちの質問に答えるには、保持ポリシーを設定する3つの方法があります。

  • 新しいデータベースで、データベースを作成(上記のとおり)
  • 保持ポリシーの作成時、createステートメントの最後にDEFAULTを追加する
  • alteringによって、既存の保存ポリシーがデータベースのデフォルトになります(以下を参照)

データベースの作成

CREATE DATABASE "NOAA_water_database" WITH DURATION 3d REPLICATION 1 SHARD DURATION 1h NAME "liquid"

ポリシーの作成

CREATE RETENTION POLICY "one_day_only" ON "NOAA_water_database" DURATION 1d REPLICATION 1

既存のポリシーの更新

ALTER RETENTION POLICY "what_is_time" ON "NOAA_water_database" DURATION 3w SHARD DURATION 2h DEFAULT

したがって、デフォルトにする既存のデータベースと保存ポリシーの場合、最も簡単な解決策は、変更保存ポリシーを使用することです。

0
Kenny Grant