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


    一: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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122

    3:启动kibanna

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

    3:kibana使用

    1:使用开发工具

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

    2:更多操作

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

  • 相关阅读:
    3年功能测试拿8K,被刚入职的应届生反超,其实你在假装努力
    手机如何免费设置PDF区域高亮?
    数据库下载的不同类型的数据,转换为stata可以读取的panel data的方法归总
    【项目实战:核酸检测平台】第一章 逆向工程
    Vue安装过程及环境配置
    MySQL查询常见错误及其解决方法
    SpringBoot的SSMP案例(后端开发)
    Lecture 6 CPU Scheduling(处理器调度)
    修改angular cli 的默认包管理器
    【C语言从入门到放弃 6】递归,强制类型转换,可变参数和错误处理详解
  • 原文地址:https://blog.csdn.net/qq_41694906/article/details/125508184