簡體   English   中英

如何使用 docker-compose 文件導入 Kibana 儀表板?

[英]How to import Kibana dashboard using docker-compose file?

我使用 cURL 命令導出了 Kibana 儀表板:

curl -XGET localhost:5601/api/kibana/dashboards/export?dashboard=[uuid] > my-dashboards.json

現在我想使用docker-compose導入這個儀表板,但我收到這個錯誤:

test.kibana           | Warning: Couldn't read data from file "my-dashboards.json", this makes an 
test.kibana           | Warning: empty POST.
test.kibana           |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
test.kibana           |                                  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed connect to 0.0.0.0:5601; Connection refused

這是 docker-compose 文件:

version: '2'
services:
  elasticsearch-docker:
    image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3
    container_name: test.elastic
    ports:
      - 9200:9200
      - 9300:9300
    volumes:
      - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
  kibana:
    image: docker.elastic.co/kibana/kibana:5.6.3
    container_name: test.kibana
    command: curl -XPOST test.elastic:5601/api/kibana/dashboards/import -H 'kbn-xsrf:true' -H 'Content-type:application/json' -d @my-dashboards.json
    ports:
      - 5601:5601
    depends_on: 
      - elasticsearch-docker
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml
      - ./my-dashboards.json:/usr/share/kibana/config/my-dashboards.json

在 Elasticsearch 和 Kibana 都啟動后,從主機在具有 JSON 轉儲的目錄中運行curl命令。

以編程方式告訴兩者都已啟動是非常棘手的。 原則上,您可以通過編寫一個 ENTRYPOINT 腳本來執行類似的操作,該腳本在啟動實際服務之前進行首次設置,但如果配置在文件系統中(IIRC Kibana 實際上將此類數據存儲在 ES 中),則更容易。 如果你通讀了一遍,說官方的mysql鏡像是這樣做的,它涉及啟動服務,等待它真正出現,進行初始化,然后在最后exec "$@"之前再次停止它。

你不能通過 Docker Compose 做所有事情,如果你的第一次設置依賴於主機本地文件和實際運行的服務,那么不嘗試硬塞進去可能更容易。

正在執行的 curl 命令在容器的工作目錄中找不到my-dashboards.json 您可以通過在撰寫文件中設置working_dir屬性來轉到路徑/usr/share/kibana/config ,如下所示:

 ...
 kibana:
    image: docker.elastic.co/kibana/kibana:5.6.3
    container_name: test.kibana
    working_dir: /usr/share/kibana/config
 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM