Goal: Load in Kibana saved object when starting Elastic Stack from Docker-Compose.
我有一个来自 Kibana 的“export.json”对象,其中包含我的默认索引、10 多个可视化和仪表板设置。我能够从 Docker-Compose 成功启动 Elastic Stack 并手动加载对象,但它不会在容器启动时自动加载它。
我需要找到一种方法来以编程方式加载此对象,因为我将有多个对象可以根据运行的容器进行部署。换句话说(使用伪配置):
test1
container a # code to run
container b # code send metrics
test1_export.json # display metrics
test2
container c # code to run
container d # code send metrics
test2_export.json # display metrics
使用这些定义:
> run test1
将执行两个 Docker-Compose 文件,一个用于运行代码,另一个用于运行 Elastic Stack。后者还需要加载 export.json 对象。
到目前为止我尝试了什么
此方法被躲避到 this config file :
Kibana uses an index in Elasticsearch to store saved searches, visualizations and dashboards. Kibana creates a new index if the index doesn't already exist.
同样来自 here :
Kibana keeps all its state in Elasticsearch, specifically in the .kibana index. There should be no need to preserve any state on the local file system of the Kibana containers.
但是,每当我重新启动容器时,Kibana 都会从头开始。
直接取自此 Kibana 用户指南,我尝试将 kibana.yml 配置文件存储在容器中。但是,此语法在启动时会破坏 Kibana。这是两个文件:
kibana.yml
kibana.index: ".kibana"
docker-compose.yml
version: '2'
services:
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:5.5.1
ports:
- "9200:9200"
expose:
- 9200
restart: unless-stopped
environment:
- "transport.host=127.0.0.1"
- "xpack.security.enabled=false"
volumes:
- "./elasticsearch/data/:/usr/share/elasticsearch/data"
logstash:
container_name: logstash
build: ../../modules/logstash
image: logstash:5.5.1
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:5.5.1
restart: unless-stopped
ports:
- "5601:5601"
depends_on:
- elasticsearch
environment:
- "ELASTICSEARCH_URL: http://elasticsearch:9200"
expose:
- 5601
volumes:
- "./kibana.yml:/usr/share/kibana/config/kibana.yml"
我的问题:
- 我现在在做什么是不正确的(只是为了保留 Kibana)?
- 如何使用 Docker-Compose 加载“export.json”文件?理想情况下,我希望能够在 Docker-Compose 中为 Kibana 查找对象的路径定义一个卷。
我的环境是Linux/Centos7。
最佳答案
我建议将 ELK 带到这个站点作为指南。我已经安装了这个网站,我非常满意。
关于docker - Kibana 和 Docker-Compose : Automatically load in saved object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47024399/