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 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章