Kibana 的 Docker 镜像可从 Elastic Docker 注册中心获得。 基本映像是 ubuntu:20.04。www.docker.elastic.co 上提供了所有已发布的 Docker 图像和标签的列表。 源代码在 GitHub 中。
这些镜像包含免费和订阅功能。 开始 30 天试用以试用所有功能。
如果你还没有安装好自己的 Elasticsearch,你可以参考之前的文章 “Elasticsearch:验证 Elasticsearch Docker 镜像并安装 Elasticsearch”。
在 Docker 上运行 Kibana 进行开发
1)启动一个用于开发或测试的 Elasticsearch 容器:
注意:如果你已经安装好 Elasticsearch,你可以忽略下面的这个步骤。
- 为 Elasticsearch 和 Kibana 创建一个新的 Docker 网络:
docker network create elastic
- 拉取 Elasticsearch Docker 镜像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.8.0
- 可选:验证 Elasticsearch Docker 镜像签名:
wget https://artifacts.elastic.co/cosign.pub
cosign verify --key cosign.pub docker.elastic.co/kibana/kibana:8.8.0
该步骤详见 Elasticsearch:验证 Elasticsearch Docker 镜像并安装 Elasticsearch
- 在 Docker 中启动 Elasticsearch:
docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t docker.elastic.co/elasticsearch/elasticsearch:8.8.0
首次启动 Elasticsearch 时,会自动进行以下安全配置:
- 为传输层和 HTTP 层生成证书和密钥。
- 传输层安全性 (TLS) 配置设置写入 elasticsearch.yml。
- 为 elastic 用户生成密码。
- 为 Kibana 生成注册令牌。
注意:你可能需要在终端中向后滚动一点才能查看密码和注册令牌。
2)复制生成的密码和注册令牌并将它们保存在安全位置。 这些值仅在你首次启动 Elasticsearch 时显示。 你将使用这些将 Kibana 注册到你的 Elasticsearch 集群并登录。
3)在新的终端会话中,启动 Kibana 并将其连接到你的 Elasticsearch 容器:
docker pull docker.elastic.co/kibana/kibana:8.8.0
docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.8.0
- 拉取 Kibana Docker 镜像:
docker pull docker.elastic.co/kibana/kibana:8.8.0
- 可选:验证 Kibana Docker 镜像签名:
wget https://artifacts.elastic.co/cosign.pub
cosign verify --key cosign.pub docker.elastic.co/kibana/kibana:8.8.0
该步骤详见 Elasticsearch:验证 Elasticsearch Docker 镜像并安装 Elasticsearch
- 在 Docker 中启动 Kibana:
docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.8.0
当你启动 Kibana 时,一个唯一的链接会输出到你的终端。
生成密码和注册令牌
如果需要重置 elastic 用户或其他内置用户的密码,请运行 elasticsearch-reset-password 工具。 该工具位于 Docker 容器的 Elasticsearch bin 目录中。
例如,重置 elastic 用户的密码:
docker exec -it es-node01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
如果您需要为 Kibana 或 Elasticsearch 节点生成新的注册令牌,请运行 elasticsearch-create-enrollment-token 工具。 该工具位于 Docker 容器的 Elasticsearch bin 目录中。
例如,要为 Kibana 生成一个新的注册令牌:
docker exec -it es-node01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
移除 Docker 容器
要删除容器及其网络,请运行:
docker network rm elastic
docker rm es-node01
docker rm kib-01
在 Docker 上配置 Kibana
Docker 镜像提供了多种配置 Kibana 的方法。 传统方法是提供一个 kibana.yml 文件,如配置 Kibana 中所述,但也可以使用环境变量来定义设置。
绑定安装配置
在 Docker 上配置 Kibana 的一种方法是通过绑定安装提供 kibana.yml。 使用 docker-compose,可以像这样指定绑定挂载:
version: '2'
services:
kibana:
image: docker.elastic.co/kibana/kibana:8.8.0
volumes:
- ./kibana.yml:/usr/share/kibana/config/kibana.yml
保留 Kibana 密钥库
默认情况下,Kibana 会在启动时自动生成用于安全设置的密钥库文件。 要保留您的安全设置,请使用 kibana-keystore 实用程序将密钥库的父目录绑定挂载到容器。 例如:
docker run -it --rm -v full_path_to/config:/usr/share/kibana/config -v full_path_to/data:/usr/share/kibana/data docker.elastic.co/kibana/kibana:8.8.0 bin/kibana-keystore create
docker run -it --rm -v full_path_to/config:/usr/share/kibana/config -v full_path_to/data:/usr/share/kibana/data docker.elastic.co/kibana/kibana:8.8.0 bin/kibana-keystore add test_keystore_setting
环境变量配置
在 Docker 下,可以通过环境变量配置 Kibana。 当容器启动时,辅助进程会检查环境中是否存在可映射到 Kibana 命令行参数的变量。
为了兼容容器编排系统,这些环境变量全部大写,下划线作为单词分隔符。 帮助程序将这些名称转换为有效的 Kibana 设置名称。
注意:通过 ps 命令可以看到你包含在环境变量中的所有信息,包括敏感信息。
此处显示了一些示例翻译:
环境变量 | Kibana 设置 |
---|---|
SERVER_NAME | server.name |
SERVER_BASEPATH | server.basePath |
ELASTICSEARCH_HOSTS | elasticsearch.hosts |
通常,配置 Kibana 中列出的任何设置都可以使用此技术进行配置。
提供数组选项可能很棘手。 以下示例显示了为 ELASTICSEARCH_HOSTS 提供数组的语法。
这些变量可以像这样用 docker-compose 设置:
version: '2'
services:
kibana:
image: docker.elastic.co/kibana/kibana:8.8.0
environment:
SERVER_NAME: kibana.example.org
ELASTICSEARCH_HOSTS: '["http://es01:9200","http://es02:9200","http://es03:9200"]'
由于环境变量被转换为 CLI 参数,因此它们优先于 kibana.yml 中配置的设置。
Docker 默认值
使用 Docker 镜像时,以下设置具有不同的默认值:
server.host | "0.0.0.0" |
server.shutdownTimeout | "5s" |
elasticsearch.hosts | http://elasticsearch:9200 |
monitoring.ui.container.elasticsearch.enabled | true |
这些设置在默认的 kibana.yml 中定义。 可以使用自定义 kibana.yml 或通过环境变量覆盖它们。文章来源:https://www.toymoban.com/news/detail-522914.html
重要:如果用自定义版本替换 kibana.yml,如果要保留它们,请务必将默认值复制到自定义文件。 否则,它们将被新文件 “屏蔽”。文章来源地址https://www.toymoban.com/news/detail-522914.html
到了这里,关于Kibana:使用 Docker 安装 Kibana - 8.x的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!