J'ai actuellement crée un script pour Nagios qui récupère des points de
mesures distants par une commande ssh pour les publier.
Mon problème:
- la connection ssh peut être lente à s'établir (voir l'option ssh
ConnectionTimeout)
- le flux peut être figé sans que la connection soit coupée
Mon script peut rester bloqué dans le 'while' si la connection est "bloqué".
Comme Nagios espère un résultat dans les 50 secondes, j'aimerai pouvoir
interrompre ma lecture du "pipe" avant ce délai fatidique pour retourner le
code UNKNOWN... (et éviter le CRITICAL - Service plugin timeout)
Ma question: comment mettre en place facilement un watchdog ou un délai
d'attente en lecture du <NEW> ?
Merci d'avance pour votre aide
Salutations,
--
Yves Martin
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DoMinix
Yves Martin wrote:
Bonjour,
J'ai actuellement crée un script pour Nagios qui récupère des points de mesures distants par une commande ssh pour les publier.
Mon problème: - la connection ssh peut être lente à s'établir (voir l'option ssh ConnectionTimeout) - le flux peut être figé sans que la connection soit coupée
Mon script peut rester bloqué dans le 'while' si la connection est "bloqué".
Comme Nagios espère un résultat dans les 50 secondes, j'aimerai pouvoir interrompre ma lecture du "pipe" avant ce délai fatidique pour retourner le code UNKNOWN... (et éviter le CRITICAL - Service plugin timeout)
Ma question: comment mettre en place facilement un watchdog ou un délai d'attente en lecture du <NEW> ?
Merci d'avance pour votre aide Salutations,
une piste, regarde du coté de SIGALRM perldoc -f alarm perldoc perlipc
@+
-- dominix
Yves Martin wrote:
Bonjour,
J'ai actuellement crée un script pour Nagios qui récupère des points de
mesures distants par une commande ssh pour les publier.
Mon problème:
- la connection ssh peut être lente à s'établir (voir l'option ssh
ConnectionTimeout)
- le flux peut être figé sans que la connection soit coupée
Mon script peut rester bloqué dans le 'while' si la connection est "bloqué".
Comme Nagios espère un résultat dans les 50 secondes, j'aimerai pouvoir
interrompre ma lecture du "pipe" avant ce délai fatidique pour retourner le
code UNKNOWN... (et éviter le CRITICAL - Service plugin timeout)
Ma question: comment mettre en place facilement un watchdog ou un délai
d'attente en lecture du <NEW> ?
Merci d'avance pour votre aide
Salutations,
une piste, regarde du coté de SIGALRM
perldoc -f alarm
perldoc perlipc
J'ai actuellement crée un script pour Nagios qui récupère des points de mesures distants par une commande ssh pour les publier.
Mon problème: - la connection ssh peut être lente à s'établir (voir l'option ssh ConnectionTimeout) - le flux peut être figé sans que la connection soit coupée
Mon script peut rester bloqué dans le 'while' si la connection est "bloqué".
Comme Nagios espère un résultat dans les 50 secondes, j'aimerai pouvoir interrompre ma lecture du "pipe" avant ce délai fatidique pour retourner le code UNKNOWN... (et éviter le CRITICAL - Service plugin timeout)
Ma question: comment mettre en place facilement un watchdog ou un délai d'attente en lecture du <NEW> ?
Merci d'avance pour votre aide Salutations,
une piste, regarde du coté de SIGALRM perldoc -f alarm perldoc perlipc
@+
-- dominix
Yves Martin
DoMinix writes:
une piste, regarde du coté de SIGALRM perldoc -f alarm perldoc perlipc
Merci beaucoup. Voici la solution pour ceux que ça intéresserait:
#!/usr/bin/perl
my $commandTimedout = 0;
eval { $SIG{ALRM} = sub { print "Time out !n"; $commandTimedout = 1; die "command timed out"; };