ELK系列(二)、在Kibana中使用RESTful操作ES库

上一篇讲了如何安装ELK:

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

-----------------------------------------------------------------------------------------

这篇介绍如何使用kibana连接ES并操作,先介绍一下ES和关系型数据库的概念对应:

在ES7以前的版本,每个index(库)可以有多个type(表),但在ES7之后取消了type的概念,每个index下面只有一个默认的_doc的type,即是说在ES7之后的版本中,是库表合一的:

ES7之前
ES RDBMS
index database
type table
document row
field column
ES7之后
ES RDBMS
index database
type table
document row
field column

RESTful接口

ES是基于RESTful接口操作的,也就说我们可以直接使用curl命令 或者python的request包直接操作,那么这里就介绍如何在Kibana中对ES的数据进行增删改查等操作,在Kibana中点击左边的Dev Tool即可直接操作ES库:

#建索引(库)
PUT /noah

#查看某索引属性
GET /noah/_settings

#新增/修改 获取某库某表某行记录,这里的3是id,主键,主键相同的会被更新,即使没有修改数据,只要执行了就会更新,并且版本号+1
POST /noah/_doc/3
{
  "name":"王义凯",
  "age":27,
  "email":"[email protected]",
  "company":"CSDN"
}

#获取某库某表某行记录
GET /noah/_doc/3

#获取某库某表某行记录的字段值
GET /noah/_doc/1?_source=name

#获取某库某表某行记录的值 不显示其他版本号库名表名等属性
GET /noah/_doc/1/_source

#获取头信息 404则没记录,200则成功
HEAD /noah/_doc/1

#删除记录,也会增加版本号,不会立刻删除,过段时间会自动删掉,删除后再新增一条同样的ID,版本号重置从1开始
DELETE /noah/_doc/1

#select * from 库, index:库, type:_doc表,document:记录,field:字段
GET /noah/_search

#等同于查看表结构
GET /noah/_mapping

#获取索引里的数据量
GET /noah/_count

#查看所有索引
GET /_cat/indices

#查看集群状态
GET /_cluster/health	

#打开索引
POST /noah/_open 	

#关闭索引,关了之后就查不了了
POST /noah/_close  

#清空索引但不删除索引
POST /noah/_delete_by_query
{
  "query": {"match_all": {}}
}

#删除索引
DELETE /noah

上面也提到了,在ES7中,每个索引下面只能有一个默认的type,_doc,如果非要新增type会报错:

"type" : "illegal_argument_exception",
"reason" : "Rejecting mapping update to [wyk] as the final mapping would have more than 1 type: [_doc, csdn]"

 

 curl命令:

#删除索引
curl -H "Content-Type: application/json" -X DELETE http://wykd:9200/csdn

#新建索引
curl -H "Content-Type: application/json" -X PUT http://wykd:9200/csdn

#新增记录, -d后面跟json串,用单引号引,也可以跟json文件(需要用@关键字) 如果不加id的话,会自动生成id
curl -H "Content-Type: application/json" -X POST http://wykd:9200/csdn/_doc/1 -d '{"company":"CSDN","date":"2020-05-20"}'
curl -H "Content-Type: application/json" -X POST http://wykd:9200/csdn/_doc/1 -d @/root/tmp.json

#查看数据 指定id
curl -H "Content-Type: application/json" -X GET http://wykd:9200/csdn/_doc/1 

猜你喜欢

转载自blog.csdn.net/wsdc0521/article/details/106241596