Kibana 7x配置与对外访问

前言

我们在前面安装&部署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部署目录:
1
bash复制代码tar -zxf kibana-7.7.0-linux-x86_64.tar.gz
  1. 解压完成,目录名称为 kibana-7.7.0-linux-x86_64,如有需要,也可更名为kibana:
1
bash复制代码mv kibana-7.7.0-linux-x86_64 kibana
  1. 进入kibana目录,按需配置;
  2. 开启Kibana服务;
  3. 打开浏览器输入地址,进行访问。

Kibana配置文件

Kibana配置文件路径:

config/kibana.yml

配置内容及说明

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
123
124
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
1
yaml复制代码server.port: 5601
  • 主机地址配置,默认是localhost,远程不能连接;也可以配置本机局域网IP;配置0.0.0.0,表示所有远程机器可以连接:
1
2
yaml复制代码#server.host: "localhost"
server.host: "0.0.0.0"
  • Kibana配置Elasticsearch实例,该地址和端口必须与Elasticsearch实例中配置的network.hosthttp.port保持一致:
1
yaml复制代码elasticsearch.hosts: ["http://localhost:9201"]
  • 配置Elasticsearch访问的用户名和密码:
1
2
yaml复制代码elasticsearch.username: "elastic"
elasticsearch.password: "123456"
  • Kibana国际化配置,默认en;汉化配置为zh-CN:
1
yaml复制代码i18n.locale: "en"

Kibana启动

  • 窗口启动:
1
bash复制代码./bin/kibana
  • 后台启动(使用nohup):
1
bash复制代码nohup ./bin/kibana &

Kibana对外访问

  1. 配置server.host,配置局域网IP或者0.0.0.0
1
yaml复制代码server.host: "0.0.0.0"
  1. 关闭防火墙(使用root用户操作),也可以通过nginx进行代理:
1
2
3
4
bash复制代码# 关闭防火墙
systemctl stop firewalld
# 查看防火墙状态
systemctl status firewalld
  1. 打开浏览器,输入http://192.168.234.129:5601
  2. 如设置了密码,访问地址之后,输入用户名密码。

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%