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/,运行界面如下图
注:之前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个区域,分别为功能区、请求编辑区和结果反馈区,如下图所示:
- 功能区提供的主要是一些辅助功能,如请求历史和字体设置等;
- 请求编辑区主要是用户编辑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界面展示