ElasticsearchBES

    Kibana使用指南


    Kibana 是一款开源的可视化数据分析工具,可以使用 Kibana 对 Elasticsearch 中的数据进行搜索、分析,可以很方便的利用图表、表格及地图对数据进行多样的可视化展现。

    创建与访问Kibana

    在百度智能云选择Elasticsearch服务并完成创建集群后,除了已购买的Elasticsearch节点,默认会附赠一个Kibana节点,如图所示:

    image.png

    通过上图连接信息中所示的Kibana HTTP URL可以直接访问Kibana服务,Kibana用户名密码与百度智能云Elasticsearch服务的用户名密码相同

    使用Kibana

    使用Console快速访问Elasticsearch

    使用Dev Tools中的Console界面,可以直接使用REST API快速访问Elasticsearch。使用方式如下:

    • 调用GET _cat/nodes ,快速得到节点信息。

    image.png

    • 使用search API,可以直接检索索引filebeat-7.4.2-slowlog-2020.09.01中的数据。

    image.png

    • 直接点击如图所示Open documentation,可以查看Elasticsearch API文档。

    image.png

    使用仪表盘展示数据

    接下来本文用Elasticsearch慢查询日志为例,体验Kibana把数据在仪表盘中展示的过程。

    在索引filebeat-7.4.2-slowlog-2020.09.16中,保存有使用filebeat导入的慢查询日志数据,数据结构如下所示:

    {
      "took_millis": "4",
      "shard_num": "2",
      "query_dsl": "{}",
      "hostname": "node-1",
      "shard": "0",
      "class": "index.search.slowlog.fetch",
      "took": "4.9",
      "level": "INFO",
      "index": "filebeat_test",
      "message": "[2020-09-16T20:05:12,000][INFO ][index.search.slowlog.fetch] [node-0][filebeat_test][0] took[4.9ms], took_millis[4], total_hits[5132 hits], types[], stats[], search_type[QUERY_THEN_FETCH], total_shards[2], source[{}], id[], ",
      "hits": "5132",
      "node": "node-0",
      "@timestamp": "2020-09-16T12:05:12.333Z",
      "time": "2020-09-16T20:05:12,000"
    }

    创建索引模式Index Patterns

    加载到 Elasticsearch 的每组数据都有一个索引模式(Index Pattern)。 在这里为了检索filebeat-7.4.2-slowlog-2020.09.16,可以设置Index Pattern为 filebeat-7.4.2-slowlog-* ,如图所示:

    image.png

    选择@timestamp为Time Filter field,Time Filter将使用此字段按时间筛选数据。

    image.png

    点击 Create Index Pattern 后成功创建Index Pattern。

    使用Discover检索数据

    单击侧面导航中的 Discover 进入 Kibana 的数据探索功能:

    image.png

    在查询框Filters里,用户可以输入Kibana查询语句来搜索上文保存的慢查询日志。在 Discover 页面下可以查看搜索结果并在 Visualize 页面下生成已保存搜索的可视化效果。

    使用Visualize可视化数据

    在侧边导航栏点击 Visualize 开始可视化慢查询日志数据。

    New Visualize中可以选择合适的图表来可视化数据,在这里我们制作一个Horizontal Bar(水平条形图)和一个Pie(饼图)。

    创建一个Horizontal Bar图(水平条形图)

    Horizontal Bar(水平条形图)一般用来比较不同分组的数据差异性。在日志分析的例子中,本文使用Horizontal Bar(水平条形图)来比较不同时间段内的慢日志条数。下面是创建Horizontal Bar图(水平条形图)的例子。

    1.在 New Visualization 页面中选择 Horizontal Bar 选项; image.png 2.选择配置的Index Pattern; image.png 3.指标项(Metrics)的y轴可以选择为Count(日志条数),Buckets选择Date Histogram(日期矩形图),得到的统计图如下所示: image.png

    如图,可以清楚的看出不同的时间内慢日志条数之间的对比,有助于排查慢查询问题。

    制作完成后,用户可以点击页面左上角 Save 然后输入名称 (如图示例my log histogram) 来保存这个图表供以后使用。

    image.png

    创建Pie(饼图)

    Pie(饼图)一般用于强调各项数据占总体的占比,提现了个体和整体的比较。在日志分析的例子中,我们可以使用Pie(饼图)来比较慢查询日志的查询耗时区间的分布情况。下面是创建Pie图(饼图)的例子。

    1.在 New Visualization 页面中选择 Pie 选项; image.png 2.选择配置的Index Pattern; image.png 3.对took字段进行Metrics的Count聚合,并设定了若干统计区间,得到的统计图如下所示: image.png

    如图可以看出,耗时20ms内和耗时20ms-100ms的查询占据了绝大部分,而100ms以上的查询只有极少的分布,可以更加直观的分析慢查询的情况。

    同上,制作完成后,点击页面左上角 Save 然后输入名称 (my log pie) 来保存这个图表供以后使用。

    更多Visualize的用法可参见Kibana官方网站

    使用Dashboard仪表盘汇总数据

    仪表板可用于集中管理和分享可视化控件集合。构建一个仪表板可以配置在Visualize中已保存的可视化控件,方法如下:

    1. 在侧边导航栏点击 Dashboard
    2. 点击 Add 显示已保存的可视化控件列表。

    image.png

    1. 单击my log histogrammy log pie,然后刚刚制作的Visualize就增加到了Dashboard中。

    image.png

    将鼠标悬停在一个可视化控件上可以显示允许编辑、移动、删除和调整它的控制器。

    image.png

    制作完成后,点击页面左上角 Save 然后输入名称 来保存Dashboard。

    要获取分享链接或将仪表板嵌入到网页中的 HTML 代码,请保存仪表板并点击 Share

    更多Dashboard的用法可参见Kibana官方网站

    上一篇
    最佳实践
    下一篇
    Java-SDK