Kibana 7.x配置与对外访问

前言

我们在前面安装&部署Elasticsearch 7.x,这篇文章了解Elasticsearch中的可视工具Kibana,对存储的文档数据进行可视化。

环境配置

  • CentOS 7+
  • Elasticsearch 7.7.0,需要提前启动;
  • Kibana 7.7.0

操作步骤

Kibana相关配置和操作使用普通用户权限;

  1. 下载Kibana 7.7.0,要与Elasticsearch版本保持一致;

  2. 下载文件名为kibana-7.7.0-linux-x86_64.tar.gz压缩包文件,上传至服务器目录;

  3. 解压到kibana部署目录:

    tar -zxf kibana-7.7.0-linux-x86_64.tar.gz
    
  4. 解压完成,目录名称为kibana-7.7.0-linux-x86_64,如有需要,也可更名为kibana:

    mv kibana-7.7.0-linux-x86_64 kibana
    
  5. 进入kibana目录,按需配置;

  6. 开启Kibana服务;

  7. 打开浏览器输入地址,进行访问。

Kibana配置文件

Kibana配置文件路径:

config/kibana.yml

配置内容及说明

# Kibana is served by a back end server. This setting specifies the port to use.
# Kibana对外开放端口,默认是5601
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.
# Kibana绑定host,默认是localhost,远程及其不能连接;也可以配置本机局域网IP;0.0.0.0,表示所有远程机器可以连接
server.host: "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: "your-hostname"

# The URLs of the Elasticsearch instances to use for all your queries.
# Kibana监听elasticsearch实例地址,数组,可配置多个(集群)
elasticsearch.hosts: ["http://localhost:9201"]

# 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在Elasticsearch中的索引
#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.
# 配置访问elasticsearch实例的用户名和密码
#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.
# SSL配置
#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.
# Kibana进程的pid输出路径
#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: "en"

关键配置说明

  • 特殊端口配置,默认是5601

    server.port: 5601
    
  • 主机地址配置,默认是localhost,远程不能连接;也可以配置本机局域网IP;配置0.0.0.0,表示所有远程机器可以连接:

    #server.host: "localhost"
    server.host: "0.0.0.0"
    
  • Kibana配置Elasticsearch实例,该地址和端口必须与Elasticsearch实例中配置的network.hosthttp.port保持一致:

    elasticsearch.hosts: ["http://localhost:9201"]
    
  • 配置Elasticsearch访问的用户名和密码:

    elasticsearch.username: "elastic"
    elasticsearch.password: "123456"
    
  • Kibana国际化配置,默认en;汉化配置为zh-CN:

    i18n.locale: "en"
    

Kibana启动

  • 窗口启动:
    ./bin/kibana
    
  • 后台启动(使用nohup):
    nohup ./bin/kibana &
    

Kibana对外访问

  1. 配置server.host,配置局域网IP或者0.0.0.0

    server.host: "0.0.0.0"
    
  2. 关闭防火墙(使用root用户操作),也可以通过nginx进行代理:

    # 关闭防火墙
    systemctl stop firewalld
    # 查看防火墙状态
    systemctl status firewalld
    
  3. 打开浏览器,输入http://192.168.234.129:5601

  4. 如设置了密码,访问地址之后,输入用户名密码。

上一篇:ELK启动命令


下一篇:Elasticsearch入门与.net交互-安装kibana