当前位置: 首页 > 文档资料 > Kibana 中文文档 >

Docker 容器中运行 Kibana

优质
小牛编辑
115浏览
2023-12-01

Kibana 的 Docker 镜像可以从 Elastic 官网上的 Docker 镜像仓库获取。该镜像是随 X-Pack 一起打包的。

注意:X-Pack 在这个 image 中是预装好的。安装了 X-Pack,Kibana 会去连接同样带有 X-Pack 的 Elasticsearch 集群。

获取镜像

向 Elastic Docker 仓库发送一条 docker pull 命令就可以获取 Kibana Docker 镜像。

命令如下:

docker pull docker.elastic.co/kibana/kibana:6.0.0

配置 Docker 中的 Kibana

Docker 镜像提供了几种方法来配置 Kibana。传统的方法是给出一个 配置 Kibana 中描述的配置文件 kibana.yml ,也可以使用环境变量来定义设置项。

绑定配置

一种配置 Docker 中 Kibana 的方法是通过绑定配置文件 kibana.yml 。使用 docker-compose 工具,向下面这样绑定:

services:
  kibana:
    image: docker.elastic.co/kibana/kibana:6.0.0
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml

环境变量设置编辑

在 Docker 中,Kibana 可以通过环境变量的方法设置。环境变量如下:

表 1. Docker 环境变量

Environment VariableKibana Setting
ELASTICSEARCH_CUSTOMHEADERSelasticsearch.customHeaders
ELASTICSEARCH_PASSWORDelasticsearch.password
ELASTICSEARCH_PINGTIMEOUTelasticsearch.pingTimeout
ELASTICSEARCH_PRESERVEHOSTelasticsearch.preserveHost
ELASTICSEARCH_REQUESTHEADERSWHITELISTelasticsearch.requestHeadersWhitelist
ELASTICSEARCH_REQUESTTIMEOUTelasticsearch.requestTimeout
ELASTICSEARCH_SHARDTIMEOUTelasticsearch.shardTimeout
ELASTICSEARCH_SSL_CAelasticsearch.ssl.ca
ELASTICSEARCH_SSL_CERTelasticsearch.ssl.cert
ELASTICSEARCH_SSL_KEYelasticsearch.ssl.key
ELASTICSEARCH_SSL_VERIFYelasticsearch.ssl.verify
ELASTICSEARCH_STARTUPTIMEOUTelasticsearch.startupTimeout
ELASTICSEARCH_URLelasticsearch.url
ELASTICSEARCH_USERNAMEelasticsearch.username
KIBANA_DEFAULTAPPIDkibana.defaultAppId
KIBANA_INDEXkibana.index
LOGGING_DESTlogging.dest
LOGGING_QUIETlogging.quiet
LOGGING_SILENTlogging.silent
LOGGING_VERBOSElogging.verbose
OPS_INTERVALops.interval
PID_FILEpid.file
SERVER_BASEPATHserver.basePath
SERVER_HOSTserver.host
SERVER_MAXPAYLOADBYTESserver.maxPayloadBytes
SERVER_NAMEserver.name
SERVER_PORTserver.port
SERVER_SSL_CERTserver.ssl.cert
SERVER_SSL_KEYserver.ssl.key
XPACK_MONITORING_ELASTICSEARCH_URLxpack.monitoring.elasticsearch.url
XPACK_MONITORING_ELASTICSEARCH_USERNAMExpack.monitoring.elasticsearch.username
XPACK_MONITORING_ELASTICSEARCH_PASSWORDxpack.monitoring.elasticsearch.password
XPACK_MONITORING_ENABLEDxpack.monitoring.enabled
XPACK_MONITORING_MAX_BUCKET_SIZExpack.monitoring.max_bucket_size
XPACK_MONITORING_MIN_INTERVAL_SECONDSxpack.monitoring.min_interval_seconds
XPACK_MONITORING_NODE_RESOLVERxpack.monitoring.node_resolver
XPACK_MONITORING_REPORT_STATSxpack.monitoring.report_stats
XPACK_MONITORING_KIBANA_COLLECTION_ENABLEDxpack.monitoring.kibana.collection.enabled
XPACK_MONITORING_KIBANA_COLLECTION_INTERVALxpack.monitoring.kibana.collection.interval
XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH _ENABLEDxpack.monitoring.ui.container.elasticsearch.enabled
XPACK_SECURITY_ENABLEDxpack.security.enabled
XPACK_SECURITY_COOKIENAMExpack.security.cookieName
XPACK_SECURITY_ENCRYPTIONKEYxpack.security.encryptionKey
XPACK_SECURITY_SECURECOOKIESxpack.security.secureCookies
XPACK_SECURITY_SESSIONTIMEOUTxpack.security.sessionTimeout

这些变量可以像下面这样,用 docker-compose 设置:

services:
  kibana:
    image: docker.elastic.co/kibana/kibana:6.0.0
    environment:
      SERVER_NAME: kibana.example.org
      ELASTICSEARCH_URL: http://elasticsearch.example.org

优先使用环境变量,然后是配置文件 kibana.yml 中的配置项。

Docker 默认值编辑

使用 Docker 时,下面的配置项有不同的默认值 :

server.host"0"
elasticsearch.urlhttp://elasticsearch:9200
elasticsearch.usernameelastic
elasticsearch.passwordchangeme
xpack.monitoring.ui.container.elasticsearch.enabledtrue

这些配置项的默认值在 kibana.yml 中设置。可以通过 自定义 kibana.yml 或者 环境变量覆盖这些默认值。