Kibana是一个开源分析和可视化平台,旨在与 Elasticsearch 配合使用。您可以使用 Kibana 搜索、查看存储在 Elasticsearch 索引中的数据并与之交互。您可以轻松地执行高级数据分析并在各种图表、表格和地图中可视化您的数据。
传统方式
1、下载kibana
https://artifacts.elastic.co/downloads/kibana/kibana-7.15.2-linux-x86_64.tar.gz
2、解压缩移动重命名
[root@bogon ~]# tar -zxvf kibana-7.15.2-linux-x86_64.tar.gz
#移动
[root@bogon ~]# mv kibana-7.15.2-linux-x86_64 /usr/local/kibana
3、修改配置文件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.
#链接地址
server.host: "192.168.139.161"
# 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
# Specifies the public URL at which Kibana is available for end users. If
# `server.basePath` is configured this URL should end with the same basePath.
#server.publicBaseUrl: ""
# The maximum payload size in bytes for incoming server requests.
#server.maxPayload: 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.
#es地址
elasticsearch.hosts: ["http://192.168.139.160:9200","http://192.168.139.161:9200","http://192.168.139.162:9200"]
# 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.
#如果elasticsearch设置了密码,请打开此处的注释,并填写自己的密码
elasticsearch.username: "kibana_system"
elasticsearch.password: "oNXyGWsWHLC3VllVb4Qb"
# Kibana can also authenticate to Elasticsearch via "service account tokens".
# If may use this token instead of a username/password.
# elasticsearch.serviceAccountToken: "my_token"
# 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
# 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: /run/kibana/kibana.pid
# Enables you to 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 .
#中文显示
i18n.locale: "zh-CN"
4、授权用户
chown -R snail_es.es /usr/local/kibana
5、启动
[snail_es@bogon kibana]$ ./bin/kibana
#后台启动
[snail_es@bogon kibana]$ nohup ./bin/kibana &
6、 验证
浏览器输入 http://192.168.139.161:5601/
可以执行es指令如下
#创建索引
PUT /test
#查询索引
GET /test;
#新增user
PUT /test/user/1
{
"name":"snail",
"sex":0,
"age":22
}
PUT /test/user/2
{
"name":"周依琳",
"sex":0,
"age":22
}
PUT /test/user/3
{
"name":"周结论",
"sex":0,
"age":22
}
PUT /test/user/4
{
"name":"周蜗牛",
"sex":0,
"age":22
}
PUT /test/user/5
{
"name":"牛粪粪",
"sex":0,
"age":22
}
GET /test/user/1
#id查询
GET /test/user/_mget
{
"ids":["1","2"]
}
#精确查询
GET test/user/_search
{
"query": {
"term": {
"name": "snail"
}
}
}
#模糊匹配
GET /test/user/_search
{
"from": 0,
"size": 2,
"query": {
"match": {
"name": "周"
}
}
}
Docker方式
1、拉取镜像
[root@bogon config]# docker pull docker.elastic.co/kibana/kibana:7.15.2
2、创建挂载目录
[root@bogon ~]# mkdir -p /data/kibana/conf
3、配置文件kibana.yml
# Default Kibana configuration for docker target
server.host: "0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://192.168.139.160.147:9200","http://192.168.139.161:9200","http://192.168.139.162:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
#elasticsearch.username: "elastic"
#elasticsearch.password: "123456"
#中文
i18n.locale: "zh-CN"
4、启动容器
docker run -d \
--name=kibana \
--restart=always \
-p 5601:5601 \
-v /data/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml \
docker.elastic.co/kibana/kibana:7.15.2
5、访问方式同上