准备工作
打开这个json字符串,里面就是《亨利四世》的话剧剧本,长得是这个样子:
可以看到里面有“play_name”、"speaker"、"speech_number"、"line_id"等等名称,每个名称后面都有一个对应的值。
然后启动elasticsearch,按照上面的文件格式生成索引。语句如下:
导入刚刚下载的那个json:
1
<code>curl -XPOST </code><code>'localhost:9200/shakespeare/_bulk?pretty'</code> <code>--data-binary @shakespeare.json</code>
然后后台启动kibana,确认5601端口已经stand by,如图:
然后在浏览器地址栏输入“服务器外网ip:5601”打开kibana。
导入数据结束之后,使用#curl 'localhost:9200/_cat/indices?v',去查看一下效果,如果看到index里有shakespeare那一栏就是导入成功了,如图:
在启动Kibana后,Kibana会自动在配置的es中创建一个名为.kibana的索引(上图第二个),这个索引用来存储数据,注意!不要删除了它。
Kibana的界面搜索
如果此时的kibana里是第一次配置的话,那么第一步就是配置新索引,我们之前在生成索引的时候写的是shakespeare,那么现在也写shakespeare,然后点击create,如图:
然后在菜单栏左侧的discover里选择刚刚建立的“shakespeare”,就会看到这样的东西:
在Search上就可以进行搜寻,比如说我搜寻"freedom",如图:
如果我搜寻“KING HENRY IV ”,他不分大小写的把所有king、henry、iv都搜索出来。
如果我想搜寻line_id的第一行到第三行,那么语句就是line_id:[1 TO 3],如图:
如果想在上面的基础上进一步细化,比如说要在line_id是从第一行到第三行,同时_type是scene的语句:line_id:[1 TO 3] AND _type:scene:
假如不想要scene,那么就把AND改成NOT。
如果这个时候只想关注一些指定的字段,那么可以将鼠标移动到索引下面的字段上,然后选在add即可,同样的移动上面已经选择的字段选择remove进行移除,比如我们试一下这个speaker:
add之后在点击右侧的具体的speaker,就会看到里面的细节,比如这位westmoreland(威斯摩兰伯爵):
这个时候就能看见这位伯爵大哥的台词细节,在第几场的第几节,说的是什么台词。再返回菜单左侧点击这个speaker,我们还会看到一个比重:
从这里就很清晰的看到,FALSTAFF(法斯塔夫)这个哥们的台词最多,也符合书里塑造的那个嗜酒话痨的艺术形象。而我们的KING HENRY IV(亨利四世)的台词只是第四位,占比重11%而已...
这样具体的搭配搜索之后,可以点击界面右上侧的save进行保存搜寻结果,再搭配share分享搜索结果的url网址,如图:
Kibana的图像化展示
Kibana也能做到类似grafana那样的炫酷图象化展示,更加立体的表现日志情况,首先选择左侧菜单栏里的“Visualize”(可视化):
然后点击“Create a Visualization”,里面既有很多种图形供你选择,有饼型,有箭头的,有文字的,有仪表盘的,如图:
我们这里先建立一个饼型的,还是上面那个台词多少的例子,首先选择"shakespeare"作为数据源,然后点击“split slices”,如图:
然后在Aggergation里选择“Terms”,然后在Field里选择“Speaker”,size那里写8,最后点击上面的那个三角播放键,看看结果:
这就很清晰的看出,亨利四世一共说了1086句话,占比11.11%。
如果我们再加一个“Split Slices",这一次在原有的specker的基础上选择“play_name”,图象变成了一个同心圆,最外面的一层就是新增的“play_name”的情况,如图显示FALSTAFF的所有台词会在两个play_name里出现:
如果这个盘子里不想统计FALSTAFF这个话包,就添加一个过滤器,选择speaker is not,后面写上FALSTAFF即可,如图:
效仿刚才的方法也可以做一个仪表盘,如图:
可视化的数据也可以save和share,同样在web界面的右上角。保存的数据是可以在左侧菜单栏里的Dashboard里展示,做成一个类似zabbix那样的展示!
最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/2049350