可视化数据编辑

在侧边导航栏点击 Visualize 开始视化您的数据。

Visualize 工具能让您通过多种方式浏览您的数据。例如:我们使用饼图这个重要的可视化控件来查看银行账户样本数据中的账户余额。点击屏幕中间的 Create a visualization 蓝色按钮开始。

images/tutorial-visualize-landing.png

有很多种可视化控件可供选择。我们点击其中一个名为 Pie 的。

images/tutorial-visualize-wizard-step-1.png

您可以为已保存的搜索建立可视化效果,或者输入新的搜索条件。使用后者时,首先需要选择一个索引模式来指定搜索哪些索引。我们希望搜索账户数据,所以选择 ba* 这个索引模式。

images/tutorial-visualize-wizard-step-2.png

默认搜索匹配所有的文档。初始饼图没有分区:

images/tutorial-visualize-pie-1.png

您可以使用 Elasticsearch 桶聚合 指定图表中显示哪些信息。桶聚合简单的把符合您搜索条件的文档分成不同类别,又叫做 buckets 。例如:包含每个账户的余额数据。通过使用桶聚合,您可以建立多个账户余额区间并找到每个区间内包含多少账户。

定义每个区间桶:

  1. 点击 Split Slices 桶类别。
  2. Aggregation 列表中选择 Range
  3. Field 列表中选择 balance 字段。
  4. 点击四次 Add Range 把区间总数增加到6个。
  5. 定义以下区间:

    0             999
    1000         2999
    3000         6999
    7000        14999
    15000       30999
    31000       50000
  6. 点击 Apply changes images/apply-changes-button.png 更新图表。

现在您可以看到1000个账户根据余额区间划分的比例情况。

images/tutorial-visualize-pie-2.png

让我们看以下数据的另一方面:账户拥有者的年龄。通过添加另一个桶聚合,您可以看到每个余额区间的账户拥有者的年龄:

  1. 点击桶列表中的 Add sub-buckets
  2. 点击桶类型列表中的 Split Slices
  3. 在聚合列表中选择 Terms
  4. 在字段列表中选择 age
  5. 点击 Apply changes images/apply-changes-button.png

现在您可以看到根据账户持有者的年龄划分的环形结构显示在余额区间外侧。

images/tutorial-visualize-pie-3.png

点击 Save 然后输入名称 Pie Example 来保存这个图表供以后使用。

下一步,我们来看一下莎士比亚数据集中的数据。让我们找出每部剧中的台词数,然后通过柱状图来显示这些数据:

  1. 点击 New 然后选择 Vertical bar chart
  2. 选择 shakes* 索引模式。因为目前并没有定义任何桶,您将会看到唯一的一个柱形,它代表着匹配默认通配请求的所有文档数。

    images/tutorial-visualize-bar-1.png
  3. 为了在y轴上显示每部剧里面的台词数,您需要通过 指标聚合 配置y轴。指标聚合以搜索结果中提取出来的值为基础计算出相应的指标。为了得到每部剧中的台词数,选择 Unique Count 聚合然后从字段列表中选择 speaker 。您也可以给这个轴加上标签,例如 Speaking Parts
  4. 为了在x轴上显示不同的剧目,选择X轴桶种类,然后在聚合列表中选择 Terms ,并从字段列表中选择 play_name 。选择 Ascending 使得剧目名称按照字母顺序排列。您也可以给这个轴加上标签,例如 Play Name
  5. 点击 Apply changes images/apply-changes-button.png 来显示结果。
images/tutorial-visualize-bar-2.png

注意每部剧名显示为整个短语,而不是以单词的形式分开。是因为我们在教程开始的时候做了映射的缘故,把 play_name 字段标记为 not analyzed

鼠标悬停在每个柱形图上可以以提示信息的形式显示每部剧中的台词数。为了关闭提示信息并配置其它选项,选择可视化编辑器的 Options 选项。

现在,您已经拥有一个莎士比亚戏剧的最小演员表,您也许会想通过显示某部剧里面的最大台词数来了解哪部剧对一个演员要求最高。

  1. 点击 Add metrics 来添加一个Y轴聚合。
  2. 选择 Max 聚合然后选择 speech_number 字段。
  3. 选择 Options 然后把 Bar Mode 改为 grouped
  4. 点击 Apply changes images/apply-changes-button.png 。您的图表应该如下所示:
images/tutorial-visualize-bar-3.png

如您所见,与其他剧目相比 Love’s Labours Lost 有着最高的台词数,因此也最考验演员的记忆力。

请注意 Number of speaking parts Y轴从0开始,但是柱形从18才开始有差别。为了让这种差别更明显,我们让Y轴从最接近最小值的数据开始,打开选项然后选择 Scale Y-Axis to data bounds

保存这个图表并命名为 Bar Example

下一步,我们使用地图来可视化日志样本数据集中的地理标识信息。

  1. 点击 New
  2. 选择 Coordinate map
  3. 选择 logstash-* 索引模式。
  4. 设置我们要查看的事件的时间窗口:
  5. 在 Kibana 工具栏中点击时间控件选择。
  6. 点击 Absolute
  7. 设置开始时间为 May 18, 2015,结束时间为 May 20, 2015。

    images/tutorial-timepicker.png
  8. 设置好时间范围后,点击 Go 按键并点击右下角向上的小箭头关闭时间控件。

因为目前没有定义任何桶,您将只会看到一幅世界地图:

images/tutorial-visualize-map-1.png

选择 Geo Coordinates 作为桶,并点击 Apply changes images/apply-changes-button.png 来显示日志文件中对应的地理坐标。您的图表应该如下所示:

images/tutorial-visualize-map-2.png

您可以通过点击和拖动来浏览地图,通过 images/viz-zoom.png 按钮放大缩小,或者点击 Fit Data Bounds images/viz-fit-bounds.png 缩放到最低水平来显示所有部位。您也可以通过点击 Latitude/Longitude Filter images/viz-lat-long-filter.png 并在地图上画框来包含或去除某个矩形区域。已被应用的过滤器显示在查询栏下方。鼠标悬停在过滤器上方可以显示切换、固定、反转和删除该过滤器的控制选项。

images/tutorial-visualize-map-3.png

保存这个地图并命名为 Map Example

最后,创建一个 Markdown 控件来显示其他信息:

  1. 点击 New
  2. 选择 Markdown widget
  3. 在输入框中输入如下内容:

    # This is a tutorial dashboard!
    The Markdown widget uses **markdown** syntax.
    > Blockquotes in Markdown use the > character.
  4. 点击 Apply changes images/apply-changes-button.png 在预览框中显示该 Markdown 。

    images/tutorial-visualize-md-1.png
images/tutorial-visualize-md-2.png

保存这个可视化控件并命名为 Markdown Example