PostHeaderIcon Monitoring | Superviser vos jobs rundeck

Article publiée le 6 Septembre 2017

I) Configuration de Rundeck

Suites aux précédents tutos sur rundeck: https://journaldunadminlinux.fr/tuto-installez-et-configurez-rundeck-ordonnanceur-opensource/ et https://journaldunadminlinux.fr/tuto-sauvegardez-vos-instances-rundeck/, je continue dans ma lancée en vous fournissant un petit script (très simpliste) vous permettant de monitorer vos jobs via un outil de supervision (zabbix, nagios, etc...)

Dans un premier temps, il est nécessaire de désactiver le délai d'expiration du token permettant de taper sur l'API de rundeck:

  • Éditez le fichier /etc/rundeck/rundeck-config.properties et ajoutez la ligne suivante:

rundeck.api.tokens.duration.max=0

  • Redémarrez Rundeck

service rundeckd restart

Authentifiez vous  avec un compte admin et cliquez sur le bouton "profil" en haut à droite de la page:

 

Créez ensuite un nouveau token en laissant à 0 le champs "Expiration in".

II) Script

Ci-dessous le script qui vous permettra de renvoyer un code erreur de votre job à votre outil de supervision en fonction de son statuts:

#!/bin/bash
URL="<URL de votre instance RUNDECK"
TOKEN="<le token généré>"
FLUX=$2
PROJECT=$1

 

function getLastStatus {
curl -s -H "Accept: application/json" -X GET "$URL/api/20/project/$PROJECT/executions?authtoken=$TOKEN"|jq '.|[ .executions[]|select(.job.name != null)|select(.job.name|contains("'"$FLUX"'"))]|sort_by(.id)|reverse |.[0]|.status'|sed 's/"//g'
}

 

# get the token for quering rundeck
# get the last status of $1
STATUS=$(getLastStatus)

case "$STATUS" in
'aborted')
echo -1
;;
'failed')
echo -1
;;
'succeeded')
echo 0
;;
*) echo 0
esac
exit 0

Pour tester il vous suffit de lancer ce script avec de bons arguments:

./checkJobRundeck.sh <nom du projet rundeck> <nom du job>

 

Il ne vous reste plus qu'à paramétrer votre outil de supervision.

image_print

4 réponses à to “Monitoring | Superviser vos jobs rundeck”

Laisser un commentaire