数据洞察 DQL DQL命令行客户端
DQL 命令行客户端
简介
DQL 命令行客户端让DataFlux用户可通过客户端的方式进行数据查询,在没有前端页面显示的情况下,可以直接通过客户端查询结果。
下载:
运行
# 初始化
./dqli -init
# 如果已经有配置,可强制覆盖
./dqli -init -force
完成后,会在 $HOME/.dqli/dqli.toml 创建默认配置:
workspace = "required" # 工作空间 ID
token = "required" # 对应工作空间的 cli token
desc = "我的工作空间" # 可随意改名
host = "kodo.dataflux.cn" # kodo 的公网 API 地址(默认 `kodo.dataflux.cn`)
https = true # 开启 HTTPS
timeout = "30s" # 查询超时
max_history = 100 # 历史命令保留个数
log = "$HOME/.dqli/dqli.log" # 日志路径
log_level = "INFO" # 日志等级
# API 查询参数
[api_options]
disable_multiple_field = false # 禁用多列查询(默认关闭)
max_duration = "168h" # 允许查询的最大时间范围(如 `24h` 表示一天,默认 7 天)
max_point = 1000 # 允许返回的最大点数(默认 1000,不能超过 5000)
填好对应信息后,即可启动 dqli。
可能碰到的问题:
- 如果执行时报告
Permission denied
,可chmod +x ./dqli
解决 - 在 Mac 下,可能会报告一个安全相关的警告。在
System Preference/Security & Privacy
中,允许dqli
即可 - Windows 下,建议在系统自带的命令行终端运行(cmd 或 PowerShell),其它 mingw 或 cygwin 终端均未测试
日常使用
日常查询
通过
show_...
可查看数据情况,如show_measurement()
通过
use_...
可切换使用不同的数据类型,不用手动输入O::
,R::
等类型前缀。执行use
则清空之前的所有use_...
设定通过 Tab 键选择下拉的补全(很多同学不知道...)
多行模式,以
\
作为单行结尾即可(\
后可有其它空白字符)clear
清空补全缓存非交互式查询:
- 运行单个命令
./dqli -run 'show_measurement()'
- 运行 DQL 文件
./dqli -source path/to/dql-file
- 运行单个命令
支持 Emacs 编辑模式:
ctrl+l
清空当前输入行ctrl+a
行首ctrl+$
行尾ctrl+w
删除单词- ...
exit/ctrl+d/Q
退出 dqli
查询效果展示
pretty
列输出(默认)-
enable_nil
输出空字段(默认) disable_nil
不输出空字段
-
json
JSON 输出play
播放输出- 进入播放页面后,数据播放完后会自动退出。中途退出,按
q
或ctrl-c
speed_play_1/2/4/8X
1/2/4/8 各种倍速播放- 播放模式下,左侧显示数值数据,右侧显示文本数据
- 进入播放页面后,数据播放完后会自动退出。中途退出,按
查询结果导出到文件
file_output
输出到文件(路径为当前目下的dqli.output
)file_output_off
关闭文件输出(默认)file_output_truncate
清空输出文件
显示后端查询语句
echo_explain
显示后端查询语句echo_explain_off
不显示后端查询语句(默认)
配置查看
version
查看版本信息。如果线上有新版本,会提示更新信息info
查看配置信息
DQL 语法
DQL 语法参见这里
TODO
- 增加 PLAY 模式下的实时播放(流式播放),即类似这种效果
play(cpu)
即播放当前 CPU 指标集上的最新数据。 - 增加
ctrl+r
查询历史命令 - 增加结果 grep 功能