美文网首页
timelion一些基本表达式

timelion一些基本表达式

作者: 辰辰沉沉沉 | 来源:发表于2019-01-20 12:50 被阅读0次

一开始看到Kibana中自带了个叫timelion的东西,感觉很神奇,为什么有了kibana之前的一些展现数据的图了(如柱状图,折线图等)还需要timelion嘞?

Timelion is a time series data visualizer that enables you to combine totally independent data sources within a single visualization. It’s driven by a simple expression language you use to retrieve time series data, perform calculations to tease out the answers to complex questions, and visualize the results.

timelion可以聚合完全独立的完全不同的数据源的数据,糅合到同一个图里边,进行一些展示以及分析。(kibana一般都只展现es的某一个index的)

如下一些问题是kibana不能处理,而timelion可以的

  • 在一张图里边看这个月每天爬取量与上个月每天爬取量
  • 这个月爬取数量的累积和
  • 相比较上个月爬取量而言,这个月增长的幅度
  • 展现股票的30分均线图
  • ...

timelion表达式以.开头,中间会跟上一堆参数。timelion表达式支持链式调用,如es(q=site:yd).lable(yd)

也可以在一个图中画多条曲线,用来对比,用逗号分隔。这个博客主要记录下一些常用的方法以及他们的参数。

.es (.elasticsearc相同)

一般都会从.es开始,会从es中拉取需要展示的数据

  • q query参数,lucene语法
  • index 可以指定索引,如logstash-*
  • timefield 可以指定时间轴采用的字段,默认@timestamp
  • split 按某字段分隔 如 split=source:4 按source字段进行划分,取数量前四的展现。一个表达式可以有多个split
  • metric 聚类,如metric=sum:bytes,y轴即为bytes的和。一个表达式可以有多个metric
  • offset偏移值 如-1w即为显示一个礼拜之前的数据。

.static

一条水平的直线

  • value y轴值
  • label 标签

.lines

一个表达式默认展现出来会是一条线

  • width 线条的粗细
  • fill 取值0-10 会填充曲线与x轴之间的区域,fill值代表类似透明度的东西
  • show boolean 是否显示
  • step boolean 是否显示为一种类似阶梯的形式
  • stack 如果有fill的,当两条线拥有共同填充区域时,是否选择堆叠。默认true

.bars

展现为柱状图

  • width 柱状图的粗细
  • stack 当有两个曲线都是bars,拥有共同的区域时,是否选择堆叠。

.points

展现为一个个点

  • radius 点的半径
  • weight 点的线的粗细
  • fill 取值0-10 填充区域的填充度
  • fillColor 填充颜色
  • symbol 形状,默认为圆形,可取值为cross(叉叉),circle,triangle,square,diamond(菱形)

.color

颜色,可填red,blue这种,也可以是#c6c6c6这样的

.label

修改标签,如.es(*).label(test)

.range

y轴取值,如range(0,10)代表着y轴按比例缩小到0-10的范围内

.yaxis

对y轴的一些设置

  • min y轴最小值
  • max y轴最大值
  • position 取值left right,y轴显示位置
  • label y轴标签
  • color 标签的颜色

.scale_interval

有时候需要画多条线,但是对x轴精度要求不同,可以使用scale_interval来改变统计的间隔。

.abs

取绝对值

.cusum

累加和

.divide .multiply .add .subtract

显示的值除/乘...以某个值,也可以除以某个表达式(即两次查询结果做相应操作)

.min .max

最大值最小值操作,可以比较两个不同的表达式

这边官网提供了一个很有意思的用法 .es().bars(stack=false).color(#F44336), .min(.es(), 25).bars(stack=false).color(#8BC34A) 会把一个柱状图中 超过25的区域都改为另一种颜色

.derivative

求导

.mvavg

move avg 顾名思义,移动平均值。类似K线图中的五分钟均价

  • window 取均值的窗口范围
  • position 取值的位置。可为left right center(默认)

.if (.condition相同)

if表达式

  • operator 有lt,lte,eq,gt,gte五种,分别代表小于 小于等于...
  • if 比较的值。可以是一个值或者是一个新的es搜索表达式。
  • then 如果上边的if匹配到了,则取值为then的值。可以是一个值或者是一个表达式。如.es().if(lt, 500, null),即为如果小于500,则不显示
  • else 如果不满足if则会为else。.es().if(lt, 500, 0,1)表示如果小于500,显示0,否则显示1

相关文章

  • timelion一些基本表达式

    一开始看到Kibana中自带了个叫timelion的东西,感觉很神奇,为什么有了kibana之前的一些展现数据的图...

  • 正则学习记录

    题注:正则表达式也称为规则表达式或字符串规则表达式,此文记录正则表达式的一些基本用法,适合正则入门使用。 基本规则...

  • Java Lambda表达式之方法引用

    话接上篇,在上篇《Java Lambda表达式简介及入门》中我们介绍了lambda表达式的一些基本用法,在基本用法...

  • python基础

    在本文简单地介绍python的基本知识。初步了解编程的一些概念 表达式 语言中最基本的解构,表达式包含数值 “3”...

  • Java8(4)Lambda表达式的真实面目

    前面三篇讲了lambda表达式的一些基本概念和核心类Stream的基本操作,那么lambda表达式的实现原理到底是...

  • 常用正则表达式

    正则表达式是web开发必备的一项基本技能,现收集一些常用的正则表达式 一、校验数字的表达式 二、检验字符的表达式 ...

  • 《数据库系统概念》9-附加关系运算

    ​除了基本的关系操作,还有一些附加(Additional)的操作,因为如果只用基本运算,有些表达式会比较繁琐,而附...

  • 正则表达式基础

    学好正则表达式很重要,下面是一些关于正则表达式的基本知识整理 \ : 转义字符 ^ : 匹配字符串开始位置 $...

  • 三元运算符

    基本格式 :(关系表达式) ? 表达式1 : 表达式2;执行流程 :关系表达式为 [真] 返回表达式1关系表达式为...

  • python基本数据类型

    基本概念 表达式:一些类似与数学公式的算子表达式一般用于计算,其结果一般不会对程序产生影响在交互模式中输入表达式,...

网友评论

      本文标题:timelion一些基本表达式

      本文链接:https://www.haomeiwen.com/subject/ovjxjqtx.html