Surveillance nagios modem hylafax
Fermé
neimad01
Messages postés
6
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
21 janvier 2015
-
21 janv. 2015 à 14:44
neimad01 Messages postés 6 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 21 janvier 2015 - 21 janv. 2015 à 14:47
neimad01 Messages postés 6 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 21 janvier 2015 - 21 janv. 2015 à 14:47
A voir également:
- Surveillance nagios modem hylafax
- Logiciel caméra de surveillance pour pc gratuit en français - Télécharger - Sécurité
- Modem usb samsung ne fonctionne pas ✓ - Forum Logiciels
- Webcam surveillance - Guide
- Configuration modem djaweb - Forum Réseau
- Que doit-elle faire pour avoir une box (modem) et pouvoir se connecter à internet ? - Forum Mail
1 réponse
neimad01
Messages postés
6
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
21 janvier 2015
21 janv. 2015 à 14:47
21 janv. 2015 à 14:47
Voici le script check_lignes.sh qui peut répondre à la question:
#!/bin/sh
#
#
# Script Nagios de surveillance de l'envoi des fax sur une ligne serie donnee pour le jour courant.
# A lancer en fin de journee
#
#======================================================================================================
# Copyright Damien BUNEL 2015. damien.bunel@groupelcd.com
# Licence: http://www.gnu.org/licenses/gpl-3.0.txt
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. 1
#
#
#** Fonction qui compte les envois OK et PASOK
#
statEnvoi() {
AFicTrace="$1"; shift
ADate="$1"; shift
ALigne="$1"; shift
[ "A$FicTrace" = "A" ] && echo "0:0" && exit 0
[ ! -f $FicTrace ] && echo "0:0" && exit 0
[ "A$Ligne" = "A" ] && echo "0:0" && exit 0
#
#***** Initialisation des compteurs
#
OK=0
export OK
PASOK=0
export PASOK
#
#***** Parcours du fichier et compte les envois corrects et ceux en erreur
#
IFSOLD="$IFS"
IFS=`echo -e "\011"`
grep "^$ADate" $AFicTrace | grep SEND | grep $ALigne | (while read A B C D E F G H I J K L M Status Reste
do
if [ "A$Status" = "A\"\"" ]
then
OK=`expr $OK + 1`
else
PASOK=`expr $PASOK + 1`
fi
done; echo "$OK:$PASOK")
IFS="$IFSOLD"
}
#
#** Initialisation des variables globales et des parametres
#
FicTrace='/etc/hylafax/etc/xferfaxlog'
Ligne="SEND"
LIBELLE="ETAT ENVOIS"
#**** Par defaut Warning si plus de 50% d'erreur, Critic si plus de 80% d'erreur
WARNING="0:60"
CRITICAL="0:90"
MinW=0
MaxW=50
MinC=0
MaxC=80
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
#
#***** Traitement des parametres du script
#
while [ $# -gt 0 ]
do
case $1 in
-l) shift; LIBELLE="$1";;
-t) shift; Ligne="$1";;
-f) shift; FicTrace="$1";;
-w) shift; WARNING="$1";;
-c) shift; CRITICAL="$1";;
esac
shift
done
if [ ! -f $FicTrace ]
then
echo "$LIBELLE UNKNOWN - $FicTrace inexistant"
exit $STATE_UNKNOWN
fi
#
#*** Recupere la date du jour au format xferfaxlog
#
LDate=`date +'%m/%d/%y'`
#
#***** Decompose $WARNING pour obtenir MinW et MaxW
#
IFSOLD="$IFS"
IFS=":"
set $WARNING
IFS="$IFSOLD"
MinW="$1"
[ "A$MinW" = "A" ] && MinW=0
if [ $# -gt 1 ]
then
MaxW="$2"
fi
#
#***** Decompose $CRITICAL pour obtenir MinC et MaxC
#
IFSOLD="$IFS"
IFS=":"
set $CRITICAL
IFS="$IFSOLD"
MinC="$1"
[ "A$MinC" = "A" ] && MinC=0
if [ $# -gt 1 ]
then
MaxC="$2"
fi
#
#*** Compte les envois reussi et en echec
#
LRetour=`statEnvoi $FicTrace $LDate $Ligne`
IFSOLD="$IFS"
IFS=":"
set $LRetour
IFS="$IFSOLD"
OK="$1"; export OK
PASOK="$2"; export PASOK
#
#*** Si pas d'envoi, retourne WARNING
#
if [ $OK -eq 0 -a $PASOK -eq 0 ]
then
echo "$LIBELLE WARNING - OK=$OK, PASOK=$PASOK"
exit $STATE_WARNING
fi
#
#*** Si que des echecs, retourne CRITICAL
#
if [ $OK -eq 0 ]
then
echo "$LIBELLE CRITICAL - OK=$OK, PASOK=$PASOK"
exit $STATE_CRITICAL
fi
Ratio=`expr \( $PASOK \* 100 \) / \( $OK + $PASOK \)`
if [ $Ratio -lt $MinC -o $Ratio -gt $MaxC ]
then
echo "$LIBELLE CRITICAL - OK=$OK, PASOK=$PASOK"
exit $STATE_CRITICAL
fi
if [ $Ratio -lt $MinW -o $Ratio -gt $MaxW ]
then
echo "$LIBELLE WARNING - OK=$OK, PASOK=$PASOK"
exit $STATE_WARNING
fi
echo "$LIBELLE OK - OK=$OK, PASOK=$PASOK"
exit $STATE_OK
#!/bin/sh
#
#
# Script Nagios de surveillance de l'envoi des fax sur une ligne serie donnee pour le jour courant.
# A lancer en fin de journee
#
#======================================================================================================
# Copyright Damien BUNEL 2015. damien.bunel@groupelcd.com
# Licence: http://www.gnu.org/licenses/gpl-3.0.txt
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. 1
#
#
#** Fonction qui compte les envois OK et PASOK
#
statEnvoi() {
AFicTrace="$1"; shift
ADate="$1"; shift
ALigne="$1"; shift
[ "A$FicTrace" = "A" ] && echo "0:0" && exit 0
[ ! -f $FicTrace ] && echo "0:0" && exit 0
[ "A$Ligne" = "A" ] && echo "0:0" && exit 0
#
#***** Initialisation des compteurs
#
OK=0
export OK
PASOK=0
export PASOK
#
#***** Parcours du fichier et compte les envois corrects et ceux en erreur
#
IFSOLD="$IFS"
IFS=`echo -e "\011"`
grep "^$ADate" $AFicTrace | grep SEND | grep $ALigne | (while read A B C D E F G H I J K L M Status Reste
do
if [ "A$Status" = "A\"\"" ]
then
OK=`expr $OK + 1`
else
PASOK=`expr $PASOK + 1`
fi
done; echo "$OK:$PASOK")
IFS="$IFSOLD"
}
#
#** Initialisation des variables globales et des parametres
#
FicTrace='/etc/hylafax/etc/xferfaxlog'
Ligne="SEND"
LIBELLE="ETAT ENVOIS"
#**** Par defaut Warning si plus de 50% d'erreur, Critic si plus de 80% d'erreur
WARNING="0:60"
CRITICAL="0:90"
MinW=0
MaxW=50
MinC=0
MaxC=80
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
#
#***** Traitement des parametres du script
#
while [ $# -gt 0 ]
do
case $1 in
-l) shift; LIBELLE="$1";;
-t) shift; Ligne="$1";;
-f) shift; FicTrace="$1";;
-w) shift; WARNING="$1";;
-c) shift; CRITICAL="$1";;
esac
shift
done
if [ ! -f $FicTrace ]
then
echo "$LIBELLE UNKNOWN - $FicTrace inexistant"
exit $STATE_UNKNOWN
fi
#
#*** Recupere la date du jour au format xferfaxlog
#
LDate=`date +'%m/%d/%y'`
#
#***** Decompose $WARNING pour obtenir MinW et MaxW
#
IFSOLD="$IFS"
IFS=":"
set $WARNING
IFS="$IFSOLD"
MinW="$1"
[ "A$MinW" = "A" ] && MinW=0
if [ $# -gt 1 ]
then
MaxW="$2"
fi
#
#***** Decompose $CRITICAL pour obtenir MinC et MaxC
#
IFSOLD="$IFS"
IFS=":"
set $CRITICAL
IFS="$IFSOLD"
MinC="$1"
[ "A$MinC" = "A" ] && MinC=0
if [ $# -gt 1 ]
then
MaxC="$2"
fi
#
#*** Compte les envois reussi et en echec
#
LRetour=`statEnvoi $FicTrace $LDate $Ligne`
IFSOLD="$IFS"
IFS=":"
set $LRetour
IFS="$IFSOLD"
OK="$1"; export OK
PASOK="$2"; export PASOK
#
#*** Si pas d'envoi, retourne WARNING
#
if [ $OK -eq 0 -a $PASOK -eq 0 ]
then
echo "$LIBELLE WARNING - OK=$OK, PASOK=$PASOK"
exit $STATE_WARNING
fi
#
#*** Si que des echecs, retourne CRITICAL
#
if [ $OK -eq 0 ]
then
echo "$LIBELLE CRITICAL - OK=$OK, PASOK=$PASOK"
exit $STATE_CRITICAL
fi
Ratio=`expr \( $PASOK \* 100 \) / \( $OK + $PASOK \)`
if [ $Ratio -lt $MinC -o $Ratio -gt $MaxC ]
then
echo "$LIBELLE CRITICAL - OK=$OK, PASOK=$PASOK"
exit $STATE_CRITICAL
fi
if [ $Ratio -lt $MinW -o $Ratio -gt $MaxW ]
then
echo "$LIBELLE WARNING - OK=$OK, PASOK=$PASOK"
exit $STATE_WARNING
fi
echo "$LIBELLE OK - OK=$OK, PASOK=$PASOK"
exit $STATE_OK