Munin-node sur pfSense

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
}

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.