--- aliases: [/fr/sys/openbsd/munin-server/] date: 2019-11-16T23:18:30+01:00 description: "Comment mettre en place Munin pour monitorer, faire de la métrologie, surveiller du matériel informatique, sous OpenBSD, fonctionnant en relation avec le service web httpd" draft: false include_toc: true lastmod: 2019-11-22T20:00:00+01:00 show_comments: false tags: ["httpd","Munin","OpenBSD","serveur","supervision"] title: "Munin : Monitorer OpenBSD avec httpd " --- ## 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 : * http://munin-monitoring.org/wiki/Documentation * http://munin.readthedocs.org/ * la FAQ officielle : http://munin-monitoring.org/wiki/faq ## Installation {{< code "openbsd-add-munin-server" sh >}} 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 {{% anchor "fichier de configuration du nœud de munin" "munin-nodeconf" %}} ; s'il n'est pas installé, faites-le !* Si vous désirez le support des moniteurs {{< abbr SNMP "Simple Network Management Protocol" >}}, 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ême * `munin-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 munin * `htmldir` : répertoire de destination des données graphiques générées. * `logdir` : répertoire des journaux de munin * `rundir` : 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 "openbsd-munin.conf-basic-tree" >}} 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 "openbsd-munin.conf-tree-example" >}} #### 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 "openbsd-munin-contact-mail" >}} Ceci étant un exemple, remplacez par les informations nécessaires à votre situation. ### munin-node.conf La partie de la {{< inside2 t="configuration du fichier de nœud" l="sys:openbsd:munin-node" >}} é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 "openbsd-munin-crontab" >}} ### 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 "openbsd-munin-newsyslog" >}} 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'{{< inside2 t="utilisations" l="web:httpd:httpd" a="utilisation" >}}. Modification du fichier de configuration `/etc/httpd.conf` pour y ajouter : {{< code "openbsd-httpd-add-server-munin" >}} Création du fichier de config du serveur pour nagios `/etc/httpd.d/munin.conf` : {{< code "openbsd-httpd-config-server-munin" >}} 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 "openbsd-munin-chroot" sh >}} mais en plus de modifier la {{< anchor "configuration du fichier du serveur" "munin.conf" >}} : {{< code "openbsd-munin.conf-chroot" >}} ### Packet-Filter Concernant les règles pour {{< abbr PF "Packet-Filter" >}}, 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` en `udp` et `tcp` - cela dépend de votre configuration {{< tag SNMP >}}, bien sûr. ## Démarrage des services Pensez à activer et démarrer les services nécessaires, si ce n'est pas fait ! {{< code "openbsd-munin-rcctl" sh >}} ## Dépannage ### Erreur : Failed to create rundir (/var/run/munin): Permission denied {{< blockquote "openbsd-munin-error-fail-create-rundir" >}} * Avez-vous réellement fait lu le chapitre **{{< anchor "chroot" "chroot web" >}}** ? ### Erreur : [FATAL] There is nothing to do here, since there are no nodes with any plugins {{< blockquote "openbsd-munin-error-fatal-nothing-todo-here" >}} * 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](http://solene.perso.pw) qui fait partie de l'équipe d'OpenBSD, et qui m'a bien aider pour démarrer ce projet. ----