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 可以通过环境变量的方法设置。环境变量如下:
Table 1. Docker 环境变量
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 或者 环境变量覆盖这些默认值。