すべてのプロダクト
Search
ドキュメントセンター

Time Series Database:TSDB for InfluxDB® の CLI

最終更新日:Aug 26, 2026

TSDB for InfluxDB® のコマンドラインインターフェイス (influx) は、HTTP API と対話するシェルです。influx を使用すると、手動またはファイルからデータを書き込み、対話的にデータをクエリし、クエリ結果をさまざまな形式で表示できます。

CLI のダウンロード

お使いのオペレーティングシステム用のバイナリパッケージを以下のリンクからダウンロードします。

ダウンロードしたパッケージを解凍し、解凍したフォルダに移動します。フォルダには、コマンドラインツール influx (Windows では influx.exe) が含まれています。

influx の起動

ターミナルで influx を起動します。TSDB for InfluxDB® インスタンスに接続すると、次の出力が表示されます。

$ ./influx -ssl -username "myname" -password "mypassword" -host ts-xxxxxx.influxdata.rds.aliyuncs.com -port 3242
Connected to https://<Endpoint>:3242 version 1.8.x
InfluxDB shell version: 1.8.x

TSDB for InfluxDB® は、転送中のデータを保護するために SSL を使用します。TSDB for InfluxDB® に接続するたびに、-ssl、-username、-password、-host、-port パラメータを指定する必要があります。

パラメータの説明

  • -ssl:HTTPS 経由で InfluxDB サーバーに接続します。

  • -username:作成したアカウントのユーザー名を指定します。

  • -password:アカウントのパスワードを指定します。

  • -host:インスタンスのエンドポイントを指定します。ts-xxxxxx をインスタンス ID に置き換えます。

  • -port:ネットワークポートを指定します。VPC 接続には 8086、インターネット接続には 3242 を使用します。

これで、ターミナルで直接 InfluxQL クエリと一部の CLI コマンドを入力できます。Flux クエリを入力するには、-type オプションを flux に設定します。いつでも help を実行して、使用可能なコマンドを一覧表示できます。長時間実行される InfluxQL クエリを中断するには、Ctrl+C を押します。

環境変数

次の環境変数を使用して、influx クライアントの設定を構成できます。これらは小文字または大文字で指定できます。大文字が優先されます。

HTTP_PROXY

HTTP が使用するプロキシサーバーを定義します。

