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 或者 环境变量覆盖这些默认值。