[docs] Generalize docs for Docker env vars (#11581)

The documentation for setting Kibana options with environment variables under
Docker was brittle and difficult to maintain. Rather than list every option,
this change describes the method by which they are defined, thus avoiding the
need to edit the docs in multiple places when a new option is introduced.
This commit is contained in:
Toby McLaughlin 2017-07-20 00:35:13 +10:00 committed by Jonathan Budzenski
parent 396b073001
commit 11cc609aaa

View file

@ -1,12 +1,16 @@
[[docker]]
== Running Kibana on Docker
Docker images for Kibana are available from the Elastic Docker registry.
Docker images for Kibana are available from the Elastic Docker registry. The
base image is https://hub.docker.com/_/centos/[centos:7] and the source code
can be found on
https://github.com/elastic/kibana-docker/tree/{branch}[GitHub].
The images are shipped with https://www.elastic.co/products/x-pack[X-Pack]
installed.
NOTE: https://www.elastic.co/guide/en/x-pack/current/index.html[X-Pack] is
pre-installed in this image. With X-Pack installed, Kibana expects to
connect to an Elasticsearch cluster that is also runnning X-Pack.
connect to an Elasticsearch cluster that is also running X-Pack.
=== Pulling the image
Obtaining Kibana for Docker is as simple as issuing a +docker pull+ command
@ -56,57 +60,27 @@ services:
[[docker-env-config]]
==== Environment variable configuration
Under Docker, Kibana can be configured via environment variables. The following
mappings are available:
Under Docker, Kibana can be configured via environment variables. When
the container starts, a helper process checks the environment for variables that
can be mapped to Kibana command-line arguments.
.Docker Environment Variables
For compatibility with container orchestration systems, these
environment variables are written in all capitals, with underscores as
word separators. The helper translates these names to valid
Kibana setting names.
Some example translations are shown here:
.Example Docker Environment Variables
[horizontal]
**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`
`KIBANA_DEFAULTAPPID`:: `kibana.defaultAppId`
`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`
In general, any setting listed in <<settings>> or
{xpack-ref}/xpack-settings.html[X-Pack Settings] can be configured
with this technique.
These variables can be set with +docker-compose+ like this:
@ -120,7 +94,8 @@ services:
ELASTICSEARCH_URL: http://elasticsearch.example.org
----------------------------------------------------------
Environment variables take precedence over settings configured in `kibana.yml`.
Since environment variables are translated to CLI arguments, they take
precedence over settings configured in `kibana.yml`.
==== Docker defaults
The following settings have different default values when using the Docker image: