ElasticSearch之Kibana的安装与使用
什么是kibana
kibana是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成
下载
点击上面的连接下载kibana
,这里我们仍然是本地下载完毕后上传到Linux服务器,下载时要注意与ES的版本保持一致
安装
我们本次下载的tar的压缩包,以直接解压修改配置文件的方式安装kibana,如果tar包下载不下来也可以在官网下载rpm安装包进行安装(rpm安装包在官网现在很快,不明所以
)
tar包安装方式
- 使用root用户将下载的tar包上传到
/usr/tools
目录下执行命令tar -zxf kibana-6.8.0-linux-x86_64.tar.gz
解压到当前目录 - 执行命令
vi kibana-6.4.2-linux-x86_64/config/kibana.yml
修改配置文件server.port: 5601 #Kibana的默认端口是5601,可不修改 server.host: "0.0.0.0" # 修改为外机可以访问 elasticsearch.hosts: ["http://192.168.10.206:9200"] #elasticsearch的地址 ```![在这里插入图片描述](https://img-blog.csdnimg.cn/2021042211141376.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JieHlscWYxMjZjb20=,size_16,color_FFFFFF,t_70)
- 依次启动elasticSearch和Kibana,kibana前台启动的命令
./bin/kibana
,后台启动命令nohup ./bin/kibana &
- ElasticSearch和Kibana启动后,我们浏览器中访问
http://192.168.10.206:5601
Kibana中显示ElasticSearch的状态为Health is green
rpm安装方式
- 使用root用户上传rpm包至
/usr/tools
目录下
- 执行rpm安装命令
rpm -ivh kibana-6.8.0-x86_64.rpm
安装kibana
- 查找kibana的配置文件
kibana的配置文件名字叫做kibana.yml
,我们直接用find命令find / -name kibana.yml
来进行查找
- 编辑
kibana.yml
执行命令vim /etc/kibana/kibana.yml
,修改如下配置server.host: "192.168.202.200" #ES服务器主机地址 elasticsearch.hosts: ["http://192.168.202.200:9200"] #ES服务器地址
kibana的默认端口号是5601,这个可以不做修改
- kibana的相关命令
我们先启动kibana,然后查看一下kibana的状态,最后访问一下kibana的界面systemctl start kibana # 启动 systemctl stop kibana # 停止 systemctl status kibana # 查看
- 浏览器输入
http://192.168.8.101:5601/
Kibana的基本操作
上面我们知道了kibana的Monitoring界面,下面我们要在kibana的DevTools下面操作ES,界面如下图
索引(index)的基本操作
PUT /christy/ # 创建索引
DELETE /christy # 删除索引
DELETE /* # 删除所有索引
GET /_cat/indices?v # 查看索引信息
创建索引
PUT /christy
:创建一个名称为christy的索引
“acknowledged” : true
:说的是索引创建成功
"shards_acknowledged" : true
:说的是索引分片创建成功,说到分片就要提一下上面的那几行红色的提示,意思是说在ES7.0分片的数量会从5调整为1,如果你让想让分片的数量为5那么在创建索引的时候你就要手动指定,命令如下:
PUT /christy
{
"settings": {
"number_of_replicas": 1,
"number_of_shards": 5
}
}
查看索引
GET /_cat/indices?v
查看ElasticSearch中索引的具体信息
上面两个以**.kibana**开头的索引是系统自带的索引,不要管它也不要删除,如果删除需要重新启动kibana,而且重新启动ES后这两个索引还是会重新生成
删除索引
delete /*|name
,delete后面跟*代表删除所有索引,跟具体索引的name指删除某一个索引
类型(type)的操作
新增类型
# 类型操作 index/type(mapping)
# 在6.x一个索引只能拥有一个类型
# 假如index-christy有一个type-user(id,name,age,bir),
# 那么创建语句应该是这样
PUT /christy
{
"mappings": {
"user":{
"properties":{
"id":{"type":"keyword"},
"name":{"type":"text"},
"age":{"type":"integer"},
"bir":{"type":"date"}
}
}
}
}
Mapping Type: : text, keyword, date ,integer, long , double , boolean or ip
查看类型
GET /christy/_mapping/user # 语法:GET /索引名/_mapping/类型名
文档(document)的基本操作
添加文档
PUT /index/type/1
# PUT /索引/类型/文档id
查看文档
GET /index/type/1
# GET /索引/类型/文档id
删除文档
DELETE /index/type/1
# DELETE /索引/类型/文档id
更新文档
`POST /index/type/id/_update
{
"doc":{
"propertiesName":propertiesValue
}
}`
更新原有数据
首先执行添加文档命令插入一条数据,执行以下命令修改用户christy的年龄为19
上述命令的执行结果显示数据已经更新了,下面我们执行查询命令看执行结果
更新原有数据并添加新数据
上面的更新方式仅仅是更新原有数据,如果我们想在更新原有数据的时候同时添加新的数据,比如新增christy的性别(gender)为男,那么可以像下面这样写
执行结果也显示更新成功,我们执行查询命令看到gender
字段已经添加进去了
在原有数据基础上更新
这种更新方法区别于第一种,可以使用script更新原有数据,比如想把年龄增加两岁,用第一种方式的写法命令如下
POST /christy/user/1/_update
{
"doc":{
"age":22
}
}
如果我们本次说的script的写法应该像下面这样
POST /ems/emp/1/_update
{
"script": "ctx._source.age += 2"
}
我们来执行以下上面的命令,发现结果也显示更新成功了
最后我们再查询一次,看是否达到了预期的效果
批量操作
批量操作在ES的命令<REST Verb> /<Index>/<Type>/<ID>
后加**_bluk**关键字,这种写法有点类似于更新操作。批量操作包含批量添加-关键字index
、批量修改-关键字update
、批量删除-关键字delete
。为了演示批量操作的效果我们先批量插入两条数据到ES中的/christy/user/下面
PUT /christy/user/_bulk
{"index":{}}
{"name":"Tide","age":23,"bir":"2012-12-12","gender":"女"}
{"index":{}}
{"name":"hardy","age":5,"bir":"2016-02-27","gender":"boy"}
“index”:{}中花括号里面本应写id的,如果不写ES也会自动生成一个id
批量插入命令执行结果:
通过上述结果可以看到批量插入执行成功,我们再来看下目前**/christy/user**下的数据
从查询结果(查询命令将会在下节高级查询中细说)来看,我们目前有三条数据了,批量插入的两条数据也自动生成了id,符合我们的预期。
上面演示了批量插入的命令,批量新增|修改|删除三个也可以混用。什么意思呢,比如一个批量操作中包含一个新增,一个修改,一个删除,可以像下面这样写
POST /christy/user/_bulk
{"index":{}}
{"name":"Tom","age":19,"bir":"2011-11-11","gender":"男"}
{"delete":{"_id":"6W1793gBLCWsGJq8dO-J"}}
{"update":{"_id":"6G1793gBLCWsGJq8dO-J"}}
{"doc":{"age":18}}
执行上面的命令:我们新增一个Tom用户,删除hardy用户,修改Tide用户的age为18
可以看到上面的命令执行结果确实是新增|删除|修改各一条,而且状态都是成功的,我们再来查询一下结果
查询出来的结果符合我们上面的预期。
好了,到这里Kibana的安装与基本使用就结束了,我们知道ES是一个检索工具,在这之前我们一直在讲索也就是将数据保存到ES中,下节开始我们要学习ES中的检,也就是查询。┏(^0^)┛