侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 352 篇文章
  • 累计创建 135 个标签
  • 累计收到 10 条评论

目 录CONTENT

文章目录

ES教程11-Kibana在Linux和Windows平台上安装及使用

孔子说JAVA
2022-10-16 / 0 评论 / 0 点赞 / 90 阅读 / 5,074 字 / 正在检测是否收录...
广告 广告

Kibana 是一款开源的数据分析和可视化平台,是 Elastic Stack 成员之一,旨在与 Elasticsearch 协同工作。可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、删除操作,并与存储在Elasticsearch索引中的数据进行交互。可以执行高级数据分析,能够方便的利用图表、表格及地图对数据进行多元化的分析和呈现。

1、下载 Kibana

1.1 与Es版本对应关系

在使用 Kibana 时,需要注意 Kibana 的版本号必须和 Elasticsearch 的版本相互对应,不然会出现 Kibana 和 ES不兼容的问题,导致Kibana安装后不能使用。具体的版本对应问题,可以参考官网:elasticsearch和Kibana版本关系

image-1665620559576

1.2 下载 Kibana

到官网下载 Kibana:Download Kibana Free | Get Started Now | Elastic ,在页面上可以选择对应的平台,如windows,linux等。

image-1665620891342

  • 因为我安装的ES版本是 elasticsearch-7.17.3,通过查询 Kibana 与 Es 版本的对应关系,可知对应的Kibana版本也需要是 7.17.3。

image-1665620711865

通过页面上的 View past releases 链接可以下载到历史版本,在该页面中找到 Kibana 7.17.3,点击链接进入[下载页面](https://www.elastic.co/cn/downloads/past-releases/kibana-7-17-3)。

image-1665621552445

在该页面中下载对应平台的安装包。

2、安装运行 Kibana

2.1 Linux平台安装 Kibana

2.1.1 安装配置

将安装包上传到服务器 /home/es/kibana 目录,然后解压安装包。

# 解压文件
tar -zxvf kibana-7.17.3-linux-x86_64.tar.gz

# 也可以指定解压目录
tar -zxvf kibana-7.17.3-linux-x86_64.tar.gz –C /home/es/kibana

然后到kibana安装目录的config下,编辑kibana.yml配置文件:

image-1665623359336

# 配置本机ip
server.host: "172.19.82.206"

# 配置es集群url
elasticsearch.hosts: ["http://172.19.82.206:9200"]

# 如果es设置了密码,还需要配置以下2项
#elasticsearch.username: "kibana_system"
#elasticsearch.password: "pass"

image-1665623574233

其他配置可以参考kibana.yml文件内部的注释说明。

2.1.2 启动 kibana

启动命令

切换到kibana安装目录的bin目录下,执行kibana文件,启动方式包括前台启动和后台启动,另外还需要注意的是,使用root启动的时候需要写上启动参数:--allow-root

  • 为安全考虑,需要创建普通用户,并将目录的属主和属组改为掉,然后切换为普通用户启动。
# 切换到bin目录
cd ../bin

# 前台方式启动kibana,非root用户
./kibana

# 前台方式启动kibana,root用户
./kibana --allow-root

# 后台方式启动kibanaa,非root用户
nohup ./kibana &

# 后台方式启动kibanaa,root用户
nohup ./kibana --allow-root &

前台启动

我们使用root用户启动kibana,使用 ./kibana 命令启动时报错如下:

Kibana should not be run as root.  Use --allow-root to continue.

image-1665624453382

加上允许root启动的参数,启动命令:./kibana --allow-root,再次启动(启动时间较长)。

  • 建议使用非root账号启动,启动命令:./kibana

image-1665624845821

启动日志中显示如下信息表示启动成功:

[info][server][Kibana][http] http server running at http://172.19.82.206:5601

关闭启动命令窗口或在该窗口按Ctrl+C键会结束kibana服务,再访问 http://172.19.82.206:5601 时,你会发现将无法访问。

后台root用户启动

后台启动,kibana服务不会随启动命令窗口的关闭而结束,启动命令 nohup ./kibana --allow-root &,再次启动(启动时间较长)。

  • 建议使用非root账号启动,启动命令:nohup ./kibana &

image-1665714566413

后台非root用户启动

切换到es用户,启动服务 nohup ./kibana &。注意截图中没有加nohup,当窗口关闭时Kibana服务将停止。

image-1665627433181

开通防火墙端口

注意:因为我使用的是Ubuntu系统,开通了防火墙,需要打开5061的访问权限,命令:ufw allow 5061。如果你也有防火墙,需要注意端口是否开通。

image-1665624099634

测试kibana

成功启动后,测试kibana是否安装成功,可以访问 http://172.19.82.206:5601 来访问kibana,ip为kibana安装节点ip,端口默认为5061,可以在config/kibana.yml中配置。

image-1665625368390

停止Kibana服务

通过以下命令都可以查看到kibana的pid(进程号),然后通过kill命令结束进程。

# 查看5601端口被占用情况
ss -ltanp | grep 5601

# 查询进程pid
ps -ef|grep node

# 或者
fuser -n tcp 5601

# 或者
netstat -anltp|grep 5601
 
# 杀死占用端口进程
kill -9 进程号

image-1665627059038

2.2 Windows平台安装 Kibana

安装配置

下载完成后,解压到本地磁盘。修改config目录下的配置文件 Kibana.yml。更多配置信息,详见 https://www.elastic.co/guide/cn/kibana/current/settings.html

# Kibana服务端口
server.port: 5601
# 配置本机ip
server.host: "127.0.0.1"
# The Kibana server's name
server.name: lqz
# 配置es集群url
elasticsearch.hosts: ["http://localhost:9200/"]
# 设置kibana为中文
i18n.locale: "zh-CN"

上述配置中 elasticsearch.hosts 为必须设置项,其他的可以采用默认配置。

运行 kibana.bat

双击Kibana安装目录中,bin目录下的kibana.bat文件启动kibana服务。在 Elasticsearch 服务已经启动的情况下, Kibana 也将成功运行。

image-1665622364236

如何所示,Ready状态即为成功启动。此时再在浏览器中输入 http://localhost:5601 网址,即可进入 Kibana 控制台使用相关 api 查看 ES 的相关情况。

3、Kibana简单使用

3.1 Console命令行

点击Management --> Dev Tools 可以看到Console命令行,直接可以执行ES的REST风格API,右侧是查询的返回结果。

image-1665628134573

利用该工具可以复习下基本的ES操作API,常见查询方法如下:

GET /_cat/nodes?v
# 查询所有索引
GET /_cat/indices?v
GET /_cat/indices?v&h=health,status,index
# 创建索引
PUT /bamboo
# 删除索引
DELETE /bamboo
# 创建索引对应的mapping和setting
PUT /bamboo 
{
  "mappings": { 
      "properties": { 
        "title":    { "type": "text"  }, 
        "name":     { "type": "text"  }, 
        "age":      { "type": "integer" },  
        "created":  {
          "type":   "date", 
          "format": "strict_date_optional_time||epoch_millis"
        }
      }
    },
  "settings":{
    "index":{
    "number_of_shards": 5,
    "number_of_replicas": 1
    }
  }
}

#获取当前索引的setting信息
GET /bamboo/_settings
GET /bamboo/_mapping
# 获取所有的索引mapping信息
GET _all/_mapping

#添加一条数据
PUT /bamboo/_doc/1
{
  "name":"zs",
  "title":"张三",
  "age":18,
  "created":"2018-12-25"
}

# 修改一条数据的某个属性值
PUT /bamboo/_doc/1 
{
  "name":"lxs",
  "title":"李小四"
}

GET /bamboo/_doc/100

DELETE /bamboo/_doc/1

# 批量插入多个document,_id不指定则系统生成字符串
POST /bamboo/_doc/_bulk 
{"index":{"_id":2}}
{"name":"ww","title":"王五","age":18,"created":"2018-12-27"}
{"index":{}}
{"name":"zl","title":"赵六","age":25,"created":"2018-12-27"}


# 批量操作(包含修改和删除)
POST /bamboo/_doc/_bulk
{"update":{"_id":"1"}} 
{"doc":{"title":"王小五"}}
{"delete":{"_id":"2"}}


#只获取字段name,age
GET /bamboo/_doc/1?_source=name,age

# 聚集查询 id为1,2的数据
GET /bamboo/_doc/_mget
{
"docs":[
   {
       "_id": 2
   },
   {
       "_id": 1
   }
 ]
}


GET /bamboo/_doc/_search 
{"query":{"bool":{"must":[{"match_all":{}}],"must_not":[],"should":[]}},"from":0,"size":10,"sort":[],"aggs":{}}

image-1665628405135

0

评论区