- Logstash
- Logstash - 入门示例
- 入门示例 - 下载安装
- 入门示例 - hello world
- 入门示例 - 配置语法
- 入门示例 - plugin的安装
- 入门示例 - 长期运行
- Logstash - 插件配置
- 插件配置 - input配置
- input配置 - file
- input配置 - stdin
- input配置 - syslog
- input配置 - tcp
- 插件配置 - codec配置
- codec配置 - json
- codec配置 - multiline
- codec配置 - collectd
- codec配置 - netflow
- 插件配置 - filter配置
- filter配置 - date
- filter配置 - grok
- filter配置 - dissect
- filter配置 - geoip
- filter配置 - json
- filter配置 - kv
- filter配置 - metrics
- filter配置 - mutate
- filter配置 - ruby
- filter配置 - split
- filter配置 - elapsed
- 插件配置 - output配置
- output配置 - elasticsearch
- output配置 - email
- output配置 - exec
- output配置 - file
- output配置 - nagios
- output配置 - statsd
- output配置 - stdout
- output配置 - tcp
- output配置 - hdfs
- Logstash - 场景示例
- 场景示例 - nginx访问日志
- 场景示例 - nginx错误日志
- 场景示例 - postfix日志
- 场景示例 - ossec日志
- 场景示例 - windows系统日志
- 场景示例 - Java日志
- 场景示例 - MySQL慢查询日志
- Logstash - 性能与测试
- 性能与测试 - generator方式
- 性能与测试 - 监控方案
- 监控方案 - logstash-input-heartbeat方式
- 监控方案 - jmx启动参数方式
- 监控方案 - API方式
- Logstash - 扩展方案
- 扩展方案 - 通过redis传输
- 扩展方案 - 通过kafka传输
- 扩展方案 - AIX 平台上的logstash-forwarder-java
- 扩展方案 - rsyslog
- 扩展方案 - nxlog
- 扩展方案 - heka
- 扩展方案 - fluent
- 扩展方案 - Message::Passing
- Logstash - 源码解析
- 源码解析 - pipeline流程
- 源码解析 - Event的生成
- Logstash - 插件开发
- 插件开发 - utmp插件示例
- Beats
- Beats - filebeat
- Beats - packetbeat网络流量分析
- Beats - metricbeat
- Beats - winlogbeat
- ElasticSearch
- ElasticSearch - 架构原理
- 架构原理 - segment、buffer和translog对实时性的影响
- 架构原理 - segment merge对写入性能的影响
- 架构原理 - routing和replica的读写过程
- 架构原理 - shard的allocate控制
- 架构原理 - 自动发现的配置
- ElasticSearch - 接口使用示例
- 接口使用示例 - 增删改查操作
- 接口使用示例 - 搜索请求
- 接口使用示例 - Painless脚本
- 接口使用示例 - reindex接口
- ElasticSearch - 性能优化
- 性能优化 - bulk提交
- 性能优化 - gateway配置
- 性能优化 - 集群状态维护
- 性能优化 - 缓存
- 性能优化 - fielddata
- 性能优化 - curator工具
- 性能优化 - profile接口
- ElasticSearch - rally测试方案
- ElasticSearch - 多集群互联
- ElasticSearch - 别名的应用
- ElasticSearch - 映射与模板的定制
- ElasticSearch - puppet-elasticsearch模块的使用
- ElasticSearch - 计划内停机升级的操作流程
- ElasticSearch - 镜像备份
- ElasticSearch - rollover和shrink
- ElasticSearch - Ingest节点
- ElasticSearch - Hadoop 集成
- Hadoop 集成 - spark streaming交互
- ElasticSearch - 权限管理
- 权限管理 - Shield
- 权限管理 - Search-Guard 在 Elasticsearch 2.x 上的运用
- ElasticSearch - 监控方案
- 监控方案 - 监控相关接口
- 监控相关接口 - 集群健康状态
- 监控相关接口 - 节点状态
- 监控相关接口 - 索引状态
- 监控相关接口 - 任务管理
- 监控相关接口 - cat 接口的命令行使用
- 监控方案 - 日志记录
- 监控方案 - 实时bigdesk方案
- 监控方案 - cerebro
- 监控方案 - zabbix trapper方案
- ElasticSearch - ES在运维监控领域的其他玩法
- ES在运维监控领域的其他玩法 - percolator接口
- ES在运维监控领域的其他玩法 - watcher报警
- ES在运维监控领域的其他玩法 - ElastAlert
- ES在运维监控领域的其他玩法 - 时序数据库
- ES在运维监控领域的其他玩法 - Grafana
- ES在运维监控领域的其他玩法 - juttle
- ES在运维监控领域的其他玩法 - Etsy的Kale异常检测
- Kibana 5
- Kibana 5 - 安装、配置和运行
- Kibana 5 - 生产环境部署
- Kibana 5 - discover功能
- Kibana 5 - 各visualize功能
- 各visualize功能 - area
- 各visualize功能 - table
- 各visualize功能 - line
- 各visualize功能 - markdown
- 各visualize功能 - metric
- 各visualize功能 - pie
- 各visualize功能 - tile map
- 各visualize功能 - vertical bar
- Kibana 5 - dashboard功能
- Kibana 5 - timelion 介绍
- Kibana 5 - console 介绍
- Kibana 5 - setting功能
- Kibana 5 - 常用sub agg示例
- 常用sub agg示例 - 函数堆栈链分析
- 常用sub agg示例 - 分图统计
- 常用sub agg示例 - TopN的时序趋势图
- 常用sub agg示例 - 响应时间的百分占比趋势图
- 常用sub agg示例 - 响应时间的概率分布在不同时段的相似度对比
- Kibana 5 - 源码解析
- 源码解析 - .kibana索引的数据结构
- 源码解析 - 主页入口
- 源码解析 - discover解析
- 源码解析 - visualize解析
- 源码解析 - dashboard解析
- Kibana 5 - 插件
- 插件 - 可视化开发示例
- 插件 - 后端开发示例
- 插件 - 完整app开发示例
- Kibana 5 - Kibana报表
- 竞品对比
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Kibana 5 - timelion 介绍
Elasticsearch 2.0 开始提供了一个崭新的 pipeline aggregation 特性,但是 Kibana 并没有立刻跟进这方面的意思,相反,Elastic 公司推出了另一个实验室产品:Timelion。最后在 5.0 版中,timelion 成为 Kibana 5 默认分发的一个插件。
timelion 的用法在官博里已经有介绍。尤其是最近两篇如何用 timelion 实现异常告警的文章,更是从 ES 的 pipeline aggregation 细节和场景一路讲到 timelion 具体操作,我这里几乎没有再重新讲一遍 timelion 操作入门的必要了。不过,官方却一直没有列出来 timelion 支持的请求语法的文档,而是在页面上通过点击 Docs 按钮的方式下拉帮助。
timelion 页面设计上,更接近 Kibana3 而不是 Kibana4。比如 panel 分布是通过设置几行几列的数目来固化的;query 框是唯一的,要修改哪个 panel 的 query,鼠标点选一下 panel,query 就自动切换成这个 panel 的了。
为了方便大家在上手之前了解 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
功能。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论