Nous utilisons rundeck pour analyser les fichiers journaux pour un service et prenons des mesures en fonction de ce qui s'y trouve. Fondamentalement, pour chaque élément trouvé, pour lequel aucun enregistrement n'existe, un référentiel git est initialisé et quelques points de terminaison de repos sont appelés, mais ce n'est pas le point.
Nous configurons le travail pour qu'il s'exécute comme prévu, disons toutes les deux heures, et pour envoyer une notification en cas d'échec, et en outre pour envoyer une notification en cas de succès uniquement lorsqu'au moins une action a été effectuée (c'est-à-dire le script shell dans la tâche entrée boucle au moins une fois). Le script est écrit de sorte qu'il n'émette une sortie sur stdout que lorsque les éléments à traiter sont trouvés.
Existe-t-il un moyen de déclencher une notification avec cette exigence? Ou un moyen de l'écrire sans écrire un plugin à partir de zéro?
Une solution de contournement possible serait de désactiver le déclencheur de notification d'échec et de faire en sorte que le script retourne différent de zéro en cas de non-action, mais je ne suis pas à l'aise de le faire.
la source
Réponses:
La façon dont je pouvais penser sont:
Écrire votre propre plugin, à partir de la page d'exemple du plugin de notification , adapter l' exemple de code de notification par courrier électronique pourrait être un moyen.
Désactiver les notifications de réussite dans rundeck et gérer la partie de notification de réussite dans votre script lui-même. De cette façon, c'est la responsabilité de votre script d'avertir qu'il a fait quelque chose dans un état normal et c'est toujours la responsabilité de vous avertir que le script a échoué.
la source
J'ai pu contourner ce problème de manière un peu douteuse en changeant la commande en:
Cela conduit la sortie à travers
grep
et échoue s'il y a une sortie du tout, mais lagrep
transmet toujours afin que vous puissiez toujours voir la sortie dans Rundeck en cas d'échec.Un inconvénient est que je crois que vous perdez toutes les lignes vierges mais que nous n'en produisons pas, ce n'est donc pas un gros problème pour nous, et cela nous attendra jusqu'à ce que nous puissions mettre à jour l'application pour terminer avec un code de sortie approprié.
la source