Munin-node : Client pour Monitorer OpenBSD

Article publié, le
5 minute(s) de lecture

Cet article contient 869 mots.
Source brute de l'article : MD

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.

Documentation

Il est toujours utile de lire les documentations pkg-readmes fournies ; celles disponibles sont dans /usr/local/share/doc/pkg-readmes/, à-propos de :

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ô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 : 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 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 : 

[pf_*]
user root
#env.do_searches yes

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 : 

[samba]
  user root
  env.smbstatus /usr/local/bin/smbstatus
  env.ignoreipcshare 1

plugins SNMP

Attention
  • 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 : 

[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 en udp et tcp - cela dépend de votre configuration SNMP , bien sûr.