Description
Munin est un outil de surveillance des ordinateurs. Il présente ces informations par le biais d’une interface web, qui visualise des graphiques statiques, générés toutes les 5 minutes, par défaut. Un certain nombre de plugins de monitoring divers sont utilisables sans gros effort.
Munin permet de monitorer facilement la performance de tout matériel informatique (ordinateurs, réseaux, applications, mesures diverses, etc.). Il permet de discerner les problèmes de performance des ressources.
- Site web : http://munin-monitoring.org/
- Version : 2.0.49
- OpenBSD : 6.6
- Services : httpd + munin_node + munin_asyncd
Documentation
Il est toujours utile de lire les documentations pkg-readmes
fournies ; celles disponibles sont dans /usr/local/share/doc/pkg-readmes/
, à-propos de :
- munin-node
- munin-server
- la documentation officielle :
- la FAQ officielle : http://munin-monitoring.org/wiki/faq
Installation
Code : sh
# pkg_add munin-node munin-server
Un utilisateur _munin
a été créé et le répertoire web, par défaut, est dans /var/www/htdocs/munin/
. Ce répertoire reçoit les droits de l’utilisateur _munin
et du groupe web www
.
Pour information, cela installe en dépendance quelques paquets de plus, dont p5-Net-CIDR
- ce paquet est utile pour la configuration de l’option cidr_allow
dans le fichier de configuration du nœud de munin
; s’il n’est pas installé, faites-le !
Si vous désirez le support des moniteurs SNMP
, il faut installer le paquet p5-Net-SNMP
.
Configuration
Deux fichiers de configuration principaux sont dans /etc/munin
:
munin.conf
relatif au serveur lui-mêmemunin-node.conf
relatif au nœud de surveillance local.
Une fois, ces fichiers configurés, il est possible de démarrer les deux services de munin.
munin.conf
Généralement, il y a peu de choses à changer, néanmoins, pour informations, certaines variables peuvent être configurées.
dbdir
: répertoire de la base de donnée de muninhtmldir
: répertoire de destination des données graphiques générées.logdir
: répertoire des journaux de muninrundir
: répertoire où s’exécute le processus munin.
Si vous préférez une exécution du processus par cron plus que par script CGI, vous pouvez modifier les deux variables graph_strategy
et html_strategy
.
Par défaut sera configurée une arborescence basique basée sur localhost, tel que :
Code :
[localhost]
address 127.0.0.1
user_node_name yes
Si vous préférez une arborescence par nom de domaine, modifiez/commentez/ajoutez localhost
par le nom de domaine désiré, tel huc.fr.eu.org
. Bien sûr, il est possible de surveiller autant d’hôtes que désiré.
Il est possible de gérer les différents nœuds par groupe ; cela permet de regrouper les informations. Je vous renvoie aux documentations officielles et autres manpages.
Les noms de nœuds, de groupe de nœuds ainsi que les adresses IPv6 doivent être encadrés de [ ]
.
Ajouter un nœud
Exemple :
Code :
# server name
[srvr.huc.fr.eu.org]
# address IP
address 192.168.1.1
use_node_name yes
# first pc
[pc1.huc.fr.eu.org]
address 192.168.1.10
use_node_name yes
Recevoir les alertes par mail
Pour recevoir les alertes par mail, il est nécessaire de renseigner une ou plusieurs adresses de contact, tel que :
Code :
contact.root.command mail -s "Munin notification" email
contact.other-user.command mail -s "Munin notification" email-user
Ceci étant un exemple, remplacez par les informations nécessaires à votre situation.
munin-node.conf
La partie de la configuration du fichier de nœud étant expliquée sur sa propre page, il suffit de suivre les informations et de les adapter au nœud du serveur lui-même
crontab
Après avoir configuré les deux fichiers de configuration ci-dessus, il est important de paramétrer une tâche cron, tel que :
Code :
# crontab for munin-server
*/5 * * * * su -s /bin/sh _munin /usr/local/bin/munin-cron
newsyslog.conf
Il est nécessaire de modifier le fichier de configuration du journal /etc/newsyslog.conf
pour créer une rotation des journaux générés par munin.
Ajoutez-y :
Code :
# munin-server
/var/www/logs/munin/munin-cgi-graph.log www:_munin 644 7 250 * Z
/var/www/logs/munin/munin-cgi-html.log www:_munin 644 7 250 * Z
/var/www/logs/munin/munin-graph.log _munin:_munin 644 7 250 * Z
/var/www/logs/munin/munin-html.log _munin:_munin 644 7 250 * Z
/var/www/logs/munin/munin-limits.log _munin:_munin 644 7 250 * Z
/var/www/logs/munin/munin-update.log _munin:_munin 644 7 250 * Z
# munin-node
/var/log/munin/munin-node.log root:wheel 644 7 250 * Z
Ce sont tous les journaux gérés et nécessaires à minima pour munin.
httpd
Ici, je vous renvoie à mon article de découverte du serveur httpd, et tout particulièrement aux informations d’utilisations .
Modification du fichier de configuration /etc/httpd.conf
pour y ajouter :
Code :
include "/etc/httpd.d/munin.conf"
Création du fichier de config du serveur pour nagios /etc/httpd.d/munin.conf
:
Code :
server "192.168.1.3" {
listen on * port 80
root "/htdocs/munin"
# location "/cgi-bin/munin-cgi*" {
# fastcgi socket "/run/slowcgi.sock"
# root "/"
# }
location "/" {
directory index index.html
}
}
Les fichiers dans le répertoire web de munin doivent avoir les droits de l’utilisateur _munin
et du groupe web www
, par défaut.
Chroot web
Du fait du chroot web, il est nécessaire de faire les modifications systèmes suivantes :
Code : sh
# mkdir -p /var/www/{logs,var/run}/munin
# chown _munin: /var/www/{logs,var/run}/munin
mais en plus de modifier la configuration du fichier du serveur :
Code :
htmldir /var/www/htdocs/munin
logdir /var/www/logs/munin
rundir /var/www/var/run/munin
Packet-Filter
Concernant les règles pour PF , il faut ouvrir en entrée et sortie, vers et depuis les nœuds :
- pour Munin lui-même :
4949/tcp
- pour SNMP :
161
,162
enudp
ettcp
- cela dépend de votre configuration SNMP , bien sûr.
Démarrage des services
Pensez à activer et démarrer les services nécessaires, si ce n’est pas fait !
Code : sh
# rcctl enable munin_node munin_asyncd slowcgi httpd
# rcctl start munin_node munin_asyncd slowcgi
# httpd -n && rcctl start httpd
Dépannage
Erreur : Failed to create rundir (/var/run/munin): Permission denied
Citation :
Failed to create rundir (/var/run/munin): Permission denied at /usr/local/libexec/munin/munin-update line 39.
- Avez-vous réellement fait lu le chapitre chroot ?
Erreur : [FATAL] There is nothing to do here, since there are no nodes with any plugins
Citation :
[FATAL] There is nothing to do here, since there are no nodes with any plugins. Please refer to http://munin-monitoring.org/wiki/FAQ_no_graphs at /usr/local/libexec/munin/munin-html line 40.
- Avez-vous démarré vos services munin ?
- Avez-vous activé/désactivé des plugins ? Si oui, avez vous redémarré le service
munin-node
?
Remerciements
Une spéciale dédicace à Solene Rapenne qui fait partie de l’équipe d’OpenBSD, et qui m’a bien aider pour démarrer ce projet.