informatique:logiciels:nagios
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatique:logiciels:nagios [2015/09/14 10:15] – [Exemple 1 : trafic in/out] pteu | informatique:logiciels:nagios [2021/01/15 15:47] (current) – [Contrôler Nagios en CLI] nagios_downtime_w_childs.sh pteu | ||
---|---|---|---|
Line 1052: | Line 1052: | ||
* Choisir le mode de fonctionnement de pnp4nagios (cf http:// | * Choisir le mode de fonctionnement de pnp4nagios (cf http:// | ||
+ | <WRAP center round info 60%> | ||
+ | Note : ce mode semble buggué sur Debian 9 / Nagios 4.3.4 / PNP 0.6.26, utiliser plutôt d' | ||
+ | </ | ||
* Configurer Nagios pour qu'il fasse appel à PNP4Nagios : | * Configurer Nagios pour qu'il fasse appel à PNP4Nagios : | ||
Line 1085: | Line 1088: | ||
<code bash> | <code bash> | ||
ln -s / | ln -s / | ||
+ | |||
+ | # ou, avec un Nagios/PNP récemment compilée : | ||
+ | cp / | ||
+ | ln -s / | ||
</ | </ | ||
Line 1114: | Line 1121: | ||
<code bash> | <code bash> | ||
vi cgi.cfg | vi cgi.cfg | ||
- | action_url_target=main | + | action_url_target=_self |
</ | </ | ||
Line 1120: | Line 1127: | ||
<code bash> | <code bash> | ||
service nagios3 restart | service nagios3 restart | ||
+ | # OU | ||
+ | systemctl restart nagios | ||
</ | </ | ||
Line 1200: | Line 1209: | ||
{{ : | {{ : | ||
- | Pour chaque service disposant de perfdata et sur lequel PNP4nagios est activé, le plugin va rechercher | + | Pour chaque service disposant de perfdata et sur lequel PNP4nagios est activé, le plugin va rechercher |
<code bash> | <code bash> | ||
# avec le paquet pnp4nagios sous debian 7 : | # avec le paquet pnp4nagios sous debian 7 : | ||
Line 1211: | Line 1220: | ||
</ | </ | ||
- | Par exemple pour un service " | + | Par exemple pour un service |
====Exemple 1 : trafic in/out==== | ====Exemple 1 : trafic in/out==== | ||
Line 1293: | Line 1302: | ||
{{ : | {{ : | ||
+ | Le même, un peu plus perfectionné : | ||
+ | <code php> | ||
+ | <?php | ||
+ | # Copyright (c) 2006-2010 Joerg Linge (http:// | ||
+ | # Plugin: check_snmp_int.pl (COUNTER) | ||
+ | # modif traffic reseau in/out | ||
+ | |||
+ | $unit = " | ||
+ | |||
+ | $ds_name[1] = " | ||
+ | $opt[1] = " --vertical-label $unit -b 1000 --title \" | ||
+ | $def[1] = rrd:: | ||
+ | $def[1] .= rrd:: | ||
+ | |||
+ | #$def[1] .= " | ||
+ | $def[1] .= rrd:: | ||
+ | $def[1] .= rrd:: | ||
+ | |||
+ | $def[1] .= " | ||
+ | $def[1] .= rrd:: | ||
+ | |||
+ | if($this-> | ||
+ | $def[1] .= " | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | </ | ||
====Exemple 2 : courbe CPU==== | ====Exemple 2 : courbe CPU==== | ||
Line 1420: | Line 1456: | ||
{{ : | {{ : | ||
+ | ====Exemple 3 : graphique adaptatif==== | ||
+ | |||
+ | Ce template va détecter automatiquement le nombre d' | ||
+ | <code bash> | ||
+ | <?php | ||
+ | $unit = " | ||
+ | |||
+ | # max : 7 entrées | ||
+ | $TAB_COLORS = array('# | ||
+ | $CPT=1; | ||
+ | |||
+ | $ds_name[$CPT] = " | ||
+ | $opt[$CPT] = " --vertical-label $unit -b 1000 --title \" | ||
+ | |||
+ | foreach ($this-> | ||
+ | |||
+ | if ($CPT == " | ||
+ | $def[1] = rrd:: | ||
+ | } | ||
+ | else { | ||
+ | $def[1] .= rrd:: | ||
+ | } | ||
+ | |||
+ | $def[1] .= " | ||
+ | $def[1] .= rrd:: | ||
+ | |||
+ | $CPT++; | ||
+ | } | ||
+ | |||
+ | if($this-> | ||
+ | $def[1] .= " | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | </ | ||
======Tips====== | ======Tips====== | ||
Line 1662: | Line 1733: | ||
[Thu Sep 3 10:29:38 2015] Auto-save of retention data completed successfully. | [Thu Sep 3 10:29:38 2015] Auto-save of retention data completed successfully. | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | =====Contrôler Nagios en CLI===== | ||
+ | |||
+ | Grâce au commandes externes, on peut envoyer des ordres à Nagios via la ligne de commande, ce qui va plus vite que l' | ||
+ | |||
+ | Exemples de scripts inspirés de ceux de la doc : | ||
+ | * '' | ||
+ | <code bash nagios_downtime-host-and-childs.sh> | ||
+ | #!/bin/bash | ||
+ | # This is a sample shell script showing how you can submit the SCHEDULE_AND_PROPAGATE_HOST_DOWNTIME command | ||
+ | # to Nagios. Adjust variables to fit your environment as necessary. | ||
+ | |||
+ | [ -z " | ||
+ | |||
+ | now=`date +%s` | ||
+ | commandfile='/ | ||
+ | end=`expr $now + $1` | ||
+ | comment=" | ||
+ | shift 2 | ||
+ | |||
+ | while [ -n " | ||
+ | / | ||
+ | shift | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | * permet de planifier un downtime pour un host et ses childs à un date donnée | ||
+ | <code bash nagios_downtime_w_childs.sh> | ||
+ | function usage { | ||
+ | echo " | ||
+ | echo " format dates: \" | ||
+ | echo " ex: nagios_downtime_w_childs.sh switch1 \" | ||
+ | exit 1 | ||
+ | } | ||
+ | |||
+ | [ -z " | ||
+ | |||
+ | now=$(date +%s) | ||
+ | commandfile='/ | ||
+ | |||
+ | # affectation et contrôle des inputs | ||
+ | naghost=$1 | ||
+ | debut=$(date -d " | ||
+ | [ -z " | ||
+ | #[[ " | ||
+ | fin=$(date -d " | ||
+ | [ -z " | ||
+ | comment=" | ||
+ | |||
+ | / | ||
+ | </ | ||
+ | =====Annuler des actions en masse===== | ||
+ | |||
+ | // | ||
+ | |||
+ | Pour annuler en masse certaines actions, on peut interagir avec le fichier de pipe nommé **nagios.cmd** (situé dans **/ | ||
+ | |||
+ | Exemple pour supprimer des DOWNTIME planifiés pour un équipement et tous ses fils (soit une centaine de DOWNTIME) : | ||
+ | * on pourrait les supprimer un par un / clic par clic dans le menu " | ||
+ | * puis se connecter en SSH sur le serveur et lancer la commande : | ||
+ | <code bash> | ||
+ | for i in `seq 1050 1150`; do | ||
+ | printf "[%lu] DEL_HOST_DOWNTIME; | ||
+ | done | ||
+ | </ | ||
+ | Cela a pour effet d' | ||
informatique/logiciels/nagios.txt · Last modified: 2021/01/15 15:47 by pteu