InfluxDB: クイックスタート
InfluxDBの始め方
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供する、すぐに使えるInfluxDBクラウドソリューションを提供しています。
- 無制限の書き込み、クエリ、ダッシュボード、タスク、バケット。
- 無制限のデータ保持期間。
- 無制限のネットワークおよびディスク転送。
- ワンクリックで簡単に更新。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
時間を節約し、生活を簡素化:StackheroのInfluxDBクラウドホスティングソリューションを試すのに5分しかかかりません!
InfluxDBユーザーの管理
InfluxDBは、Web UIを通じてユーザーを直接作成および管理する方法を提供していません。幸いなことに、これらのタスクにはInfluxDB CLIを使用できます。
InfluxDB CLIの使用
InfluxDB CLIにはDockerを介してアクセスできます。例えば、次のコマンドを実行します:
docker run -it -u 0 bitnami/influxdb:2.7.11 /bin/bash
2.7.11をお使いのInfluxDBバージョンに置き換えるのを忘れないでください。
コンテナが起動したら、設定を作成します。<XXXXXX>.stackhero-network.comを実際のInfluxDBドメインに置き換えるのを忘れないでください:
influx config create \
--config-name adminConfig \
--active \
--username-password admin \
--org admin \
--host-url https://<XXXXXX>.stackhero-network.com
このステップの後、InfluxDB CLIを使用できるようになります。例えば、新しいユーザーを作成するには、次のコマンドを実行します:
influx user create --name <user> --password <password>
ディスク容量の飽和を避ける
InfluxDBは時系列データベースとして設計されており、多くのメトリクスを扱うことがよくあります。これらのデータベースは通常データを自動的に削除しないため、データベースは無限に成長し、利用可能なディスク容量をすべて使用する可能性があります。
ディスク容量の飽和を防ぐために、InfluxDBは2つのソリューションを提供しています:
- 保持ポリシー: 定義された日付より古いデータを削除します。例えば、365日以上前のデータを削除することを決定するかもしれません。
- データのダウンサンプリング: 時間とともにデータの解像度を下げます。例えば、毎秒温度を記録する場合、次のようにすることができます:
- 過去5分間は1秒ごとの温度データを保持します。
- 過去24時間は1分ごとの最大、最小、平均温度を維持します。
- 古いデータには1時間ごとの最大、最小、平均温度を保存します。
保持ポリシーを使用することで、テラバイトのストレージスペースを必要とせずに長期間にわたって履歴データを保存できます。データのダウンサンプリングに関する詳細は公式ドキュメントで確認できます。
InfluxDBデータ保持の管理
デフォルトでは、InfluxDBはデータを無期限に保存します。この動作は従来のデータベースでは一般的ですが、時系列データベースには理想的ではありません。古いデータを削除して制御不能な成長を防ぐ必要があります。
例えば、バッテリー電圧データを保存している場合、数日間のみ関連性があるかもしれません。ディスクを埋めないようにするためには、各バケットに保持期間を設定することが重要です。
データ保持を設定するには:
- InfluxDBのWeb UIを開きます。
- 「Data」をクリックし、「Buckets」を選択します。
- 設定したいバケットの横にある「Settings」をクリックします。
- 「Delete data older than」を選択し、希望する保持期間を選びます。
警告 選択した保持期間より古いデータは永久に削除されることを忘れないでください!
InfluxDBのデータはシャードに整理されていることを覚えておいてください。古いデータのみを含むシャードは自動的に削除されますが、古いデータと現在のデータが混在しているシャードは削除されません。デフォルトでは、保持ポリシーが定義されていない場合、シャードは7日間のデータを保持します。つまり、保持ポリシーを設定すると、約7日分の古いデータが現在のデータと一緒に保存される可能性があります。シャードに関する詳細は公式ドキュメントで確認できます。
Node.jsからInfluxDBにデータを送信する
Node.jsからInfluxDBサービスにデータを送信する方法の例は、このリポジトリで確認できます:https://github.com/stackhero-io/influxdbGettingStarted