Kibana插件Timelion介绍
Timelion是一个kibana时间序列展示组件
Kibana4.6在不同系统下安装命令略有不同:
windows下安装命令为:
./bin/kibana.bat plugin -i elastic/timelion
linux下安装命令为:
./bin/kibana plugin -i elastic/timelion
安装完成后可以在kibana看到这个插件!如果没有显示,请尝试重启kibanba服务。
为了方便大家在上手之前了解 timelion 能做到什么,今天特意把 timelion 的请求语法所支持的函数分为几类,罗列如下:
.bars($width): 用柱状图展示数组
.lines($width, $fill, $show, $steps): 用折线图展示数组
.points(): 用散点图展示数组
.color("#c6c6c6"): 改变颜色
.hide(): 隐藏该数组
.label("change from %s"): 标签
.legend($position, $column): 图例位置
.static(value=1024, label="1k", offset="-1d", fit="scale"):在图形上绘制一个固定值
.value():.static() 的简写
.title(title="qps"):图表标题
.trend(mode="linear", start=0, end=-10):采用 linear 或 log 回归算法绘制趋势图
.yaxis($yaxis_number, $min, $max, $position): 设置 Y 轴属性,.yaxis(2) 表示第二根 Y 轴
.abs(): 对整个数组元素求绝对值
.precision($number): 浮点数精度
.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() 的简写
.fit($mode):使用指定的 fit 函数填充空值。可选项有:average, carry, nearest, none, scale
.holt(alpha=0.5, beta=0.5, gamma=0.5, season="1w", sample=2):即 Elasticsearch 的 pipeline aggregation 所支持的 holt-winters 算法
.log(base=10):对数
.max():最大值
.min():最小值
.props():附加额外属性,比如 .props(label=bears!)
.range(max=10, min=1):保持形状的前提下修改最大值最小值
.scale_interval(interval="1s"):在新间隔下再次统计,比如把一个原本 5min 间隔的 date_histogram 改为每秒的结果
.trim(start=1, end=-1):裁剪序列值
.condition(operator="eq", if=100, then=200):支持 eq、ne、lt、gt、lte、gte 等操作符,以及 if、else、then 赋值
.if():.condition() 的简写
数据源设定类
.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() 的简写
以上所有函数,都在 kibana/src/core_plugins/timelion/server/series_functions 目录下实现,每个 js 文件实现一个 TimelionFunction 功能。