Cet article détaille l’installation et la configuration du client munin-node sur la distribution pfSense, ici dans sa version 2.2.x.
MàJ 2016.05.08: La manip a un peu changé avec l’arrivée de pfSense 2.3. Plus de détails à la fin de l’article.
Installation du paquet munin-node:
[2.2.5-RELEASE][root@pfSense]/root: pkg update [2.2.5-RELEASE][root@pfSense]/root: pkg add munin-node smartmontools
Pour chercher un paquet sous pfSense:
[2.2.5-RELEASE][root@pfSense]/root: pkg search munin-node
Pour mettre à jour les paquets installés:
[2.2.5-RELEASE][root@pfSense]/root: pkg update [2.2.5-RELEASE][root@pfSense]/root: pkg upgrade
Le paquet smartmontools permet de surveiller l’état du système de stockage via SMART. Il n’est pas obligatoire si l’on ne souhaite pas surveiller le ou les disques durs.
Pour lancer le process smartd:
[2.2.5-RELEASE][root@pfSense]/root: cp /usr/local/etc/smartd.conf.sample /usr/local/etc/smartd.conf [2.2.5-RELEASE][root@pfSense]/root: echo 'smartd_enable="YES"' >> /etc/rc.conf [2.2.5-RELEASE][root@pfSense]/root: /usr/local/etc/rc.d/smartd start
Une fois smartd et le client munin-node installés, il faut lancer la détection et l’activation des plugins Munin.
Commençons par lancer munin-node:
[2.2.5-RELEASE][root@pfSense]/root: /usr/local/etc/rc.d/munin-node onestart
Pour le lancer définitivement jusqu’au prochain redémarrage:
[2.2.5-RELEASE][root@pfSense]/root: echo 'munin_node_enable="YES"' >> /etc/rc.conf [2.2.5-RELEASE][root@pfSense]/root: /usr/local/etc/rc.d/munin-node onestart
Affichage des plugins activés ou désactivés, ainsi que ceux suggérés:
/usr/local/sbin/munin-node-configure --suggest
Activation des plugins manquants:
/usr/local/sbin/munin-node-configure --shell | sh -x
Une fois tous les plugins activés, il faut lancer le process munin-node. En l’état, il faut le lancer manuellement à chaque redémarrage de la passerelle pfSense. Comme son nom l’indique, c’est une passerelle Internet, celle-ci est donc très rarement amenée à être redémarrer. Voici un petit script permettant de réaliser toutes les actions nécessaires:
#!/bin/sh /usr/local/etc/rc.d/smartd stop echo 'smartd_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/smartd start mkdir /var/run/munin mkdir /var/log/munin chown -R munin:munin /var/run/munin chown -R munin:munin /var/log/munin /usr/local/etc/rc.d/munin-node stop echo 'munin_node_enable="YES"' >> /etc/rc.conf /usr/local/etc/rc.d/munin-node start
Une fois lancé, il ne reste plus qu’à autoriser le serveur munin à interroger le client précédemment installé. Dans /usr/local/etc/munin/munin-node.conf
, il suffit de rajouter l’adresse IP du serveur Munin:
# A list of addresses that are allowed to connect. This must be a # regular expression, since Net::Server does not understand CIDR-style # network notation unless the perl module Net::CIDR is installed. You # may repeat the allow line as many times as you'd like allow ^192\.168\.0\.10$
Pour sécuriser un peu plus l’instance munin-node, il est possible de n’autoriser que certaines adresses IP du client a être interrogées par le serveur Munin. Toujours dans /usr/local/etc/munin/munin-node.conf
, ajouter l’adresse IP LAN de la passerelle pfSense (exclu de facto l’adresse IP WAN):
# Which address to bind to; host 192.168.0.254
MàJ 2016.05.08: La manip a un peu changée avec l’arrivée de la version 2.3 et l’utilisation de pkg pour la gestion des paquets de la communauté pfSense. Il faut juste activer le repo FreeBSD et désactiver le repo pfSense le temps de la manip. J’aurais bien aimé faire autrement mais j’ai essayé à peu près toutes les configs:
– repo pfsense uniquement: pas moyen d’installer munin-node
– repo FreeBSD uniquement: le wizard de gestion des paquets se vautre dans l’interface Web. Normal, il ne peut plus accéder aux paquets pfSense
– les 2 repos activés: beaucoup de conflits, notamment sur le paquet « pkg »… Les versions ne sont pas les mêmes sur les 2 repos. pkg-update et pkg-upgrade ne fonctionnent plus.
Donc une fois munin-node installé, il suffit de réactiver le repo pfSense et de ne pas lancer de mises à jour des paquets FreeBSD.
Le fichier de conf est le suivant: /usr/local/etc/pkg/repos/pfSense.conf
Exemple ici avant d’installer munin-node:
FreeBSD: { enabled: yes } pfSense-core: { url: "pkg+http://pkg.pfsense.org/pfSense_v2_3_0_amd64-core", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/local/share/pfSense/keys/pkg" enabled: no } pfSense: { url: "pkg+http://pkg.pfsense.org/pfSense_v2_3_0_amd64-pfSense_v2_3_0", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/local/share/pfSense/keys/pkg" enabled: no }
Une fois le repo FreeBSD activé, il suffit de suivre la procédure pour pfSense 2.6: pkg update
puis pkg install munin-node
. Dès lors que les paquets sont installés, il faut revenir à la configuration d’origine via le fichier /usr/local/etc/pkg/repos/pfSense.conf
:
FreeBSD: { enabled: no } pfSense-core: { url: "pkg+http://pkg.pfsense.org/pfSense_v2_3_0_amd64-core", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/local/share/pfSense/keys/pkg" enabled: yes } pfSense: { url: "pkg+http://pkg.pfsense.org/pfSense_v2_3_0_amd64-pfSense_v2_3_0", mirror_type: "srv", signature_type: "fingerprints", fingerprints: "/usr/local/share/pfSense/keys/pkg" enabled: yes }