多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Visualizing(可视化)数据 原文链接 : [https://www.elastic.co/guide/en/kibana/5.2/tutorial-visualizing.html](https://www.elastic.co/guide/en/kibana/5.2/tutorial-visualizing.html) 译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=8159573](http://www.apache.wiki/pages/viewpage.action?pageId=8159573) 贡献者 : [片刻](/display/~jiangzhonglian),[那伊抹微笑](/display/~wangyangting),[ApacheCN](/display/~apachecn),[Apache中文网](/display/~apachechina) 为了可视化你的数据,在导航页点击 **Visualize**。 ![](/download/attachments/8159573/image2017-3-6%2012%3A59%3A24.png?version=1&modificationDate=1488776364000&api=v2) 可视化工具可以是你通过多种方式来查看你的数据。例如 : 让我们使用最原始可视化,用饼图在样例的银行账户数据中,来观察账户余额。 一开始,在可视化列表中点击 **Pie chart**(饼图)。你就可以在已保存的搜索构建可视化或输入新的搜索条件。要输入新的搜索条件,你首先需要选择一个索引模式以指定你要搜索的索引。我们想要搜索账户数据,就可以选择 **ba*** 的索引模式。 默认搜索匹配所有的文档。最初,单个“**slice**(切片)” 包含整个饼图。 ![](/download/attachments/8159573/image2017-3-6%2012%3A59%3A40.png?version=1&modificationDate=1488776380000&api=v2) 要在饼图中指定显示的内容,你需要使用一个 **Elasticsearch **的  [bucket aggregation](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-aggregations.html)。 一个 **bucket aggregation**(桶聚合) 会对你的搜索匹配条件的文档进行排序为不同的类别,也叫做 : **buckets**。 例如 : 账号数据包含每一个账号 **balance** (余额)。使用一个桶聚合,你就可以建立多个账户的余额范围,并找出多少个账户属于每个范围。 为每一个范围定义一个 **bucket : ** 1. 点击 **Split** **Slices** 的 **bucket **类型。 2. 在 **Aggregation **列表中选择 **Range**(范围)。 3. 在字段列表中选择 **balance**(余额)字段。 4. 点击 **4** 次 **Add** **Range**(添加范围),使总的搜索范围为 **6**。 5. 定义如下的范围 :  ``` 0 999 1000 2999 3000 6999 7000 14999 15000 30999 31000 50000 ``` * 6\. 点击 应用更改 ![](/download/attachments/8159573/image2017-3-6%2013%3A20%3A29.png?version=1&modificationDate=1488777629000&api=v2) 来更新图表。 现在你可以看到 **1000**个 账户有多少比例落入到每一个 **balance**(余额)范围。 ![](/download/attachments/8159573/image2017-3-6%2013%3A22%3A38.png?version=1&modificationDate=1488777758000&api=v2) 让我们来看看数据的另一个维度 : 账户的持有人的 **age**(年龄)。通过添加其他的桶聚合, 你可以看到在每一个余额范围内账户持有人的年龄 :  1. 在 **buckets **列表下面,点击 **Add sub-buckets。** 2. 在 **buckets** 类型列表内,点击 **Split Slices。** 3. 在聚合列表内,选择 **Terms**。 4. 在字段列表内,选择 **age**。 5. 点击应用更改 ![](/download/attachments/8159573/image2017-3-6%2013%3A20%3A29.png?version=1&modificationDate=1488777629000&api=v2) 现在你可以看到,账户持有人的年龄分解显示在环形的余额范围内。 ![](/download/attachments/8159573/image2017-3-7%2015%3A28%3A59.png?version=1&modificationDate=1488871739000&api=v2) 要保存此图表以便以后使用,请单击保存并输入名称 _**Pie Example**_。 接下来,我们将看看莎士比亚数据集中的数据。让我们来看看这些剧本在讲话部分的数量上如何比较,并在**条形图**中显示信息 :      1. 单击 **New **并选择 **Vertical bar chart**(条形图)。     2\. 选择 **shakes*** 索引模式。由于您尚未定义任何值区,因此您会看到一个大 **bar**,显示符合预设通配符查询的文件总数。     ![](/download/attachments/8159573/image2017-3-7%2015%3A33%3A28.png?version=1&modificationDate=1488872008000&api=v2)     3. 要显示沿 **y **轴每次播放的 **speaking parts**(口语部分)数,您需要配置 **Y **轴[度量聚合](https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-aggregations.html)。度量聚合基于从搜索结果提取的值计算度量。要获取每次播放的讲话部分数,请选择 **Unique** **Count**聚合,然后从字段列表中选择 **speaker**。您还可以给轴一个自定义标签,说话部分。     4. 要显示不同的播放长 **x **轴,选择 **X **轴桶类型,从聚合列表中选择 **Terms**,并从字段列表中选择 **play_name**。要按字母顺序列出,请选择 **Ascending**。您还可以给轴自定义标签,播放名称。     5. 单击应用更改![](/download/attachments/8159573/image2017-3-6%2013%3A20%3A29.png?version=1&modificationDate=1488777629000&api=v2) 以查看结果。 ![](/download/attachments/8159573/image2017-3-7%2015%3A38%3A38.png?version=1&modificationDate=1488872318000&api=v2) 请注意,**play names**(演员名称)如何显示为整个短语,而不是分解成单个单词。这是我们在教程开始时做的 **mapping**(映射)的结果,在我们将 **play_name** 字段标记为 _**not analyzed**_(不分析)时。 悬停在每个条形图上,可显示每个演员的讲话部分的数量作为工具提示。要关闭工具提示并为可视化配置其他选项,请选择可视化生成器的 **Options **标签。 现在你有一个最小的演员莎士比亚戏剧的列表,你可能也很好奇,看到这些戏剧中通过显示给定部分的最大数量的演讲,对个体演员最大的要求。 1. 单击添加指标以添加 **Y**轴 聚合。  2. 选择最大聚合并选择 **speech_number **字段。  3. 单击选项并将条形模式更改为分组。 4. 单击应用更改![](/download/attachments/8159573/image2017-3-6%2013%3A20%3A29.png?version=1&modificationDate=1488777629000&api=v2) 您的图表现在应该如下所示:  ![](/download/attachments/8159573/image2017-3-7%2015%3A41%3A43.png?version=1&modificationDate=1488872503000&api=v2) 正如你所看到的,**Love's Labors Lost **与其他剧本相比具有异常高的最大语言数量,因此可能对演员的记忆提出更多的要求。 注意说话部分的数量 **Y **轴是从零开始的,但条形开始部分为 **18**。为了使差异显着,将 **Y **轴以更接近最小值的值开始,转到选项,然后选择将 **Scale Y-Axis to data bounds**(缩放 **Y **轴到数据范围)。 使用名称 _**Bar Example**_ 保存此图表。 接下来,我们将使用 板块地图 图表来显示我们的日志文件示例数据中的地理信息。 1. 单击 **New**。  2. 选择 **Tile map**。  3. 选择 **logstash-* **索引模式。  4. 设置我们要浏览的事件的时间范围 :  5. 单击 **Kibana **工具栏中的时间选择器。  6. 单击 **Absolute**。  7. 将开始时间设置为 **2015 **年 **5 **月 **18 **日,结束时间设置为 **2015 **年 **5 **月 **20 **日。 1. ![](/download/attachments/8159573/image2017-3-7%2015%3A46%3A14.png?version=1&modificationDate=1488872774000&api=v2) 8. 设置好时间范围后,点击 **Go **按钮,然后点击右下角的小向上箭头关闭时间选择器。 您会看到世界地图,因为我们还没有定义任何值区 :  ![](/download/attachments/8159573/image2017-3-7%2015%3A47%3A12.png?version=1&modificationDate=1488872832000&api=v2) 要从日志文件映射地理坐标,请选择 **Geo Coordinates** 作为存储桶,然后单击应用更改![](/download/attachments/8159573/image2017-3-6%2013%3A20%3A29.png?version=1&modificationDate=1488777629000&api=v2) 您的图表现在应该如下所示 :  ![](/download/attachments/8159573/image2017-3-7%2015%3A47%3A57.png?version=1&modificationDate=1488872877000&api=v2) 您可以通过单击和拖动导航地图,使用![](/download/attachments/8159573/image2017-3-7%2015%3A49%3A23.png?version=1&modificationDate=1488872963000&api=v2)按钮进行缩放,或者点击 **Fit Data Bounds **![](/download/attachments/8159573/image2017-3-7%2015%3A49%3A52.png?version=1&modificationDate=1488872992000&api=v2)按钮缩放到包括所有点的最低级别。您还可以通过单击 **Latitude/Longitude Filter** ![](/download/attachments/8159573/image2017-3-7%2015%3A50%3A43.png?version=1&modificationDate=1488873043000&api=v2)按钮并在地图上绘制边界框来包括或排除矩形区域。应用的过滤器显示在查询栏下方。悬停在过滤器上会显示控件以切换,固定,反转或删除过滤器。 ![](/download/attachments/8159573/image2017-3-7%2015%3A51%3A13.png?version=1&modificationDate=1488873073000&api=v2) 使用名称 **Map **示例保存此地图。 最后,创建一个 **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. 单击应用更改![](/download/attachments/8159573/image2017-3-6%2013%3A20%3A29.png?version=1&modificationDate=1488777629000&api=v2)  将在预览窗格中渲染 **Markdown**。 ![](/download/attachments/8159573/image2017-3-7%2015%3A54%3A12.png?version=1&modificationDate=1488873252000&api=v2) ![](/download/attachments/8159573/image2017-3-7%2015%3A54%3A23.png?version=1&modificationDate=1488873263000&api=v2) 使用名称 _**Markdown Example**_ 保存此可视化。