値の形式: [protocol://][:port]

HTTP_PROXY=http://localhost:1234

HTTPS_PROXY

HTTPS が使用するプロキシサーバーを定義します。HTTP_PROXY と HTTPS_PROXY の両方が設定されている場合、HTTPS_PROXY が優先されます。

値の形式: [protocol://][:port]

HTTPS_PROXY=https://localhost:1443

NO_PROXY

プロキシを経由しないホスト名のリストを指定します。この変数がアスタリスク (*) のみに設定されている場合、すべてのホストに一致します。

値の形式: 複数のホストをカンマで区切ります。

NO_PROXY=123.45.67.89,123.45.67.90

influx のオプション

influx の起動時に、influx にオプションを渡すことができます。$ influx --help を実行すると、使用可能なオプションが一覧表示されます。次のリストでは、各オプションについて簡単に説明します。-execute、-format、-import オプションについては、このセクションの後半で詳しく説明します。

-compressed

インポートファイルが圧縮されている場合は、このオプションを true に設定します。-compressed は -import と一緒に使用する必要があります。

書き込み整合性レベルを設定します。

-database 'database name'

influx が接続するデータベースを指定します。

-execute '<command>'

InfluxQL コマンドを実行して終了します。

-format 'json|csv|column'

サーバーレスポンスの形式を指定します。

-host '<hostname>'

influx が接続するホストを指定します。

-import

ファイルから新しいデータをインポートするか、以前にファイルにエクスポートされたデータベースをインポートします。

-password '<password>'

influx がサーバーへの接続に使用するパスワードを指定します。このオプションを空のままにした場合 (-password '')、influx はパスワードの入力を求めます。INFLUX_PASSWORD 環境変数を使用して、CLI のパスワードを設定することもできます。

-path

インポートファイルのパスを指定します。-path は -import と一緒に使用する必要があります。

-port 'port #'

influx が接続するポートを指定します。influx CLI のデフォルトの接続先はポート 8086 ですが、TSDB for InfluxDB® はインターネット接続用にポート 3242 で実行されます。

-pps

インポートで許可される 1 秒あたりのデータポイント数を指定します。デフォルトでは、pps は 0 に設定されており、influx はインポートレートを制限しません。-pps は -import と一緒に使用する必要があります。

-precision 'rfc3339|h|m|s|ms|u|ns'

クエリと書き込みのタイムスタンプの形式と精度を指定します: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)、h (時間)、m (分)、s (秒)、ms (ミリ秒)、u (マイクロ秒)、または ns (ナノ秒)。デフォルトの精度はナノ秒です。

-pretty

読みやすくするために JSON 出力を整形します。

-ssl

リクエストに HTTPS を使用します。

-type

使用する対話型シェルを決定します。デフォルト値は influxql です。Flux REPL シェルを使用するには、-type を flux に設定します。

-username 'username'

influx がサーバーへの接続に使用するユーザー名を指定します。INFLUX_USERNAME 環境変数を使用して、CLI のユーザー名を設定することもできます。

-version

TSDB for InfluxDB® のバージョンを表示して終了します。

-execute を使用した InfluxQL コマンドの実行と終了

データベースを必要としないクエリを実行します。

$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -execute 'SHOW DATABASES'
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
pirates

データベースを必要とするクエリを実行し、タイムスタンプの精度を変更します。

$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -execute 'SELECT * FROM "h2o_feet" LIMIT 3' -database="NOAA_water_database" -precision=rfc3339
name: h2o_feet
--------------
time                     level description     location      water_level
2015-08-18T00:00:00Z     below 3 feet          santa_monica  2.064
2015-08-18T00:00:00Z     between 6 and 9 feet  coyote_creek  8.12
2015-08-18T00:06:00Z     between 6 and 9 feet  coyote_creek  8.005

-format を使用したサーバーレスポンスの形式の指定

デフォルトの形式は column です。

$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -format=column
[...]
> SHOW DATABASES
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
pirates

形式を csv に変更します。

$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -format=csv
[...]
> SHOW DATABASES
name,name
databases,NOAA_water_database
databases,_internal
databases,telegraf
databases,pirates

形式を json に変更します。

$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -format=json
[...]
> SHOW DATABASES
{"results":[{"series":[{"name":"databases","columns":["name"],"values":[["NOAA_water_database"],["_internal"],["telegraf"],["pirates"]]}]}]}

形式を JSON に変更し、整形された出力を有効にします。

$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -format=json -pretty
[...]
> SHOW DATABASES
{
    "results": [  
        {
            "series": [
                {
                    "name": "databases",
                    "columns": [
                        "name"
                    ],
                    "values": [
                        [
                            "NOAA_water_database"                       
                        ],
                        [
                            "_internal"
                        ],
                        [
                            "telegraf"
                        ],
                        [
                            "pirates"
                        ]
                    ]
                }
            ]
        }
    ]
}

-import を使用したファイルからのデータのインポート

インポートファイルは 2 つの部分で構成されています。

例:

pirates という名前のデータベースと oneday という名前の保持ポリシーがすでに作成されているものとします。

ファイル (datarrr.txt):

# DML
# CONTEXT-DATABASE: pirates
# CONTEXT-RETENTION-POLICY: oneday
treasures,captain_id=dread_pirate_roberts value=801 1439856000
treasures,captain_id=flint value=29 1439856000
treasures,captain_id=sparrow value=38 1439856000
treasures,captain_id=tetra value=47 1439856000
treasures,captain_id=crunch value=109 1439858880

コマンド:

$influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -import -path=datarrr.txt -precision=s

結果:

2015/12/22 12:25:06 Processed 0 commands
2015/12/22 12:25:06 Processed 5 inserts
2015/12/22 12:25:06 Failed 0 inserts

注

-import について、次の点に注意してください。

  • 使用

    -pps

    データベースにデータポイントを書き込む際にインポートが許容する 1 秒あたりのデータポイント数を設定します。デフォルトでは、pps は 0 に設定されており、

    influx

    インポートレートに制限はありません。

  • .gz ファイルをインポートできます。追加するのは

    -compressed

    コマンドに。

  • ファイル内のデータポイントにタイムスタンプを指定してください。TSDB for InfluxDB® は、タイムスタンプがないデータポイントに同じタイムスタンプを割り当てるため、予期しないデータの上書きが発生する可能性があります。

  • データファイルに 5,000 個を超えるデータポイントが含まれている場合は、ファイルを複数のファイルに分割して、データを TSDB for InfluxDB® にバッチで書き込む必要がある場合があります。5,000 個または 10,000 個のデータポイントのバッチでデータを TSDB for InfluxDB® に書き込みます。バッチが小さいほど、より多くの HTTP リクエストが生成され、最適なパフォーマンスが妨げられます。デフォルトでは、HTTP リクエストは 5 秒後にタイムアウトします。TSDB for InfluxDB® はタイムアウト後もデータポイントの書き込みを試みますが、データポイントが書き込まれる保証はありません。

influx のコマンド

CLI で help と入力すると、使用可能なコマンドの一部が一覧表示されます。

コマンド

次のリストでは、各コマンドについて簡単に説明します。insert コマンドについては、このセクションの後半で詳しく説明します。

auth

ユーザー名とパスワードの入力を求めます。influx がデータベースにリクエストを送信する際には、これらの認証情報が必要です。INFLUX_USERNAME および INFLUX_PASSWORD 環境変数を使用して、CLI のユーザー名とパスワードを設定することもできます。

chunked

クエリが発行されたときに、サーバーからのチャンク化されたレスポンスを有効にします。この機能はデフォルトで有効になっています。

chunk size <size>

レスポンスのチャンクサイズを設定します。デフォルトのサイズは 10,000 です。size を 0 に設定すると、チャンクサイズがデフォルト値にリセットされます。

clear [ database | db | retention policy | rp ]

データベースまたは保持ポリシーの現在のコンテキストをクリアします。

connect <host:port>

シェルを終了せずに別のサーバーに接続します。デフォルトでは、influx は localhost:8086 に接続します。ホストまたはポートを指定しない場合、influx は指定されていないパラメータのデフォルト値を想定します。

consistency <level>

書き込み整合性レベルを設定します: any、one、quorum、または all。

Ctrl+C

実行中のクエリを中断します。このコマンドは、対話型クエリが大量のデータを返そうとして長時間結果を返さない場合に便利です。

exit quit Ctrl+D

influx シェルを終了します。

format <format>

サーバーレスポンスの形式を指定します: json、csv、または column。

history

コマンド履歴を表示します。シェルで過去のコマンドを使用するには、上矢印キーを押します。influx は、ホームディレクトリの .influx_history ファイルに最後の 1,000 個のコマンドを保存します。

insert

ラインプロトコルを使用してデータを書き込みます。

precision <format>

クエリと書き込みのタイムスタンプの形式と精度を指定します: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)、h (時間)、m (分)、s (秒)、ms (ミリ秒)、u (マイクロ秒)、または ns (ナノ秒)。デフォルトの精度はナノ秒です。

