InfluxDB: クイックスタート

InfluxDB を迅速にセットアップし、ベストプラクティスで管理する方法

👋 Stackhero ドキュメントへようこそ

Stackhero は、スピードとシンプルさを追求したフルマネージドの InfluxDB cloud 環境を提供します:

  • 無制限の書き込み、クエリ、ダッシュボード、タスク、バケット。
  • 無制限のデータ保持期間:必要なだけメトリクスを保存できます。
  • 無制限のネットワークおよびディスク転送、隠れた制限はありません。
  • ワンクリックでのアップデート:常に最新の機能と修正にアクセス可能です。
  • 専用のプライベートインフラ上で、安定したパフォーマンスと強固なセキュリティを実現。

Stackhero なら、データとインサイトに集中できます。InfluxDB cloud hosting の導入は数分で完了し、すべてのセットアップが長期的な信頼性を考慮して最適化されています。

InfluxDB では、Web UI から直接ユーザー管理を行うことはできません。ユーザーの作成や管理は、InfluxDB CLI を利用することで効率的に実施できます。

InfluxDB CLI には Docker 経由でアクセスできます。例えば、以下のコマンドを実行してください:

docker run -it influxdb:2.8 /bin/bash

ご利用中の InfluxDB インスタンスに合わせて、2.8 の部分を正しいバージョンタグに置き換えてください。

コンテナを起動したら、設定を作成します。<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 は大量の時系列データの保存に最適化されていますが、古いデータを自動で削除しないため、管理されていないデータベースはすぐにストレージを使い切ってしまう可能性があります。Stackhero では、InfluxDB の標準機能を活用した効率的なデータ管理をサポートし、こうした問題を未然に防ぎます。

InfluxDB には主に2つの解決策があります:

  1. 保持ポリシー(Retention policies): 指定した期間(例:365日)より古いデータを自動的に削除します。これにより、ストレージ使用量を予測可能に保ち、手動でのクリーンアップが不要になります。
  2. ダウンサンプリング(Downsampling): 直近の期間は高解像度データを保存し、古い期間は集約データのみを保持します。例:
    • 直近5分間は1秒ごとのデータを保持
    • 過去24時間は1分ごとの最大値・最小値・平均値を保存
    • それより古いデータは1時間ごとの集約値のみ保持

保持ポリシーを活用することで、必要な履歴だけを保存し、ディスク容量の過剰消費を防げます。ダウンサンプリングの詳細は 公式 InfluxDB ダウンサンプリングドキュメント をご参照ください。

デフォルトでは、InfluxDB はデータを無期限に保持します。多くの時系列データ用途では、各バケットごとに保持期間を設定することで、必要なデータのみを保存し、ストレージの無制限な増加を防げます。

保持期間の設定方法:

  1. InfluxDB の Web UI を開きます。
  2. 「Data」から「Buckets」を選択します。
  3. 対象バケットの横にある「Settings」をクリックします。
  4. 「Delete data older than」から希望する保持期間を選択します。

選択した保持期間より古いデータは完全に削除されます。

InfluxDB ではデータをシャード(shard)単位で保存しています。期限切れデータのみを含むシャードは自動的に削除されますが、期限切れデータと現行データが混在している場合、そのシャードは全データが期限切れになるまで残ります。デフォルトでは、1つのシャードは7日分のデータをカバーします。新しい保持ポリシーを設定した場合、最大で約7日分の古いデータが次のシャードサイクルまで残ることがあります。詳細は InfluxDB シャードに関するドキュメント をご覧ください。

Node.js から InfluxDB へデータを送信する実用的なサンプルは、InfluxDB Getting Started リポジトリ でご確認いただけます。