--- aliases: [/fr/sys/openbsd/munin-node/] date: 2019-11-22T20:05:30+01:00 description: "Mettre en place un nœud Munin, un client, pour monitorer sa station OpenBSD" draft: false include_toc: true lastmod: show_comments: false tags: ["Munin","OpenBSD","client","supervision"] title: "Munin-node : Client pour monitorer OpenBSD" --- ## 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 : munin_node ## 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 * 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-node" sh >}} 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 Le fichier de configuration est `/etc/munin/munin-node.conf`. Une fois configuré, il est nécessaire de démarrer le service de munin : {{< code "openbsd-munin-node-start-service" sh >}} ### munin-node.conf Ce fichier de configuration du nœud, *le client si vous préférez*, est simple à paramétrer. Vous pouvez changer principalement : * `global_timeout` : le délai timeout pour toute transaction. Par défaut, c'est une période de 15 minutes ; à écrire en nombre de secondes. * `timeout` : c'est le timeout de connexion pour les plugins. Par défaut, de 60 secondes. * `host_name` : le nom de votre hôte * `allow` : permettre la connexion * `host` : nom d'hôte ou adresse ip à surveiller - préférez à changer par `127.0.0.1` et/ou `::1`. * `port` : le numéro du port d'écoute, par défaut : `4949` *D'autres variables sont configurables ; à vous d'éditer le fichier et de vous renseigner pour savoir quoi paramétrer !* ---- Pour finir, il est recommandé d'exécuter le script de configuration du nœud munin, à savoir : {{< code "openbsd-munin-node-configure-suggest" sh >}} ### 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-node-newsyslog" >}} ### Les plugins * Les plugins peuvent être gérés par la commande `munin-node-configure --shell` * Pour connaître la configuration d'un plugin : `munin-run nom-plugin config` * Pour tester le fonctionnement d'un plugin : `munin-run nom-plugin` Pour information, le répertoire est `/usr/local/libexec/munin/plugins/` ; pour les activer, il suffit de faire un lien symbolique d'un plugin en particulier vers `/etc/munin/plugins`, puis de redémarrer les services de munin. Certains plugins nécessitent une configuration supplémentaire, inscrite dans les commentaires d'entêtes du script. Il est alors nécessaire de modifier le fichier `/etc/munin/plugin-conf.d/openbsd-packages` en ajoutant les informations nécessaires. C'est le cas des plugins suivants : #### plugin http_loadtime * Options de configuration : * `requisites` : **{{< color red >}}n'activer cette option que sur du flux HTTP, et non HTTPS !{{< /color >}}** * WebAdmin : cf, section `network` : `HTTP loadtime of a page` Permet de surveiller l'accès à un site web, soit la page d'acceuil, soit une page dédiée. Exemple : {{< code "openbsd-munin-node-plugin-http-loadtime" >}} #### plugin intr * WebAdmin : cf, section `system` : `Interrupt activity` Relatif aux différentes interruptions d'activités - spécifique à OpenBSD. #### plugins nginx_* * WebAdmin : cf, section dédiée `nginx` Non seulement, il faut modifier le fichier `openbsd-packages`, tel que : {{< code "openbsd-munin-node-plugin-nginx" >}} Mais en plus, il faut rajouter une configuration serveur au serveur web nginx. {{< color red >}}Il n'est donc pas possible de le monitorer avec httpd.{{< /color >}} #### plugins pf_* * Options de configuration : * `user` : `root` * `do_searches` : `false` ou `true` pour permettre les interrogations adéquates. Certains plugins **pf_** peuvent nécessiter l'ajout de la variable d'environnement * WebAdmin : cf, section dédiée `pf` {{< code "openbsd-munin-node-plugin-pf" >}} #### plugin samba * Options de configuration : * `user` : `root` * `smbstatus` : restituer le chemin vers le binaire ad hoc * `ignoreipcshare` : `false` ou `true` pour ignorer ou non les partages IPC$ * WebAdmin : cf, section dédiée `samba` {{< code "openbsd-munin-node-plugin-samba" >}} #### plugins SNMP {{< note warning >}} Il semble que Munin ne soit pas directement capable de converser avec SNMPv3 en authentification forte ! {{< /note >}} * Options de configuration : * plusieurs options d'environnement sont disponibles dont celles montrées dans le fichier d'exemple * WebAdmin : cf, section dédiée `snmp` Recommandations : * À moins d'utiliser SNMP v3 qui permet l'authentification, le chiffrement, donc la confidentialité du flux et des données, SNMP n'est pas sécurisé. * Il est fortement recommandé de lire la documentation officielle de perl : `perldoc Munin::Plugin::SNMP` * Dans tous les cas, la variable d'environnement `community` ne devrait pas être paramétrée sur `public`. Exemple : {{< code "openbsd-munin-node-plugin-snmp" >}} ### La partie serveur Une fois que cela est fait, il faut modifier le {{< inside2 t="fichier de configuration du serveur" l="sys:openbsd:munin-server" a="munin-conf" >}} pour lui {{< inside2 t="ajouter votre nœud munin" l="sys:openbsd:munin-server" a="ajouter-un-n%c5%93ud" >}}… ### Packet-Filter Concernant les règles pour {{< abbr PF "Packet-Filter" >}}, il faut ouvrir en entrée et sortie , vers et depuis le serveur munin : * 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. ----