Antarmuka baris perintah (influx) dari TSDB for InfluxDB® adalah shell yang berinteraksi dengan HTTP API. Anda dapat menggunakan influx untuk menulis data secara manual atau dari file, menjalankan kueri data secara interaktif, serta melihat hasil kueri dalam berbagai format.
Unduh CLI
Unduh paket biner untuk sistem operasi Anda dari tautan berikut:
Ekstrak paket yang telah diunduh dan masuk ke folder hasil ekstraksi. Folder tersebut berisi tool baris perintah influx (influx.exe pada Windows).
Mulai influx
Jalankan influx di terminal Anda. Setelah terhubung ke instans TSDB for InfluxDB®, output berikut akan ditampilkan:
$ ./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® menggunakan SSL untuk mengamankan data saat transit. Parameter -ssl, -username, -password, -host, dan -port wajib digunakan setiap kali Anda terhubung ke TSDB for InfluxDB®.
Deskripsi parameter
-
-ssl: terhubung ke server InfluxDB melalui HTTPS. -
-username: username akun yang telah Anda buat. -
-password: password akun tersebut. -
-host: titik akhir instans. Gantits-xxxxxxdengan ID instans Anda. -
-port: port jaringan. Gunakan8086untuk koneksi VPC dan3242untuk koneksi Internet.
Anda kini dapat memasukkan kueri InfluxQL dan beberapa perintah CLI langsung di terminal. Untuk memasukkan kueri Flux, atur opsi -type menjadi flux. Anda dapat menjalankan help kapan saja untuk menampilkan daftar perintah yang tersedia. Untuk menghentikan kueri InfluxQL yang berjalan lama, tekan Ctrl+C.
Variabel lingkungan
Variabel lingkungan berikut dapat digunakan untuk mengonfigurasi pengaturan client influx. Anda dapat menentukannya dalam huruf kecil atau kapital. Huruf kapital memiliki prioritas lebih tinggi.
HTTP_PROXY
Menentukan server proxy yang digunakan oleh HTTP.
Format nilai: [protocol://][:port]
HTTP_PROXY=http://localhost:1234
HTTPS_PROXY
Menentukan server proxy yang digunakan oleh HTTPS. Jika kedua variabel HTTP_PROXY dan HTTPS_PROXY diatur, HTTPS_PROXY memiliki prioritas lebih tinggi.
Format nilai: [protocol://][:port]
HTTPS_PROXY=https://localhost:1443
NO_PROXY
Daftar nama host yang tidak melewati proxy apa pun. Jika variabel ini hanya diatur ke tanda bintang (*), maka semua host akan cocok.
Format nilai: pisahkan beberapa host dengan koma.
NO_PROXY=123.45.67.89,123.45.67.90
Opsi influx
Anda dapat memberikan opsi ke influx saat memulai influx. Jalankan $ influx --help untuk menampilkan daftar opsi yang tersedia. Daftar berikut menjelaskan secara singkat setiap opsi. Opsi -execute, -format, dan -import dijelaskan secara lebih rinci di bagian ini.
-compressed
Aktifkan opsi ini jika file impor dikompresi. -compressed harus digunakan bersamaan dengan -import.
Mengatur tingkat konsistensi penulisan.
-database 'database name'
Database yang akan dihubungi oleh influx.
-execute '<command>'
Menjalankan perintah InfluxQL lalu keluar.
-format 'json|csv|column'
Menentukan format tanggapan server.
-host '<hostname>'
Host yang akan dihubungi oleh influx.
-import
Mengimpor data baru dari file, atau mengimpor database yang sebelumnya diekspor ke file.
-password '<password>'
Password yang digunakan oleh influx untuk terhubung ke server. Jika Anda mengosongkan opsi ini (-password ''), influx akan meminta Anda memasukkan password. Anda juga dapat menggunakan variabel lingkungan INFLUX_PASSWORD untuk mengatur password CLI.
-path
Jalur menuju file impor. -path harus digunakan bersamaan dengan -import.
-port 'port #'
Port yang akan dihubungi oleh influx. Secara default, TSDB for InfluxDB® berjalan pada port 3242.
-pps
Jumlah titik data per detik yang diizinkan selama impor. Secara default, pps diatur ke 0 dan influx tidak membatasi laju impor. -pps harus digunakan bersamaan dengan -import.
-precision 'rfc3339|h|m|s|ms|u|ns'
Menentukan format dan presisi timestamp untuk kueri dan penulisan: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (jam), m (menit), s (detik), ms (milidetik), u (mikrodetik), atau ns (nanodetik). Presisi default adalah nanodetik.
-pretty
Menampilkan output JSON dalam format yang mudah dibaca.
-ssl
Menggunakan HTTPS untuk permintaan.
-type
Menentukan shell interaktif yang digunakan. Nilai default adalah influxql. Untuk menggunakan shell REPL Flux, atur -type menjadi flux.
-username 'username'
Username yang digunakan oleh influx untuk terhubung ke server. Anda juga dapat menggunakan variabel lingkungan INFLUX_USERNAME untuk mengatur username CLI.
-version
Menampilkan versi TSDB for InfluxDB® lalu keluar.
Gunakan -execute untuk menjalankan perintah InfluxQL lalu keluar
Jalankan kueri yang tidak memerlukan database:
$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -execute 'SHOW DATABASES'
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
pirates
Jalankan kueri yang memerlukan database dan ubah presisi timestamp:
$ 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
Gunakan -format untuk menentukan format tanggapan server
Format default adalah column:
$ influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -format=column
[...]
> SHOW DATABASES
name: databases
---------------
name
NOAA_water_database
_internal
telegraf
pirates
Ubah format menjadi 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
Ubah format menjadi 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"]]}]}]}
Ubah format menjadi JSON dan aktifkan output pretty-printed:
$ 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"
]
]
}
]
}
]
}
Gunakan -import untuk mengimpor data dari file
File impor terdiri dari dua bagian:
Contoh:
Asumsikan database 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 1439858880
Perintah:
$influx -ssl -username <Username> -password <Password> -host <Endpoint> -port 3242 -import -path=datarrr.txt -precision=s
Hasil:
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
Catatan
Perhatikan hal-hal berikut mengenai -import:
-
Gunakan
-ppsuntuk mengatur jumlah titik data per detik yang diizinkan saat menulis titik data ke database. Secara default, PPS diatur ke 0 dan
influxtidak membatasi laju impor.
-
Anda dapat mengimpor file .gz dengan cukup menambahkannya.
-compressedke perintah.
-
Sediakan timestamp untuk titik data dalam file. TSDB for InfluxDB® akan memberikan timestamp yang sama untuk titik data yang tidak memiliki timestamp, yang dapat menyebabkan penimpaan data yang tidak diinginkan.
-
Jika file data Anda berisi lebih dari 5.000 titik data, Anda mungkin perlu membagi file tersebut menjadi beberapa file agar data dapat ditulis ke TSDB for InfluxDB® dalam batch. Tulis data ke TSDB for InfluxDB® dalam batch berisi 5.000 atau 10.000 titik data. Batch yang lebih kecil menghasilkan lebih banyak permintaan HTTP, sehingga menghambat performa optimal. Secara default, permintaan HTTP akan timeout setelah lima detik. TSDB for InfluxDB® tetap mencoba menulis titik data setelah timeout, tetapi tidak ada jaminan bahwa titik data tersebut berhasil ditulis.
Perintah influx
Masukkan help di CLI untuk menampilkan beberapa perintah yang tersedia.
Perintah
Daftar berikut menjelaskan secara singkat setiap perintah. Perintah insert dijelaskan secara rinci di bagian selanjutnya.
auth
Meminta Anda memasukkan username dan password. influx memerlukan kredensial ini saat mengirim permintaan ke database. Anda juga dapat menggunakan variabel lingkungan INFLUX_USERNAME dan INFLUX_PASSWORD untuk mengatur username dan password CLI.
chunked
Mengaktifkan tanggapan terpotong (chunked) dari server saat kueri dikeluarkan. Fitur ini diaktifkan secara default.
chunk size <size>
Mengatur ukuran chunk tanggapan. Ukuran default adalah 10.000. Mengatur ukuran ke 0 akan mengembalikan ukuran chunk ke nilai default.
clear [ database | db | retention policy | rp ]
Menghapus konteks saat ini untuk database atau kebijakan retensi.
connect <host:port>
Terhubung ke server lain tanpa keluar dari shell. Secara default, influx terhubung ke localhost:8086. Jika Anda tidak menentukan host atau port, influx akan mengasumsikan nilai default untuk parameter yang tidak ditentukan.
consistency <level>
Mengatur tingkat konsistensi penulisan: any, one, quorum, atau all.
Ctrl+C
Menghentikan kueri yang sedang berjalan. Perintah ini berguna ketika kueri interaktif tidak mengembalikan hasil dalam waktu lama karena mencoba mengembalikan terlalu banyak data.
exit quit Ctrl+D
Keluar dari shell influx.
format <format>
Menentukan format tanggapan server: json, csv, atau column.
history
Menampilkan riwayat perintah Anda. Untuk menggunakan perintah historis di shell, tekan tombol panah Atas. influx menyimpan 1.000 perintah terakhir Anda dalam file .influx_history di direktori home Anda.
insert
Menulis data menggunakan line protocol.
precision <format>
Menentukan format dan presisi timestamp untuk kueri dan penulisan: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (jam), m (menit), s (detik), ms (milidetik), u (mikrodetik), atau ns (nanodetik). Presisi default adalah nanodetik.
pretty
Menampilkan output JSON dalam format yang mudah dibaca.
settings
Menampilkan pengaturan shell saat ini, termasuk Host, Username, Database, Retention Policy, status Pretty, status Chunked, Chunk Size, dan Format.
use [ "<database_name>" | "<database_name>"."<retention policy_name>" ]
Mengatur database dan/atau kebijakan retensi saat ini. Setelah influx mengatur database dan/atau kebijakan retensi, Anda tidak perlu lagi menentukan database dan/atau kebijakan retensi dalam kueri. Jika Anda tidak menentukan kebijakan retensi, influx secara otomatis menjalankan kueri terhadap kebijakan retensi default (DEFAULT) dari database tersebut.
Gunakan insert untuk menulis data ke TSDB for InfluxDB®
Masukkan insert diikuti data dalam format line protocol untuk menulis data ke TSDB for InfluxDB®. Gunakan insert into <retention policy> <line protocol> untuk menulis data ke kebijakan retensi tertentu.
Tulis data ke satu bidang dalam ukuran treasures yang memiliki tag captain_id = pirate_king. influx secara otomatis menulis data ke kebijakan retensi default (DEFAULT) dari database.
> INSERT treasures,captain_id=pirate_king value=2
>
Tulis titik data yang sama ke kebijakan retensi yang sudah ada oneday:
> INSERT INTO oneday treasures,captain_id=pirate_king value=2
Using retention policy oneday
>
Kueri
Anda dapat menjalankan semua kueri InfluxQL di influx.
Untuk dokumentasi tentang InfluxQL, lihat Ikhtisar eksplorasi data, Eksplorasi skema, dan Manajemen database.