User Tools

Site Tools


informatique:logiciels:nagios

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
informatique:logiciels:nagios [2015/09/03 08:37] – refonte structure des titres pteuinformatique:logiciels:nagios [2016/04/01 07:34] – [Exemple 3] pteu
Line 1238: Line 1238:
          
 # trafic reseau # trafic reseau
-# le plugin avec l'option "--rate" a besoin de creer acceder au repertoire : /usr/var/105/check_snmp 
-# -> penser à faire : #chmod 755 /usr/var && mkdir /usr/var/105/check_snmp && chown -R nagios /usr/var/105/check_snmp 
 # -o est suivi par les 2 OIDs correspondant au trafic in et out de l'interface que l'on veut superviser # -o est suivi par les 2 OIDs correspondant au trafic in et out de l'interface que l'on veut superviser
 # -l permet d'afficher une légende # -l permet d'afficher une légende
Line 1245: Line 1243:
 # -P précise la version de SNMP # -P précise la version de SNMP
 # -C spécifie la communauté SNMP # -C spécifie la communauté SNMP
 +# --rate induqe qu'il s'agit d'un compteur qui nécessite donc un calcul \
 +#   par rapport à la précédente valeur (voir plus bas pour l'explication)
 define command{ define command{
     command_name    check_syno_traf-eth0     command_name    check_syno_traf-eth0
-    command_line    $USER1$/check_snmp -H '$HOSTADDRESS$' -P 2c -C '$ARG1$' -l eth0_in,eth0_out -u bytes,bytes --rate -o .1.3.6.1.2.1.31.1.1.1.6.3,.1.3.6.1.2.1.31.1.1.1.10.3+    command_line    $USER1$/check_snmp -H '$HOSTADDRESS$' -P 2c -C '$ARG1$' -l eth0_in,eth0_out 
 +        -u bytes,bytes --rate -o .1.3.6.1.2.1.31.1.1.1.6.3,.1.3.6.1.2.1.31.1.1.1.10.3
     }     }
 +</code>
 +NB : le plugin **check_snmp** avec l'option ''<nowiki>--</nowiki>rate'' a besoin d'accéder a un répertoire dans lequel il enregistre les compteurs n-1 pour calculer le débit réseau : ce répertoir varie selon le mode d'installation et les distributions :
 +  * sous Debian j'ai eu ''/usr/var/105/check_snmp'' (il faut le trouver !) ;
 +  * sous centOS c'est ''/var/check_snmp'' ;
 +  * ça peut aussi être ''/usr/local/nagios/var/check_snmp''
 +Pour ne pas avoir d'erreur de permission (Cannot create temporary filename) il faut penser à donner à Nagios les permissions en écriture sur ce répertoire ; par ex pour Debian :
 +<code bash>
 +chmod 755 /usr/var && mkdir /usr/var/105/check_snmp && chown -R nagios /usr/var/105/check_snmp
 </code> </code>
  
Line 1272: Line 1281:
 $def[1] .= "GPRINT:var2:AVERAGE:\"%7.2lf %SB/s avg\" " ; $def[1] .= "GPRINT:var2:AVERAGE:\"%7.2lf %SB/s avg\" " ;
 $def[1] .= "GPRINT:var2:MAX:\"%7.2lf %SB/s max\\n\" " $def[1] .= "GPRINT:var2:MAX:\"%7.2lf %SB/s max\\n\" "
 +
 +# pour afficher le dernier check sur le graphe
 +if($this->MACRO['TIMET'] != ""){
 +    $def[1] .= "VRULE:".$this->MACRO['TIMET']."#000000:\"Last Service Check \\n\" ";
 +}
 ?> ?>
 </code> </code>
