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 :
- la FAQ officielle : http://munin-monitoring.org/wiki/faq
Installation
:# pkg_add munin-node
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 (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 :
:# rcctl enable munin_node
:# rcctl start munin_node
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 par127.0.0.1et/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 :
:# munin-node-configure --shell --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 :
# munin-node
/var/log/munin/munin-node.log root:wheel 644 7 250 * Z
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: n'activer cette option que sur du flux HTTP, et non HTTPS !
- 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 :
[http_loadtime]
env.target http://huc.fr.eu.org,http://huc.fr.eu.org/fr/sys/openbsd/munin-monitoring-openbsd/
#env.requisites true
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 :
[nginx*]
env.url http://localhost/nginx_status
Mais en plus, il faut rajouter une configuration serveur au serveur web nginx.
Il n'est donc pas possible de le monitorer avec httpd.
plugins pf_*
-
Options de configuration :
user:rootdo_searches:falseoutruepour 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
[pf_*]
user root
#env.do_searches yes
plugin samba
- Options de configuration :
user:rootsmbstatus: restituer le chemin vers le binaire ad hocignoreipcshare:falseoutruepour ignorer ou non les partages IPC$
- WebAdmin : cf, section dédiée
samba
[samba]
user root
env.smbstatus /usr/local/bin/smbstatus
env.ignoreipcshare 1
plugins SNMP
-
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
communityne devrait pas être paramétrée surpublic.
Exemple :
[snmp_*]
env.warning 10
env.critical 5 # need for _print_*
env.version 2
env.community private
La partie serveur
Une fois que cela est fait, il faut modifier le fichier de configuration du serveur pour lui ajouter votre nœud munin …
Packet-Filter
Concernant les règles pour 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,162enudpettcp- cela dépend de votre configuration SNMP , bien sûr.