Kibana是ELK家族中一个开源、免费的可视化数据搜索和分析平台。借助Kibana,用户不需要编码就可以将ES中分析的结果进行可视化呈现,如以常用的饼图、柱状图和时序图等方式呈现。除了可视化数据分析功能,Kibana还提供了Dev Tools,它是一款可以与ES进行交互式请求的工具,可以借助它进行DSL调试。

一、Kibana的安装

        Kibana的版本最好和已经安装的ES保持一致,否则容易产生版本不兼容问题。Kibana的下载地址为https://www.elastic.co/cn/downloads/kibana

        解压缩下载后的Kibana安装文件,修改config/kibana.yml配置文件,将elasticsearch.hosts的值修改为ES的HTTP服务地址,此处为["http://localhost:9200"]。如果希望外网计算机也能访问Kibana的界面服务,则需要将server.host的值修改为"0.0.0.0"。

Kibana的简单配置已经完成了,运行bin/kibana即可开启Kibana的Web界面服务。在浏览器的地址栏中输入http://ip:5601/,运行界面如下图

kibana 写入es数据 kibana查看es数据_java

注:之前docker安装es没有创建网络,所以需要先创建网络,才能使kibana访问es,命令分别如下:

docker network create elastic
docker run -d --name es01-test --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.13.2
docker run -d --name kib01-test --net elastic -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://es01-test:9200" docker.elastic.co/kibana/kibana:7.13.2

二、在Kibana中搜索文档

        在Kibana首页中单击Dev Tools链接,即进入Kibana开发工具集的界面。目前的工具集中包含Console、Search Profiler、Grok Debugger和Painless Lab4个工具,它们各自的功能分别如下:

工具名称

功能

Console

提供ES Rest形式交互的控制台

Search Profiler

可以分析ES响应某一请求的耗时

Grok Debugger

提供Grok语言的调试器,在联合使用Logstash上传数据时,用作调试分割文本

Painless Lab

提供Painless语言的调试器,用户在自定义排序脚本代码时可以使用

 控制台中包含3个区域,分别为功能区、请求编辑区和结果反馈区,如下图所示:

kibana 写入es数据 kibana查看es数据_android_02

  • 功能区提供的主要是一些辅助功能,如请求历史和字体设置等;
  • 请求编辑区主要是用户编辑REST请求的地方,为更好地帮助用户进行开发,该区域提供了语法高亮显示、智能提示和自动对齐等功能;
  • 结果响应区主要搭配请求编辑区使用,运行请求编辑区的请求后,在结果反馈区会把ES的响应结果返回,同时,该区域也提供了返回码、请求耗时和语法高亮显示等功能。

三、案例 

1、创建索引

PUT /hotel
{
  "mappings": {
    "properties": {
      "title":{"type": "text"},
      "city":{"type": "keyword"},
      "price":{"type": "double"}
    }
  }
}

2、插入数据

POST /hotel/_doc/001
{
    "title":"java旅馆",
    "city":"深圳",
    "price":50.00
}

3、查询数据

GET /hotel/_doc/001

4、kibana界面展示

kibana 写入es数据 kibana查看es数据_kibana 写入es数据_03