2017-01-12 47 views
2

公式のInfluxDBドッカーイメージを使用しています。保持ポリシーをデフォルトで14 daysに設定したいとします。設定を介してInfluxDBのデフォルトの保持ポリシーと期間を設定する方法

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

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

ドキュメンテーションはかなり貧弱です。既定の期間を調整するために、ENV変数が見つかりません。 INFLUXDB_RETENTION_POLICY変数を別の保存ポリシーの別の名前に設定することもできますが、構成を通じてその保存ポリシーをどのように作成できるか分かりません。コンフィギュレーションによる 1)の構成 または 2を介して保持のためのデフォルトの継続時間を変更する方法)保持ポリシーを作成する方法

答えて

5

残念ながらデフォルトを設定する方法はありません。

を認識して誰です構成による保持ポリシー。これは、通常、保持ポリシーの期間はデータベースの作成中に定義されるためです。

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 

は、ここでは、保持ポリシーの期間は無限とシャードグループ期間の別名である7日である168h0m0sある0sであることがわかります。

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

私は、InfluxDBでデータベースを作成するときは、常に完全に明示することをお勧めします。そうすることで、データベースの保存期間が正しく設定されます。したがって、14日間の保存ポリシーを使用してデータベースを作成する場合は、コマンドを発行してください。

CREATE DATABASE mydb WITH DURATION 14d 
+0

ありがとうございました。 InfluxDBにも構成を使用して1つのデータベースを作成しています。名前は指定するだけです。 私はばかげているようですが、kubernetesポッドのドッキングコンテナでInfluxDBを実行していますが、この設定を自動化する方法はまだわかりません。 kubernetesがポッドを作成するまで、InfluxDBのドッカーボリュームは作成されません。別の問題がもう1日あります。 –

関連する問題