diff options
Diffstat (limited to 'src/main/docker/kibana')
-rw-r--r-- | src/main/docker/kibana/Dockerfile.kibana | 2 | ||||
-rwxr-xr-x | src/main/docker/kibana/startup.sh | 27 |
2 files changed, 27 insertions, 2 deletions
diff --git a/src/main/docker/kibana/Dockerfile.kibana b/src/main/docker/kibana/Dockerfile.kibana index 993edd4a2..6df020422 100644 --- a/src/main/docker/kibana/Dockerfile.kibana +++ b/src/main/docker/kibana/Dockerfile.kibana @@ -47,7 +47,7 @@ RUN yum install -y python-requests && yum clean all # ├── visualization-cb896270-c190-11e8-a550-27f2e3138fee.json # └── visualization-d837b120-c190-11e8-a550-27f2e3138fee.json -RUN mkdir /saved-objects/ +RUN mkdir /saved-objects/ && chown kibana:kibana /saved-objects/ USER kibana diff --git a/src/main/docker/kibana/startup.sh b/src/main/docker/kibana/startup.sh index bbd9d45d9..a232706e0 100755 --- a/src/main/docker/kibana/startup.sh +++ b/src/main/docker/kibana/startup.sh @@ -30,9 +30,25 @@ LOG_FILE="/tmp/load.kibana.log" KIBANA_LOAD_CMD="/usr/local/bin/kibana-docker -H 127.0.0.1 -l $LOG_FILE" TIMEOUT=60 WAIT_TIME=2 +LOADED_FLAG=$SAVED_OBJECTS_ROOT/.loaded -if [ -n "$(ls -A ${SAVED_OBJECTS_PATH})" ]; +if [ -f $LOADED_FLAG ]; then + echo "---- Kibana saved objects already restored. Remove $LOADED_FLAG if you want to restore them again." +elif [ -n "$(ls -A ${SAVED_OBJECTS_PATH})" ]; +then + echo "---- Waiting for elasticsearch to be up..." + RES=-1 + PING_TIMEOUT=60 + elastic_url=$(grep elasticsearch.url /usr/share/kibana/config/kibana.yml | cut -d\ -f2) + while [ ! "$RES" -eq "0" ] && [ "$PING_TIMEOUT" -gt "0" ]; + do + curl $elastic_url + RES=$? + sleep $WAIT_TIME + let PING_TIMEOUT=$PING_TIMEOUT-$WAIT_TIME + done + echo "---- Saved objects found, restoring files." $KIBANA_LOAD_CMD & @@ -62,10 +78,19 @@ then # restore files for saved_objects_path in $SAVED_OBJECTS_ROOT/* do + # skip files as we only need directories + [ -f $saved_objects_path ] && continue + echo "Restoring content of $saved_objects_path" $RESTORE_CMD -C $saved_objects_path sleep 1 done + + touch $LOADED_FLAG + if [ "$?" != "0" ]; + then + echo "WARNING: Could not save $LOADED_FLAG, saved objects will be restored on next startup." >&2 + fi # cleanup kill $KIB_PID |