Elasticsearch-04-Elasticsearch组件head和kibana详解


系列文章:
Elasticsearch-05-Elasticsearch-sql组件史上最全详解
Elasticsearch-03-JavaApi以及springboot中操作-RestHighLevelClient
Elasticsearch-02-es的restapi使用
Elasticsearch-01-es概念及安装

一:head组件

1:es-head插件是什么?

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。 -----百度百科

而ElasticSearch-head就是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。类似于使用navicat工具连接MySQL这种关系型数据库,对数据库做操作。

简而言之:ElasticSearch-head就是一个针对es可视化操作的插件。

2:安装head

1. 安装依赖:

(1) 下载node:

  • ① 下载地址:https://nodejs.org/en/download/

  • ② 检查是否安装成功:Win+R CMD输入“node -v”命令检查,如果输出了版本号,则node安装成功。

(2) 安装grunt:

  • ① CMD中执行“npm install -g grunt-cli”命令等待安装完成

  • ② 输入:grunt -version命令检查是否安装成功

2. 下载Head插件

(1) 下载地址:https://github.com/mobz/elasticsearch-head

(2) 下载完成后,解压,打开elasticsearch-head-master文件夹,
修改Gruntfile.js文件,添加hostname:‘*’, 如图:
在这里插入图片描述

(3) 输入 cd elasticsearch-head
npm install

(4) 输入 npm run start 启动服务

(5) 验证:http://localhost:9100/ 安装成功

(6) 如果无法发现ES节点,尝试在ES配置文件中设置允许跨域
http.cors.enabled: true
http.cors.allow-origin: “*”

3. 或者从Chrome网上应用店安装Elasticsearch Head

3:使用head

安装完后,默认head插件的web端口为9100,ElasticSearch服务的端口为9200,使用浏览器访问head地址,如http://IP地址:9100/,

1:主界面介绍

在这里插入图片描述

  • 1:如果是服务器安装了head组件,那么打开对应的9200端口会自动显示链接,如果使用浏览器插件,打开插件这里是空白的,请输入es的地址和端口即可连接;:
  • 2: 集群健康值。Elasticsearch 中其实有专门的衡量索引健康状况的标志,分为三个等级:
    • green,绿色。这代表所有的主分片和副本分片都已分配。你的集群是 100% 可用的。
    • yellow,黄色。所有的主分片已经分片了,但至少还有一个副本是缺失的。不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。如果更多的分片消失,你就会丢数据了。所以可把 yellow 想象成一个需要及时调查的警告。
    • red,红色。至少一个主分片以及它的全部副本都在缺失中。这意味着你在缺少数据:搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。
    • 如果只有一台主机的话,其实索引的健康状况也是 yellow,所有上图显示为yellow。因为一台主机,集群没有其他的主机可以防止副本,所以说,这就是一个不健康的状态,因此集群也是十分有必要的。
  • 3:表示在Elasticsearch已经创建的索引(index)。包含了索引的名称、索引的大小(size)、索引的数据量(docs),并且通过【信息】和【动作】可以查看索引信息或者给索引建别名
  • 4:表示Elasticsearch节点。上图中的带有感叹号的Unassigned表示未分配的节点,带有星号的表示是主节点,其节点名称叫:DESKTOP-SCGOOME(默认,配置文件可以更改),并能查看节点信息。
  • 5:表示索引分片,Elasticsearch数据就存储在这些分片中。每一个方框就是elasticsearch的分片,粗线方框是es的主分片,主分片旁边细线方框是es的备份分片,对应关系,粗线方框0的备份分片是细线方框0。依次类推。

2:head使用

1:快速创建索引
在这里插入图片描述

2:聚合查询
在这里插入图片描述
注:这里的操作已经和restapi操作一模一样了,在此可以参看我的这篇文章Elasticsearch-02-es的restapi使用

二:Kibana组件

1:Kibana介绍

Kibana是一个针对Elasticsearch的开源分析及可视化平台,使用Kibana可以查询、查看并与存储在ES索引的数据进行交互操作,使用Kibana能执行高级的数据分析,并能以图表、表格和地图的形式查看数据。

2:Kibana安装

1:下载地址-注意elasticsearch 和 kibana使用同一个版本

下载地址:https://www.elastic.co/cn/downloads/kibana

2:更改配置

1:解压
在这里插入图片描述
2:更改config/kibana.yml

# Kibana is served by a back end server. This setting specifies the port to use.
# 服务端口号
server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
# 允许访问的IP,如果允许任何IP访问此处输入0.0.0.0
server.host: "localhost"

# Enables you to specify a path to mount Kibana at if you are running behind a proxy.
# Use the `server.rewriteBasePath` setting to tell Kibana if it should remove the basePath
# from requests it receives, and to prevent a deprecation warning at startup.
# This setting cannot end in a slash.
#server.basePath: ""

# Specifies whether Kibana should rewrite requests that are prefixed with
# `server.basePath` or require that they are rewritten by your reverse proxy.
# This setting was effectively always `false` before Kibana 6.3 and will
# default to `true` starting in Kibana 7.0.
#server.rewriteBasePath: false

# The maximum payload size in bytes for incoming server requests.
#server.maxPayloadBytes: 1048576

# The Kibana server's name.  This is used for display purposes.
# 服务名称
server.name: "kibana"

# The URLs of the Elasticsearch instances to use for all your queries.
# ES服务地址
elasticsearch.hosts: ["http://localhost:9200"]

# When this setting's value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
#elasticsearch.preserveHost: true

# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
# 创建的索引
#kibana.index: ".kibana"

# The default application to load.
#kibana.defaultAppId: "home"

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
# 登录ES使用的用户名和密码
#elasticsearch.username: "kibana"
#elasticsearch.password: "pass"

# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key

# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
# These files are used to verify the identity of Kibana to Elasticsearch and are required when
# xpack.security.http.ssl.client_authentication in Elasticsearch is set to required.
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key

# Optional setting that enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ]

# To disregard the validity of SSL certificates, change this setting's value to 'none'.
#elasticsearch.ssl.verificationMode: full

# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500

# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000

# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [ authorization ]

# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}

# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 30000

# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
#elasticsearch.startupTimeout: 5000

# Logs queries sent to Elasticsearch. Requires logging.verbose set to true.
#elasticsearch.logQueries: false

# Specifies the path where Kibana creates the process ID file.
#pid.file: /var/run/kibana.pid

# Enables you specify a file where Kibana stores log output.
#logging.dest: stdout

# Set the value of this setting to true to suppress all logging output.
#logging.silent: false

# Set the value of this setting to true to suppress all logging output other than error messages.
#logging.quiet: false

# Set the value of this setting to true to log all events, including system usage information
# and all requests.
#logging.verbose: false

# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000.
#ops.interval: 5000

# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English - en , by default , Chinese - zh-CN .
# 设置kibana为中文
i18n.locale: "zh-CN"

3:用非root用户启动并赋权

1:chown -R es:es kibana-7.6.1
2:su es

4:启动kibanna

注:启动时间较长,请耐心等待
在这里插入图片描述

3:kibana使用

1:使用开发工具

在这里插入图片描述
在这里插入图片描述

2:更多操作

这里的操作和restapi是一样的,好处是有自动提示,具体更多操作可以参考我的另一篇文章:
Elasticsearch-02-es的restapi使用

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苍煜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值