Kibana's Docker image can be obtained from the Docker image warehouse on the Elastic official website. This image is packaged with X-Pack.
X-Pack comes pre-installed in this image. After X-Pack is installed, Kibana will connect to the Elasticsearch cluster that also has X-Pack.
Get image
You can obtain the Kibana Docker image by sending a docker pull command to the Elastic Docker repository.
The command is as follows:
docker pull docker.elastic.co/kibana/kibana:6.0.0
Configuring Kibana in Docker
Docker images provide several ways to configure Kibana. The traditional method is to give a configuration file kibana.yml described in Configuring Kibana . You can also use environment variables to define setting items.
Binding configuration
One way to configure Kibana in Docker is through the binding configuration file kibana.yml. Use the docker-compose tool to bind as follows:
services:
kibana:
image: docker.elastic.co/kibana/kibana:6.0.0
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml
Environment variable settings
In Docker, Kibana can be set through environment variables. The environment variables are as follows:
Table 1. Docker environment variables
Environment Variable |
Kibana Setting |
ELASTICSEARCH_CUSTOMHEADERS |
elasticsearch.customHeaders |
ELASTICSEARCH_PASSWORD |
elasticsearch.password |
ELASTICSEARCH_PINGTIMEOUT |
elasticsearch.pingTimeout |
ELASTICSEARCH_PRESERVEHOST |
elasticsearch.preserveHost |
ELASTICSEARCH_REQUESTHEADERSWHITELIST |
elasticsearch.requestHeadersWhitelist |
ELASTICSEARCH_REQUESTTIMEOUT |
elasticsearch.requestTimeout |
ELASTICSEARCH_SHARDTIMEOUT |
elasticsearch.shardTimeout |
ELASTICSEARCH_SSL_CA |
elasticsearch.ssl.ca |
ELASTICSEARCH_SSL_CERT |
elasticsearch.ssl.cert |
ELASTICSEARCH_SSL_KEY |
elasticsearch.ssl.key |
ELASTICSEARCH_SSL_VERIFY |
elasticsearch.ssl.verify |
ELASTICSEARCH_STARTUPTIMEOUT |
elasticsearch.startupTimeout |
ELASTICSEARCH_URL |
elasticsearch.url |
ELASTICSEARCH_USERNAME |
elasticsearch.username |
KIBANA_DEFAULTAPPID |
kibana.defaultAppId |
KIBANA_INDEX |
kibana.index |
LOGGING_DEST |
logging.dest |
LOGGING_QUIET |
logging.quiet |
LOGGING_SILENT |
logging.silent |
LOGGING_VERBOSE |
logging.verbose |
OPS_INTERVAL |
ops.interval |
PID_FILE |
pid.file |
SERVER_BASEPATH |
server.basePath |
SERVER_HOST |
server.host |
SERVER_MAXPAYLOADBYTES |
server.maxPayloadBytes |
SERVER_NAME |
server.name |
SERVER_PORT |
server.port |
SERVER_SSL_CERT |
server.ssl.cert |
SERVER_SSL_KEY |
server.ssl.key |
XPACK_MONITORING_ELASTICSEARCH_URL |
xpack.monitoring.elasticsearch.url |
XPACK_MONITORING_ELASTICSEARCH_USERNAME |
xpack.monitoring.elasticsearch.username |
XPACK_MONITORING_ELASTICSEARCH_PASSWORD |
xpack.monitoring.elasticsearch.password |
XPACK_MONITORING_ENABLED |
xpack.monitoring.enabled |
XPACK_MONITORING_MAX_BUCKET_SIZE |
xpack.monitoring.max_bucket_size |
XPACK_MONITORING_MIN_INTERVAL_SECONDS |
xpack.monitoring.min_interval_seconds |
XPACK_MONITORING_NODE_RESOLVER |
xpack.monitoring.node_resolver |
XPACK_MONITORING_REPORT_STATS |
xpack.monitoring.report_stats |
XPACK_MONITORING_KIBANA_COLLECTION_ENABLED |
xpack.monitoring.kibana.collection.enabled |
XPACK_MONITORING_KIBANA_COLLECTION_INTERVAL |
xpack.monitoring.kibana.collection.interval |
XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED |
xpack.monitoring.ui.container.elasticsearch.enabled |
XPACK_SECURITY_ENABLED |
xpack.security.enabled |
XPACK_SECURITY_COOKIENAME |
xpack.security.cookieName |
XPACK_SECURITY_ENCRYPTIONKEY |
xpack.security.encryptionKey |
XPACK_SECURITY_SECURECOOKIES |
xpack.security.secureCookies |
XPACK_SECURITY_SESSIONTIMEOUT |
xpack.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.url |
http://elasticsearch:9200 |
elasticsearch.username |
elastic |
elasticsearch.password |
changeme |
xpack.monitoring.ui.container.elasticsearch.enabled |
true |
这些配置项的默认值在 kibana.yml 中设置。可以通过 自定义 kibana.yml 或者 环境变量覆盖这些默认值。