Line 1279: Line 1293:
 {{ :informatique:logiciels:trafic_internet.png?direct |}} {{ :informatique:logiciels:trafic_internet.png?direct |}}
  
 +Le même, un peu plus perfectionné :
 +<code php>
 +<?php
 +# Copyright (c) 2006-2010 Joerg Linge (http://www.pnp4nagios.org)
 +# Plugin: check_snmp_int.pl (COUNTER)
 +# modif traffic reseau in/out
 +
 +$unit = "bps";
 +
 +$ds_name[1] = "$hostname In/Out $unit";
 +$opt[1] = " --vertical-label $unit -b 1000 --title \"$hostname : $servicedesc\" ";
 +$def[1] = rrd::def("var1",$RRDFILE[1],$DS[1],"AVERAGE");
 +$def[1] .= rrd::def("var2",$RRDFILE[2],$DS[2],"AVERAGE");
 +
 +#$def[1] .= "AREA:var1#99ff99:\"$NAME[1]  \" " ;
 +$def[1] .= rrd::gradient('var1','ebffeb','99ff99',sprintf("%-16s",$NAME[1]),20);
 +$def[1] .= rrd::gprint('var1',array("LAST","AVERAGE","MAX"),"%3.2lf %s$unit");
 +
 +$def[1] .= "LINE1:var2#0099ff:\"".sprintf("%-15s",$NAME[2])." \" " ;
 +$def[1] .= rrd::gprint('var2',array("LAST","AVERAGE","MAX"),"%3.2lf %s$unit");
 +
 +if($this->MACRO['TIMET'] != ""){
 +    $def[1] .= "VRULE:".$this->MACRO['TIMET']."#000000:\"Last Service Check \\n\" ";
 +}
 +?>
 +
 +</code>
 ====Exemple 2 : courbe CPU==== ====Exemple 2 : courbe CPU====
  
Line 1406: Line 1447:
 {{ :informatique:logiciels:cpu_forti.png?direct |}} {{ :informatique:logiciels:cpu_forti.png?direct |}}
  
 +====Exemple 3 : graphique adaptatif====
 +
 +Ce template va détecter automatiquement le nombre d'enregistrement dans la base RRD et s'adapter pour tracer le bon nombre de courbe (inconnue à l'avance).
 +<code bash>
 +<?php
 +$unit = "pc";
 +
 +# max : 7 entrées
 +$TAB_COLORS = array('#ff0000','#ff8000','#cccc00','#0066ff','#9933ff','#00ff55','#ff80ff');
 +$CPT=1;
 +
 +$ds_name[$CPT] = "$hostname %CPU x10";
 +$opt[$CPT] = " --vertical-label $unit -b 1000 --title \"$hostname : $servicedesc (% x10)\" ";
 +
 +foreach ($this->DS as $CHAMP_RRD=>$VAL) {
 +
 +        if ($CPT == "1") {
 +                $def[1] = rrd::def("var".$CPT,$VAL['RRDFILE'],$VAL['DS'],"AVERAGE");
 +        }
 +        else {
 +                $def[1] .= rrd::def("var".$CPT,$VAL['RRDFILE'],$VAL['DS'],"AVERAGE");
 +        }
 +
 +        $def[1] .= "LINE1:var".$CPT.$TAB_COLORS[$CHAMP_RRD].":\"".sprintf("%-15s",$VAL['NAME'])." \" " ;
 +        $def[1] .= rrd::gprint('var'.$CPT,array("LAST","AVERAGE","MAX"),"%3.2lf %s$unit");
 +
 +        $CPT++;
 +}
 +
 +if($this->MACRO['TIMET'] != ""){
 +    $def[1] .= "VRULE:".$this->MACRO['TIMET']."#000000:\"Last Service Check \\n\" ";
 +}
 +?>
 +
 +</code>
  
 ======Tips====== ======Tips======
Line 1609: Line 1685:
 </code> </code>
  
-  * pour une raison qui m'est inconnue, le plugin **check_snmp** (quand utilisé avec l'option "--rate") enregistre ses états non plus dans ''/usr/var/check_snmp'' mais dans ''/usr/var/105/check_snmp'' ! Une réminiscence d'IA caractérielle, une portion de code spontané ? En tout cas on va lui créer son répertoire car il n'a pas les droits pour le faire seul :+  * pour une raison qui m'est inconnue, le plugin **check_snmp** (quand utilisé avec l'option ''<nowiki>--rate</nowiki>'') enregistre ses états non plus dans ''/usr/var/check_snmp'' mais dans ''/usr/var/105/check_snmp'' ! Une réminiscence d'IA caractérielle, une portion de code spontané ? En tout cas on va lui créer son répertoire car il n'a pas les droits pour le faire seul :
 <code bash> <code bash>
 mkdir /usr/var/105 mkdir /usr/var/105
informatique/logiciels/nagios.txt · Last modified: 2021/01/15 15:47 by pteu