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
Code : sh
# 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
, 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 : sh
# 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ôteallow
: permettre la connexionhost
: nom d’hôte ou adresse ip à surveiller - préférez à changer par127.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 : sh
# 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 :
Code :
# 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 :
Code :
[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 :
Code :
[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
:root
do_searches
:false
outrue
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 :
[pf_*]
user root
#env.do_searches yes
plugin samba
- Options de configuration :
user
:root
smbstatus
: restituer le chemin vers le binaire ad hocignoreipcshare
:false
outrue
pour ignorer ou non les partages IPC$
- WebAdmin : cf, section dédiée
samba
Code :
[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
community
ne devrait pas être paramétrée surpublic
.
Exemple :
Code :
[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 , 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
enudp
ettcp
- cela dépend de votre configuration SNMP , bien sûr.