tuto:pfsense:zabbix_user_parameters

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tuto:pfsense:zabbix_user_parameters [18/03/2014 15:35]
dani
tuto:pfsense:zabbix_user_parameters [15/02/2021 09:21] (Version actuelle)
dani
Ligne 1: Ligne 1:
-====== UserParameters à ajouter à l'agent Zabbix ======+====== Pour les versions récentes ====== 
 +Le script principal est tiré de https://github.com/rbicelli/pfsense-zabbix-template 
 +===== Installer le package sudo ===== 
 +Dans System -> Package Manager -> Available packages, sélectionner le paquet sudo et l'installer 
 + 
 +{{ :tuto:pfsense:package_pfsense.png |}} 
 + 
 +===== Ajouter une règle sudo pour autoriser zabbix à exécuter certaines commandes ===== 
 + 
 +Dans system -> sudo, activer l'inclusion des //Custom Configuration// 
 +{{ :tuto:pfsense:sudo_custom_config.png |}} 
 + 
 +Puis, depuis la ligne de commande, créer le fichier **/usr/local/etc/sudoers.d/zabbix** avec le contenu suivant :
  
 <code bash> <code bash>
-UserParameter=raid.gmirror.status,gmirror status | sed -rn "s;(mirror/pfSenseMirror (.+) (.+) (.+);\2;p" +Defaults:zabbix !syslog 
-UserParameter=net.if.discovery,ifconfig | awk ' BEGIN { print "{\"data\":\[" } /^[a-z0-9]+\:{ gsub(/\:/,"",$ 1); if ( $ 1 != "lo0" ) print "{ \"{#IFNAME}\":\"" $ 1"\" }," } END { print "{ \"{#IFNAME}\":\"lo0\"} \n]}" } ' +zabbix ALL=(rootNOPASSWD: /usr/local/bin/php /root/zabbix/*
-UserParameter=openfiles.num,fstat|wc -l+
 </code> </code>
  
-<note tip+===== Installer les scripts additionnels ===== 
-Si le serveur n'pas de RAID logiciel gmirrorremplacez la première ligne par: +Ces scripts permettent de remonter des données sur les connexions VPN, les services, les descriptions des interfaces etc. Cette partie se fait en CLI 
-<code> +<code bash> 
-serParameter=raid.gmirror.status,echo COMPLETE+mkdir /root/zabbix 
 +cd /root/zabbix 
 +curl -o pfsense_zbx.php https://git.fws.fr/fws/pfsense-zabbix/raw/branch/master/pfsense_zbx.php 
 +</code> 
 + 
 +===== UserParameters à ajouter à l'agent Zabbix ===== 
 + 
 +<code bash> 
 +UserParameter=pfsense.states.max,grep "limit states" /tmp/rules.limits | cut -f4 -d ' ' 
 +UserParameter=pfsense.states.current,grep "current entries" /tmp/pfctl_si_out | tr -s ' ' | cut -f4 -d ' ' 
 +UserParameter=pfsense.mbuf.current,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f1 
 +UserParameter=pfsense.mbuf.cache,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f2 
 +UserParameter=pfsense.mbuf.max,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f4 
 +UserParameter=pfsense.discovery[*],/usr/local/bin/sudo /usr/local/bin/php /root/zabbix/pfsense_zbx.php discovery $1 
 +UserParameter=pfsense.value[*],/usr/local/bin/sudo /usr/local/bin/php /root/zabbix/pfsense_zbx.php $1 $2 $3 
 +</code> 
 + 
 +====== Pour les machines sans sudo ===== 
 +Si vous ne voulez pas, ou ne pouvez pas utiliser sudo, il est possible de faire tourner l'agent Zabbix en tant que root (ce n'est pas recommandé cependant) : 
 +<code bash> 
 +UserParameter=pfsense.states.max,grep "limit states" /tmp/rules.limits | cut -f4 -d ' ' 
 +UserParameter=pfsense.states.current,grep "current entries" /tmp/pfctl_si_out | tr -s ' ' | cut -f4 -d ' ' 
 +UserParameter=pfsense.mbuf.current,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f1 
 +UserParameter=pfsense.mbuf.cache,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f2 
 +UserParameter=pfsense.mbuf.max,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f4 
 +UserParameter=pfsense.discovery[*],/usr/local/bin/php /root/zabbix/pfsense_zbx.php discovery $1 
 +UserParameter=pfsense.value[*],/usr/local/bin/php /root/zabbix/pfsense_zbx.php $1 $2 $3 
 +AllowRoot=1 
 +</code> 
 + 
 +====== Pour les anciennes versions ====== 
 +Pour les anciennes version de PfSense (où il ne serait pas possible d'utiliser le script PHP)on peut utiliser simplement les UserParameters suivants 
 + 
 +<code bash
 +UserParameter=pfsense.states.max,grep "limit states" /tmp/rules.limits | cut -f4 -d ' ' 
 +UserParameter=pfsense.states.current,grep "current entries" /tmp/pfctl_si_out | tr -s ' ' | cut -f4 -d ' ' 
 +UserParameter=pfsense.mbuf.current,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f1 
 +UserParameter=pfsense.mbuf.cache,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f2 
 +UserParameter=pfsense.mbuf.max,netstat -m | grep "mbuf clusters" | cut -f1 -d ' ' | cut -d '/' -f4 
 +UserParameter=pfsense.discovery[*],if [ "$1" == "interfaces" ]; then ifconfig | awk ' BEGIN { printf "\[" } /^[a-z][a-z0-9]+((\.|_vlan)[0-9]+)?:/ { gsub(/\:/,"",$ 1); printf "{\"{#IFNAME}\":\"" $ 1"\",\"{#IFDESCR}\":\"" $ 1"\"}," } END { print "]" } ' | sed -e 's/,\]/]/'; fi
 </code> </code>
-</note> 
  
-<note tip> +Ça permettra d'émuler au moins la découverte des interfaces réseaux
-la deuxième ligne n'est à ajouter que pour les agent Zabbix avant la version 2.2.0. Ne pas l'ajouter si vous avez un agent Zabbix plus récent +
-</note>+
  • tuto/pfsense/zabbix_user_parameters.1395153307.txt.gz
  • Dernière modification: 18/03/2014 15:35
  • de dani