正文
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、访问方式同上