From 211e65324b42e4bb81dd5668a5673cc6806e8e59 Mon Sep 17 00:00:00 2001 From: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Date: Wed, 24 Apr 2024 16:46:28 +0200 Subject: [PATCH] Copy back from nwaku-compose - an enhanced version of convenient node health check script --- scripts/chkhealth.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/scripts/chkhealth.sh b/scripts/chkhealth.sh index 77f13fcd74..ea8721137c 100755 --- a/scripts/chkhealth.sh +++ b/scripts/chkhealth.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # optional argument to specgify the ip address -ip_address=$1 +ip_address="localhost:8645" plain_text_out=false # Parse command line arguments @@ -29,8 +29,6 @@ set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters # Check if an IP address is provided as an argument if [[ -n "$1" ]]; then ip_address="$1" -else - ip_address="localhost:8645" fi # check if curl is available @@ -40,16 +38,24 @@ then exit 1 fi -response=$(curl -s GET http://${ip_address}/health) +response=$(curl --connect-timeout 6 -s GET http://${ip_address}/health) + +if [[ $? -ne 0 ]]; then + echo -e "$(date +'%H:%M:%S') - Node may not be running or not reachable at http://${ip_address}\n" + exit 1 +fi if [[ -z "${response}" ]]; then - echo -e "$(date +'%H:%M:%S')\tnode health status is: unknown\n" + echo -e "$(date +'%H:%M:%S') - node health status is: unknown\n" exit 1 fi if ! command -v jq &> /dev/null || [[ "$plain_text_out" = true ]]; then - echo -e "$(date +'%H:%M:%S')\tnode health status is: ${response}\n" + echo -e "$(date +'%H:%M:%S') - node health status is: ${response}\n" else - echo -e "$(date +'%H:%M:%S')\tnode health status is:\n" - echo "${response}" | jq . + echo -e "$(date +'%H:%M:%S') - node health status is:\n" + echo "${response}" | jq . 2>/dev/null + if [[ $? -ne 0 ]]; then + echo -e "${response}" + fi fi