#!/bin/bash # Script permettant de récupérer le nombre d'opération en fonction de leur statut dans VITAM. # Il tourne interroge ADMIN-ACCESS de manière continue toutes les 10s et affiche le résultat. set -e # PARAMETERS if [ -z $1 ] || [ -z $2 ] || [ -z $3 ] || [ -z $4 ]; then echo "Usage: $0 <URL_ADMIN_ACCESS> <CERT_FILE> <KEY_FILE> <TENANT> <ACCESS_CONTRACT>" echo "Ex: $0 https://10.0.11.1:8444 mycert.pem 7 AC-000001" exit 1 fi URL_ADMIN_ACCESS=$1 CERT_FILE=$2 KEY_FILE=$3 TENANT="X-Tenant-Id: $4" echo $TENANT ACCESS_CONTRACT="X-Access-Contract-Id: $5" echo $ACCESS_CONTRACT # CONFIGURATION API_ADMIN_ACCESS="${URL_ADMIN_ACCESS}/admin-external/v1/operations" CURL_OPTS="-s -XGET --cert ${CERT_FILE} --key ${KEY_FILE} --insecure" # Query conditions QUERY_TOTAL='{}' QUERY_OK='{"statuses":["OK"] }' QUERY_STARTED='{"statuses":["STARTED"]}' QUERY_KO='{"statuses":["KO"]}' QUERY_FATAL='{"statuses":["FATAL"]}' QUERY_COMPLETED='{"states":["COMPLETED"]}' QUERY_RUNNING='{"states":["RUNNING"]}' QUERY_PAUSE='{"states":["PAUSE"]}' ##### MAIN ###### while true; do TOTAL=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_TOTAL" | jq '.["$hits"].total'` OK=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_OK" | jq '.["$hits"].total'` STARTED=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_STARTED" | jq '.["$hits"].total'` KO=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_KO" | jq '.["$hits"].total'` FATAL=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_FATAL" | jq '.["$hits"].total'` COMPLETED=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_COMPLETED" | jq '.["$hits"].total'` RUNNING=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_RUNNING" | jq '.["$hits"].total'` PAUSE=`curl $CURL_OPTS -H "$TENANT" -H "$ACCESS_CONTRACT" -H "Content-Type: application/json" -H "Accept: application/json" $API_ADMIN_ACCESS --data-binary "$QUERY_PAUSE" | jq '.["$hits"].total'` echo `date` "TOTAL:$TOTAL COMPLETED:$COMPLETED RUNNING:$RUNNING PAUSE:$PAUSE --- STARTED:$STARTED OK:$OK KO:$KO FATAL:$FATAL" sleep 10 done #curl -v -XGET --insecure --cert ./vitamui-vitam-external.pem 'https://10.0.11.1:8444/admin-external/v1/operations' -H @header --data-binary '{"statuses":["KO"],"states":["COMPLETED"]}' | python -c 'import sys, json; print json.load(sys.stdin)["$hits"]["total"]'