Excel、Tableau、Kibana添加“辅助列”的方法

经常使用Excel的朋友肯定会遇到需要“辅助列”的情形。什么是辅助列?简单来说,比如你想达到A这个目标,但是在达到A目标前,如果能先达到B目标,就能更容易地实现A,那B目标就是辅助列。比如这篇post中演示的:

Excel

Excel添加辅助列很简单,只需要Insert一个新列,再配合各种公式实现自己的需求:

Tableau

Tableau通常可以借助Create里的Calculated Field、Group、Set、Parameter来实现辅助列的功能:

我们以与Excel“公式型”辅助列最接近的Calculated Field功能为例,新建一个单位为MB的Bytes字段。完整的可用公式可以参考:https://help.tableau.com/current/pro/desktop/en-us/functions.htm

Group、Set、Parameter也都非常强大,有机会的话我们下回细说。

Kibana

Kibana的辅助列,从功能上最匹配的是Scripted Field。要生成它,需要用脚本,官方推荐的是Expression和Painless。Expression的运行速度快,但不支持对字符串的操作。如果做的转换只是针对number或date,可以使用Expression;如果涉及到string,就需要用Painless。

但是,笔者在今天的测试时,触发了一个bug。创建Scripted Field后,索引就挂了,报Courier Fetch: N of M shards failed,且查找无法返回任何结果 (No results found)。

集群都是好的,初步判断这个问题可能和这套ES版本较旧有关(历史原因,目前仍在用v5.4)。Google一番无果后,决定创建一个新的索引了事。老的索引也放着,看看能否挽救。

 774 total views

基于ELK的NetFlow/sFlow流量分析系统

最近接手的IDC运维工作,发现原团队没有好的流量分析系统,以往突发案件需要在出口出的一台机器上抓包分析,缺少历史记录和趋势分析。遂考虑用ELK来建一套。

一阵捣鼓后,发现GitHub上已有成熟的项目了:https://github.com/robcowart/elastiflow

安装过程不复杂,这里记录一下发现的一个bug:锐捷和H3C设备只支持sFlow,用最新版本的LogStash会出现如u0000、u0005、u0000L等乱码。

一阵Google后,降级到7.3版本,问题解决。

 4,449 total views