tuto:pfsense:zabbix_user_parameters

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tuto:pfsense:zabbix_user_parameters [24/10/2013 15:41]
dani créée
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>
 +
 +===== Installer les scripts additionnels =====
 +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 bash>
 +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>
 +
 +Ça permettra d'émuler au moins la découverte des interfaces réseaux
  • tuto/pfsense/zabbix_user_parameters.1382622094.txt.gz
  • Dernière modification: 24/10/2013 15:41
  • de dani