Scripts nagios - exemples
Révision datée du 16 septembre 2013 à 14:38 par AdminWiki (discussion | contributions) (Page créée avec « Category: nagios Exemples de scripts nagios. ==Consommation cpu, mémoire et nombre de process - Solaris== Le script ci-dessous prend comme argument une chaine de ca... »)
Exemples de scripts nagios.
Consommation cpu, mémoire et nombre de process - Solaris
Le script ci-dessous prend comme argument une chaine de caractères qui doit correspondre à un ou plusieurs process qui tournent. Il va alors retourner le nombre de process correspondants trouvés, ainsi que la somme de leur consommation cpu et mémoire. Fonctionne sous Solaris.
#!/bin/ksh # # Script de surveillance pour nagios # Affiche la consommation memoire et cpu des process passes en parametre # ainsi que le nombre de process trouves ###################### Variables ################################# TEMP_FILE=/tmp/$$-1.tmp MEM=0 CPU=0 PROCESS_NB=0 STATUS=0 ###################### Fonctions ################################# usage() { echo "Usage: $0 process(es)-to-analyse" } ################################################################## # Programme principal # ################################################################## if [ "$#" -ne 1 ] then echo "Wrong parameters number." usage exit 1 fi PROCESS=$1 ps -edf > $TEMP_FILE PROCESS_LIST=$(cat "$TEMP_FILE" |grep "$PROCESS"| grep -v "grep $PROCESS" | grep -v "$0 $1" |awk '{print $2}') if [ "$PROCESS_LIST" == "" ] then echo "Unable to find such running process." TEXT="No process" STATUS=2 else for p in $PROCESS_LIST do INFO=$(prstat -p $p 1 1 |grep $p|awk '{print $3 " " $9}') # mem=$3, cpu=$9 MEM_INFO=$(echo "$INFO" | awk '{print $1}') CPU_INFO=$(echo "$INFO" | awk '{print $2}') MEM="$MEM""+"$(echo "$MEM_INFO" | sed "s/K/\*1024/g" | sed "s/M/\*1024\*1024/g" | sed "s/G/\*1024\*1024\*1024/g") CPU="$CPU""+"$(echo "$CPU_INFO" | sed "s/%//g") PROCESS_NB=$(($PROCESS_NB+1)) done MEM=$(echo "$MEM"|bc) # Memoire utilisee en octets CPU=$(echo "scale=1;$CPU"|bc) # Cpu utilise en % TEXT="Status Ok" fi # On fait le menage rm -f $TEMP_FILE echo "${TEXT}|nb=${PROCESS_NB} mem=${MEM} cpu=${CPU}" exit $STATUS
Exemple :
# ./check_process_ressources ftpd Status Ok|nb=12 mem=50987008 cpu=0