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
Dernière révision Les deux révisions suivantes
tuto:pfsense:zabbix_user_parameters [18/03/2014 15:35]
dani
tuto:pfsense:zabbix_user_parameters [19/01/2021 10:30]
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,ajouter une règle autorisant l'utilisateur Zabbix à exécuter **/usr/local/bin/php /root/zabbix/*** sans mot de passe
 +{{ :tuto:pfsense:pfsense_sudo_zabbix.png |}}
 +
 +===== 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> <code bash>
-UserParameter=raid.gmirror.status,gmirror status | sed -rn "s;(mirror/pfSenseMirror)  (.+) (.+) (.+);\2;p" +mkdir /root/zabbix 
-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]}" } ' +cd /root/zabbix 
-UserParameter=openfiles.num,fstat|wc -l+curl -o pfsense_zbx.php https://git.fws.fr/fws/pfsense-zabbix/raw/branch/master/pfsense_zbx.php
 </code> </code>
  
-<note tip+===== UserParameters à ajouter à l'agent Zabbix ===== 
-Si le serveur n'pas de RAID logiciel gmirrorremplacez la première ligne par: + 
-<code> +<code bash> 
-serParameter=raid.gmirror.status,echo COMPLETE+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.txt
  • Dernière modification: 15/02/2021 09:21
  • de dani