pretty

読みやすくするために JSON 出力を整形します。

settings

シェルの現在の設定を表示します。これには、Host、Username、Database、Retention Policy、Pretty ステータス、Chunked ステータス、Chunk Size、Format が含まれます。

use [ "<database_name>" | "<database_name>"."<retention policy_name>" ]

現在のデータベースまたは保持ポリシー、あるいはその両方を設定します。influx がデータベースまたは保持ポリシー、あるいはその両方を設定した後は、クエリでデータベースまたは保持ポリシー、あるいはその両方を指定する必要はありません。保持ポリシーを指定しない場合、influx は自動的にデータベースのデフォルト (DEFAULT) 保持ポリシーをクエリします。

insert を使用した TSDB for InfluxDB® へのデータの書き込み

TSDB for InfluxDB® にデータを書き込むには、insert の後にラインプロトコル形式でデータを入力します。特定のリテンションポリシーにデータを書き込むには、insert into <retention policy> <line protocol> を使用します。

タグ captain_id = pirate_king を持つメジャメント treasures の単一のフィールドにデータを書き込みます。 influx は、データベースのデフォルト (DEFAULT) の保持ポリシーにデータを自動的に書き込みます。

> INSERT treasures,captain_id=pirate_king value=2
>

既存の保持ポリシー oneday に同じデータポイントを書き込みます。

> INSERT INTO oneday treasures,captain_id=pirate_king value=2
Using retention policy oneday
>

クエリ

influx では、すべての InfluxQL クエリを実行できます。

InfluxQL のドキュメントについては、「Overview of data exploration」、「Schema exploration」、および「Database management」をご参照ください。