Elastic Visulization 提供了强大的可视化工具供我们来展示及分析数据,但是 Elastic Canvas 可以给我们提供大屏幕显示的方式,并提供了无限的联想。它可以让我们自由地定制我们想要的大屏幕。在今天的文章中,我们来讲述一下如何实现一个简单的 Canvas 示例。
准备数据
我们先打开我们的 Kibana,并导入数据:
点击上面的 Load a data set and a Kibana dashboard:
这样我们就导入了我们的 Sample web logs 索引数据。
做正常的可视化数据
我们点击Visualize:
点击上面的 Create visualziation:
点击 Pie visualization:
选择我们刚刚导入的 kibana_sample_data_logs:
按照上面所示的配置,并在 options 里选择 “Show labels”,这样就可以形成如上图所示的 Pie 形的前5个访问最多的网址。我们点击上面的 Save 保存上面的 visualization 为 v-1。
按照同样的方法,我们可针对 hour_of_day 来形成一个对每天每个小时的访问图,不过这次我们使用的是 Line visualization:
我们按照上面的配置可以生成每个小时的访问量的分布图。上面显示每天的10点到14点是访问最繁忙的时段。我们可点击下面的 Add 链接来添加一个新的 bucket 来展示最热的5个访问网址:
在上面显示的是访问最多的5个网址的按照一天24个小时显示的访问量的统计图。我们保存当前的 visualization 为v-2。
依据上面的 v-1 及 v-2 两个 visualization,我们很容易生成我们希望的一个 Dashboard:
点击上面的 Create dashboard:
我们点击Add,并添加 v-1 及 v-2 两个 visualization:
在绝大多数的情况下,我们的这个 Dashboard 已经非常漂亮了。但是对于一些大屏幕的需求,我们很希望有自己个性化的屏幕展示。那么问题来了,我们该如何实现这个嗯?答案是 Canvas。顾名思义,作为一个 Canvas,我们可以在画布上任意拖拽安排我们的 Widget。可以定制我们的字体,背景等等。在接下来的教程中,我们来做一个简单的展示。
Elastic Canvas
打开 Kibana,我们点击 Canvas:
点击上面的 Create workpad:
我们点击上面的 Background,并选择我们喜欢的颜色,比如黑色。我们点击上面的 Add element:
我们选择 Donut chart:
我们选择 Elasticsearch SQL,并输入如下的查询:
SELECT COUNT(timestamp) as total_visitors, host.keyword FROM kibana_sample_data_logs GROUP BY host.keyword
为了能够展示和我上面的一样,我们需要做一些特别定制的配置。我们在 Display 页面做如下的配置:
这样,我们就完成了第一个 Pie 的数据展示。我们再次选择 Add element 按钮。我们这次选择 Line chart:
选择上面的 Line chart:
我们点击上面的 Demo data:
这次我们同样选择 Elasticsearch SQL:
SELECT COUNT(timestamp) as total_visitors, HOUR_OF_DAY(timestamp) as hour, host FROM kibana_sample_data_logs GROUP BY host, HOUR_OF_DAY(timestamp) ORDER BY HOUR_OF_DAY(timestamp) DESC
我们可以点击 Preview data 查看数据:
SELECT COUNT(timestamp) as total_visitors, HOUR_OF_DAY(timestamp) as hour, host.keyword FROM kibana_sample_data_logs GROUP BY host.keyword, HOUR_OF_DAY(timestamp) ORDER BY HOUR_OF_DAY(timestamp) DESC
我们从上面可以看出来在10点,9点 total_visitors 是比较多的。我们点击到 Display 页面:
我们按照上面的配置进行设置。如果你设置正确的话,你可以看到上面的显示。细心的开发者,你们可能发现在上面我们只有一个统计的曲线。我们点击右上角的+符号:
选择Color:
在上面我们发现所有的线都是白色的。我们必须把上面的 Default style 的颜色去掉:
我们选择 host。这样我们就可以看到上面所示的显示。这个和我们之前做的 Dashboard 非常相似。
接下来,我们为我们的展示添加一个 title。我们再次点击 Add element。这次我们选择 Markdown:
点击上面的 Text:
我们修改在 Display 的内容:
我们点击右上角的+:
我们选择 Text settings:
我们在上面调整我们的字体及大小。并调整文字的内容。这样最终我们就形成了我们想要的 Canvas:
大家看一下,这个最终的 Canvas 的显示和我们之前的那个 Dashboard 显然是不一样的。我们可以根据自己的需求来调整,并最终来满足我们的需求。
如果你想看一个更为复杂的 Canvas 例子,请按照如下的操作。先打开 Kibana:
点击 Add data。等数据加载完毕后,点击左边的 Canvas:
我们可以看到一个 Workpad 的列表。点击上面的 Web Traffic:
我们可以看到一个完全个性化的 Canvas 展示。