ES2.0 开始提供了一个崭新的 pipeline aggregation 特性,但是 Kibana 似乎并没有立刻跟进这方面的意思,相反,Elastic 公司推出了另一个实验室产品:Timelion。
timelion 的用法在官博里已经有介绍。尤其是最近两篇如何用 timelion 实现异常告警的文章,更是从 ES 的 pipeline aggregation 细节和场景一路讲到 timelion 具体操作,我这里几乎没有再重新讲一遍 timelion 操作入门的必要了。不过,官方却一直没有列出来 timelion 支持的请求语法的文档,而是在页面上通过点击图标的方式下拉帮助。
可视化效果类
1 2 3 4 5 6 7 8
| .bars($width): 用柱状图展示数组 .lines($width, $fill, $show, $steps): 用折线图展示数组 .points(): 用散点图展示数组 .color("#c6c6c6"): 改变颜色 .hide(): 隐藏该数组 .label("change from %s"): 标签 .legend($position, $column): 图例位置 .yaxis($yaxis_number, $min, $max, $position): 设置 Y 轴属性,.yaxis(2) 表示第二根 Y 轴
|
数据运算类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| .abs(): 对整个数组元素求绝对值 .precision($number): 浮点数精度 .testcast($count, $alpha, $beta, $gamma): holt-winters 预测 .cusum($base): 数组元素之和,再加上 $base .derivative(): 对数组求导数 .divide($divisor): 数组元素除法 .multiply($multiplier): 数组元素乘法 .subtract($term): 数组元素减法 .sum($term): 数组元素加法 .add(): 同 .sum() .plus(): 同 .sum() .first(): 返回第一个元素 .movingaverage($window): 用指定的窗口大小计算移动平均值 .mvavg(): .movingaverage() 的简写 .movingstd($window): 用指定的窗口大小计算移动标准差 .mvstd(): .movingstd() 的简写
|
数据源设定类
1 2 3 4 5 6 7 8
| .elasticsearch(): 从 ES 读取数据 .es(q="querystring", metric="cardinality:uid", index="logstash-*", offset="-1d"): .elasticsearch() 的简写 .graphite(metric="path.to.*.data", offset="-1d"): 从 graphite 读取数据 .quandl(): 从 quandl.com 读取 quandl 码 .worldbank_indicators(): 从 worldbank.org 读取国家数据 .wbi(): .worldbank_indicators() 的简写 .worldbank(): 从 worldbank.org 读取数据 .wb(): .worldbanck() 的简写
|
参考:https://elasticsearch.cn/article/24
更多参考:https://elasticsearch.cn/article/
本文出自”Jack Wang Blog”:http://www.yfshare.vip/2017/12/04/timelion请求语法/