CLI influx dari TSDB untuk InfluxDB® menyediakan shell interaktif untuk API HTTP. Anda dapat menggunakan CLI influx untuk menulis data secara manual atau mengimpor data dari file, menjalankan query data secara interaktif, serta melihat hasil query dalam berbagai format.
Unduh CLI
Unduh paket biner CLI yang sesuai dengan sistem operasi Anda melalui tautan berikut:
Ekstrak paket biner yang telah diunduh dan masuk ke folder hasil ekstraksi. Di dalamnya, Anda akan menemukan CLI influx. Pada Windows, nama file adalah influx.exe.
Memulai influx
Jalankan influx di terminal cmd. Setelah terhubung ke instansi TSDB untuk InfluxDB®, Anda akan melihat output berikut:
$ ./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.xTSDB untuk InfluxDB® menggunakan protokol SSL untuk memastikan keamanan transmisi data. Saat terhubung ke instansi TSDB untuk InfluxDB®, Anda harus menyetel lima parameter berikut: -ssl, -username, -password, -host, dan -port.
Deskripsi Parameter
-ssl: Menentukan bahwa server TSDB untuk InfluxDB® terhubung melalui HTTPS.-username: Menentukan nama pengguna untuk login ke instansi TSDB untuk InfluxDB® Anda.-password: Menentukan kata sandi untuk login ke instansi TSDB untuk InfluxDB® Anda.-host: Menentukan titik akhir instansi TSDB untuk InfluxDB® Anda. Gantits-xxxxxxdengan ID instansi TSDB untuk InfluxDB® Anda.-port: Menentukan port jaringan. Jika terhubung melalui virtual private cloud (VPC), atur parameter ini ke8086. Jika terhubung melalui Internet, atur parameter ini ke3242.
Setelah CLI influx dimulai, Anda dapat menjalankan pernyataan InfluxQL atau perintah CLI di terminal. Untuk menjalankan pernyataan Flux, setel parameter -type ke flux. Gunakan perintah help untuk melihat daftar perintah yang tersedia. Untuk menghentikan query InfluxQL yang sedang berjalan, tekan Ctrl+C.
Variabel Lingkungan
Anda dapat mengonfigurasi variabel lingkungan berikut untuk klien influx. Variabel dapat ditulis dalam huruf kecil atau besar, namun huruf besar lebih disarankan.
HTTP_PROXY
Menentukan server proxy yang digunakan untuk HTTP.
Format: [protocol://][:port]
HTTP_PROXY=http://localhost:1234HTTPS_PROXY
Menentukan server proxy yang digunakan untuk HTTPS. Jika kedua variabel HTTP_PROXY dan HTTPS_PROXY disetel, HTTPS_PROXY memiliki prioritas.
Format: [protocol://][:port]
HTTPS_PROXY=https://localhost:1443NO_PROXY
Menentukan host yang tidak menggunakan proxy. Jika variabel ini disetel ke asterisk (*), semua host tidak menggunakan proxy.
Format: Daftar host dipisahkan koma.
NO_PROXY=123.45.67.89,123.45.67.90Flag influx
Saat memulai influx, Anda dapat melewatkan flag ke influx. Jalankan perintah $ influx --help untuk melihat semua flag yang tersedia. Bagian ini memberikan deskripsi singkat untuk setiap flag yang didukung oleh influx, serta penjelasan rinci tentang cara menggunakan flag -execute, -format, dan -import.
-compressed
Gunakan flag ini jika file impor dikompresi. Flag -compressed harus digunakan bersamaan dengan flag -import.
Menentukan tingkat konsistensi penulisan.
-database 'nama database'Menentukan database ke mana CLI influx terhubung.
-execute '<perintah>'Menjalankan perintah InfluxQL lalu keluar.
-format 'jsoncsvcolumn'Menentukan format respons server.
-host '<hostname>'Menentukan host ke mana CLI influx terhubung.
-importMengimpor data baru dari file atau mengimpor data basis data yang sebelumnya diekspor dari file.
-password '<kata sandi>'Menentukan kata sandi yang digunakan CLI influx untuk terhubung ke server. Jika flag -password tidak disetel, influx akan meminta Anda memasukkan kata sandi. Anda juga dapat menggunakan variabel lingkungan INFLUX_PASSWORD untuk menentukan kata sandi.
-pathMenentukan jalur file yang akan diimpor. Flag -path harus digunakan bersamaan dengan flag -import.
-port 'nomor port'Menentukan port ke mana CLI influx terhubung. Secara default, TSDB untuk InfluxDB® menggunakan port 3242.
-ppsMenentukan jumlah titik data yang dapat diimpor per detik. Secara default, flag -pps diatur ke 0 dan influx tidak membatasi kecepatan impor data. Flag -pps harus digunakan bersamaan dengan flag -import.
-precision 'rfc3339hmsmsuns'YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (jam), m (menit), s (detik), ms (milidetik), u (mikrodetik), dan ns (nanodetik). Presisi default adalah ns.-prettyMengaktifkan pencetakan keluaran cantik untuk data berformat JSON guna meningkatkan keterbacaan.
-sslMenggunakan HTTPS untuk permintaan.
-typeMenentukan shell interaktif yang ingin digunakan. Nilai default adalah influxql. Untuk menggunakan shell Flux Read-Eval-Print Loop (REPL), setel flag -type ke flux.
-username 'nama pengguna'Menentukan nama pengguna yang digunakan CLI influx untuk terhubung ke server. Anda juga dapat menggunakan variabel lingkungan INFLUX_USERNAME untuk menentukan nama pengguna.
-versionMenampilkan versi TSDB untuk InfluxDB® lalu keluar.
Jalankan perintah InfluxQL dan keluar menggunakan -execute
Untuk menanyakan data dari semua basis data yang tersedia, jalankan query berikut:
$ influx -ssl -username <Nama Pengguna> -password <Kata Sandi> -host <Titik Akhir> -port 3242 -execute 'SHOW DATABASES'
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
piratesUntuk menanyakan data dari basis data tertentu dan mengubah presisi timestamp pada saat yang sama, jalankan query berikut:
$ influx -ssl -username <Nama Pengguna> -password <Kata Sandi> -host <Titik Akhir> -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.005Tentukan format respons server menggunakan -format
Format default adalah column.
$ influx -ssl -username <Nama Pengguna> -password <Kata Sandi> -host <Titik Akhir> -port 3242 -format=column
[...]
> SHOW DATABASES
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
piratesUbah format menjadi csv.
$ influx -ssl -username <Nama Pengguna> -password <Kata Sandi> -host <Titik Akhir> -port 3242 -format=csv
[...]
> SHOW DATABASES
name,name
databases,NOAA_water_database
databases,_internal
databases,telegraf
databases,piratesUbah format menjadi json.
$ influx -ssl -username <Nama Pengguna> -password <Kata Sandi> -host <Titik Akhir> -port 3242 -format=json
[...]
> SHOW DATABASES
{"results":[{"series":[{"name":"databases","columns":["name"],"values":[["NOAA_water_database"],["_internal"],["telegraf"],["pirates"]]}]}]}Ubah format menjadi json dan aktifkan pencetakan keluaran cantik.
$ influx -ssl -username <Nama Pengguna> -password <Kata Sandi> -host <Titik Akhir> -port 3242 -format=json -pretty
[...]
> SHOW DATABASES
{
"results": [
{
"series": [
{
"name": "databases",
"columns": [
"name"
],
"values": [
[
"NOAA_water_database"
],
[
"_internal"
],
[
"telegraf"
],
[
"pirates"
]
]
}
]
}
]
}Impor data dari file menggunakan -import
Contoh:
Misalkan sebuah basis data bernama pirates dan kebijakan retensi bernama oneday telah dibuat.
File 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 1439858880Perintah:
$influx -ssl -username <Nama Pengguna> -password <Kata Sandi> -host <Titik Akhir> -port 3242 -import -path=datarrr.txt -precision=sHasil:
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 insertsSebelum menggunakan -import, perhatikan hal berikut:
-ppsAnda dapat menggunakan flag -pps untuk menentukan jumlah titik data yang dapat diimpor per detik. Pengaturan ini diterapkan saat titik data ditulis ke basis data. Secara default, flag -pps diatur ke 0.
influxtidak membatasi kecepatan impor data.
Anda dapat mengimpor data dari file .gz dengan menyertakan flag berikut:
-compressed..
Anda harus menyediakan timestamp untuk titik data dalam file. Jika tidak, TSDB untuk InfluxDB® akan menetapkan timestamp yang sama untuk titik data tanpa timestamp. Ini dapat menyebabkan penimpaan data yang tidak diinginkan.
Jika file data Anda berisi lebih dari 5.000 titik data, Anda mungkin perlu membagi file menjadi beberapa file yang lebih kecil. Ini memungkinkan Anda menulis data ke TSDB untuk InfluxDB® dalam batch. Kami merekomendasikan menyertakan 5.000 hingga 10.000 titik data dalam setiap batch. Jika Anda menyertakan jumlah titik data yang lebih kecil dalam setiap batch, sejumlah permintaan HTTP yang lebih besar harus dikirim, yang mengurangi performa. Secara default, periode timeout untuk setiap permintaan HTTP adalah lima detik. TSDB untuk InfluxDB® mencoba menulis titik data setelah timeout permintaan, tetapi titik tersebut mungkin gagal ditulis.
Perintah influx
Jalankan perintah help di influx CLI untuk mendapatkan daftar sebagian perintah yang tersedia.
Perintah
Bagian ini memberikan deskripsi singkat untuk setiap perintah yang tersedia, serta penjelasan rinci tentang cara menggunakan perintah insert.
authMeminta Anda memasukkan nama pengguna dan kata sandi. CLI influx memerlukan informasi otentikasi saat Anda mengirim permintaan ke basis data. Anda juga dapat menggunakan variabel lingkungan INFLUX_USERNAME untuk menentukan nama pengguna dan INFLUX_PASSWORD untuk menentukan kata sandi.
chunkedMengaktifkan respons berbasis chunk dari server saat Anda mengirim permintaan query. Secara default, respons berbasis chunk diaktifkan.
chunk size <size>Menentukan ukuran untuk setiap chunk dari respons. Ukuran chunk default adalah 10.000. Anda dapat mengatur ulang ukuran chunk ke nilai default dengan menyetel parameter ukuran ke 0.
clear [ database db retention policy rp ]Menghapus konteks untuk basis data atau kebijakan retensi.
connect <host:port>Terhubung ke server lain tanpa keluar dari shell. Secara default, CLI influx terhubung ke localhost:8086. Jika Anda tidak menentukan parameter host atau port, CLI influx menggunakan pengaturan default untuk parameter yang dibiarkan kosong.
consistency <level>Menentukan tingkat konsistensi penulisan. Nilai yang valid adalah any, one, quorum, dan all.
Ctrl+CMenghentikan query yang sedang berjalan. Perintah ini berguna jika Anda ingin menghentikan query interaktif jangka panjang di mana sistem membutuhkan waktu terlalu lama untuk merespons karena mencoba mengembalikan sejumlah besar data.
exit quit Ctrl+D
Keluar dari shell influx.
format <format>Menentukan format respons server. Nilai yang valid adalah json, csv, dan column.
historyMenampilkan riwayat perintah. Untuk menjalankan perintah historis di shell, gunakan panah atas. CLI influx menyimpan 1.000 perintah terbaru Anda di file .influx_history yang terletak di direktori home Anda.
insertMenulis data menggunakan protokol baris.
precision <format>Menentukan format dan presisi timestamp untuk query dan penulisan data: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (jam), m (menit), s (detik), ms (milidetik), u (mikrodetik), dan ns (nanodetik). Presisi default adalah ns.
prettyMengaktifkan pencetakan keluaran cantik untuk data berformat JSON guna meningkatkan keterbacaan.
settingsMengembalikan pengaturan saat ini dari shell, termasuk Host, Username, Database, Retention Policy, Pretty, Chunked, Chunk Size, Format, dan Write Consistency.
use [ "<database_name>" "<database_name>"."<retention policy_name>" ]Menentukan basis data dan/atau kebijakan retensi saat ini. Jika basis data dan/atau kebijakan retensi saat ini ditentukan di CLI influx, Anda tidak perlu menentukannya dalam query. Jika Anda tidak menentukan kebijakan retensi, CLI influx menanyakan data dari basis data berdasarkan kebijakan retensi default (DEFAULT).
Tulis data ke TSDB untuk InfluxDB® dengan menjalankan perintah insert.
Untuk menulis data ke TSDB untuk InfluxDB®, masukkan insert, lalu masukkan data yang menggunakan protokol baris. Anda dapat menjalankan perintah insert into <retention policy> <line protocol> untuk menulis data berdasarkan kebijakan retensi yang ditentukan.
Dalam contoh berikut, data ditulis ke satu field dalam pengukuran treasures yang memiliki tag captain_id = pirate_king. CLI influx menulis data ke basis data berdasarkan kebijakan retensi default (DEFAULT).
> INSERT treasures,captain_id=pirate_king value=2
>Dalam contoh berikut, titik data yang sama yang digunakan dalam contoh sebelumnya ditulis ke basis data berdasarkan kebijakan retensi yang ada oneday.
> INSERT INTO oneday treasures,captain_id=pirate_king value=2
Using retention policy oneday
>Query
Anda dapat menjalankan semua query InfluxQL di CLI influx.
Untuk informasi lebih lanjut tentang InfluxQL, lihat Ikhtisar eksplorasi data, Eksplorasi skema, dan Manajemen basis data.