https://www.elastic.co/guide/en/kibana/current/tutorial-load-dataset.html
下载测试数据
Kibana Dev Tools > Console , set up a mapping for the Shakespeare data set:
PUT /shakespeare
{
“mappings”: {
“doc”: {
“properties”: {
“speaker”: {“type”: “keyword”},
“play_name”: {“type”: “keyword”},
“line_id”: {“type”: “integer”},
“speech_number”: {“type”: “integer”}
}
}
}
}
PUT /logstash-2015.05.18 (19,20)
{
“mappings”: {
“log”: {
“properties”: {
“geo”: {
“properties”: {
“coordinates”: {
“type”: “geo_point”
}
}
}
}
}
}
}
数据导入
curl -H ‘Content-Type: application/x-ndjson’ -XPOST ‘localhost:9200/bank/account/_bulk?pretty’ –data-binary @accounts.json
curl -H ‘Content-Type: application/x-ndjson’ -XPOST ‘localhost:9200/shakespeare/doc/_bulk?pretty’ –data-binary @shakespeare_6.0.json
curl -H ‘Content-Type: application/x-ndjson’ -XPOST ‘localhost:9200/_bulk?pretty’ –data-binary @logs.jsonl
使用如下命令验证成功导入:
curl ‘localhost:9200/_cat/indices?v’
你将会看到输出如下类似的信息
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .kibana NBgh9ZN2QMyBEPu8fclBtQ 1 0 3 1 35.7kb 35.7kb
yellow open movies 3_zngfdkSeONMCw_WTbqZg 5 1 6 0 26.2kb 26.2kb
green open .monitoring-alerts-6 R_QVVTIqToymAC8qwjCT9w 1 0 7 1 48.1kb 48.1kb
yellow open logstash-2015.05.20 y0-yvhXfQwiSUSwHf1py-w 5 1 4750 0 23.4mb 23.4mb
green open .watches h3Krrmk4T82wqZ57UTJnyg 1 0 6 0 41.8kb 41.8kb
yellow open logstash-2015.05.18 3w0-WSTLTQGq9Q_XQTv0Rg 5 1 4631 0 23.1mb 23.1mb
green open .watcher-history-7-2018.06.29 zmHqjXsPR1q0Y-DkNNcO2Q 1 0 3010 0 5mb 5mb
yellow open shakespeare di23ZjwlSa-gIHVsgBOktw 5 1 111396 0 21.5mb 21.5mb
yellow open logstash-2015.05.19 WEq7wKncQySQdTpFB7DptA 5 1 4624 0 22.4mb 22.4mb
定义你的索引模式匹配
每一个数据集导入到Elasticsearch后会有一个索引匹配模式,在上段内容莎士比亚数据集有一个索引名称为shakespeare,账户数据集的索引名称为bank。一个索引匹配模式就是一个字符串包含可选的通配符,它能匹配多个索引。比如,在常用的日志案例中,一个典型的索引名称包含MM-DD-YYYY格式的日期,因此一个5月的索引匹配模式可能是这样:logstash-2015.05*。
在本教程中任何匹配模式匹配到我们导入的索引将会起作用。打开一个浏览器,访问localhostL:5601,点击Setting页面,然后点击indices标签,点击Add New按钮,定义一个新的模式匹配。两个数据集——莎士比亚剧和虚构的账号不包含时间系列的数据,确保Index contains time-based events复选框没有勾选,当你在为这些数据集创建模式匹配的时候。指定shaks为莎士比亚数据集的一个模式匹配,然后点击Create按钮定义一个模式匹配,接着定义一个ba的模式匹配。
Logstash数据集包含时间系列的数据,所以在点击Add New按钮创建完模式匹配后,确保Index contains time-based events复选框勾选,并在Time-field name下拉列表中选择@timestamp字段。
1,In Kibana, open Management, and then click Index Patterns.
2,If this is your first index pattern, the Create index pattern page opens automatically. Otherwise, click Create index pattern in the upper left.
3,Enter shakes* in the Index pattern field.
4,Click Next step.
5,In Configure settings, click Create index pattern. For this pattern, you don’t need to configure any settings.
6,Define a second index pattern named ba* You don’t need to configure any settings for this pattern.
Now create an index pattern for the Logstash data set. This data set contains time-series data.
1,Define an index pattern named logstash.
2,Click Next step.
3,In Configure settings, select @timestamp in the Time Filter field name dropdown menu.
4,Click Create index pattern.
当定义索引模式时,与该模式匹配的索引必须存在于es中,并且它们必须包含数据。
查看可用index
1,Dev Tools > Console and enter GET _cat/indices
2,curl -XGET “http://localhost:9200/_cat/indices”
发现你的数据
点击Discover页面展示Kibana的数据发现功能。
在标签页面的正下方,有一个查询框用于搜索你的数据。搜索需要一个特定的查询语法,它们能让你创建自己的搜索,点击查询框右边的按钮能保存这些搜索。在查询框的下方,当前的索引匹配模式显示在一个下拉选中,选择下拉选以改变匹配模式。你能用字段名和你感兴趣的值构建一个搜索,数字类型的数据可使用比较操作符比如>、<、=等,你可使用AND、OR、 NOT逻辑符连接元素,必须是大写。
试着选择ba模式匹配,然后把下面的查询放到查询框
account_number:<100 AND balance:>47500
No results found
把_type:”doc” 前面的单选框去掉
可以看到搜索结果了
搜索返回所有账户号码0到99且薪水超过4,7500的账户。如果你使用相关的案例数据,将会返回5条数据:账户号码8,32,78,85和97。
为了窄化显示某些感兴趣的字段,高亮索引模式匹配下面的列表中的字段,然后点击Add按钮。在这个例子中,注意怎么实现的,添加一个account_number字段后改变界面显示从5条记录的完整文本到一个只有账户号码的简单列表。
下一步,我们打算制作一个条形图。点击New Visualization按钮,然后点击Vertical bar chart。选择From a new search,然后选定shakes*模式匹配。你将会看到单个大条形图,因为到现在为止我们还没有定义任何量值。
对于Y轴的刻度聚合,选择speaker作为Unique Count的字段。对于莎士比亚戏剧,知道那部戏剧需要最少数量的台前幕后人员可能是很有用的,如果你的戏剧公司短缺演员的话。对于X轴的量值,选择Terms聚合和play_name字段。对于排序,选择Ascending,Size保持默认值5。让其他参数保持默认值,然后点击Apply cganges按钮,你的图表应该看起来像下面那样。
注意一下每部剧名是怎么显示成一个完整的词组而不是被拆分成单独的单词。这是我们在教程的前段部分设置映射的结果,我们把play_name标记为 not analyzed。鼠标移到每一个条上以tooltip形式显示每个剧台前幕后的数量。你可以关掉这个显示方式或者改变你图表的其他选项通过点击左上方的Option标签。
既然你有了莎士比亚剧中最小的演员表,你可能感兴趣知道这些剧本中哪一个对单个演员的要求最高,通过显示给定剧情的最大对话量。用Add metrics按钮增加一个Y轴聚合,为speech_number选择Max聚合。在option页面选择Bar Mode的grouped选项,然后点击Apply changes按钮,你的图表现在看起来应该是这样:
接下来,我们要制作一个瓦片地图来可视化一些地理数据。点击New Visualization按钮,然后点击Coordinate map按钮,选择from a new search和logstash-*模式匹配。在Kinaba界面的右上方的时间选择器为我们的要发掘的数据定义一个时间窗口,点击Absolute按钮,然后设置起始时间为2015-5-18结束时间到2015-5-20。
一旦我们设置好了时间区间,点击Go按钮,然后点击底部小小的向上箭头关闭时间选择器。你可以看到整个世界的地图,因为我们现在还没有定义任何量值。
选择Set Aggregation to Geohash and Field to geo.coordinates.,然后点击那个绿色的Apply changes按钮,可以看到许多圆点
你可以通过点击或者拖拽来导航地图,放大缩小地图用按钮,或者点击Fit Data Bounds按钮来缩小到包含所有点的最低级别。一个绿色的椭圆的过滤器显示在查询框的正下方。
鼠标移到过滤器显示一些控制工具:切换、定位、翻转、删除过滤器。用Map Example名字保存这个图表。
最后我们用一些标记小部件来展示我们的仪表盘。点击New Visualization按钮然后点击Markdown widget按钮来显示一个非常简单的标记字段输入框:
在那个字段输入如下文本:
# This is a tutorial dashboard!
The Markdown widget uses markdown syntax.
Blockquotes in Markdown use the > character.
点击Apply changes按钮在预览面板显示出渲染出来的标记效果。
3.全部放入仪表盘
一个Kibana仪表盘是许多图表的集合允许你整理和分享。点击Dashboard页面以开始,点击搜索框最右边的Add Visualization按钮,显示出已保存图表的列表。选择Markdown Example、Pie Example、Bar Example和Map Example,然后点击底部小小的箭头关闭列表。你可以通过点集合拖拽标题条移动各个图表的容器,通过拖拽图表容器右下角调整容器大小。你的样例仪表盘最终看起来差不多是这样:
点击Save Dashboard 按钮,然后为仪表盘命名为Tutorial Dashboard。你可以通过点击Share 按钮来显示HTML嵌入代码或者是一个定向链接分享一个保存的仪表盘。