munin:accueil

Ceci est une ancienne révision du document !


Munin

apt install munin-node munin-plugins-extra

Il est possible de visualiser l'état des plugins (données collectées):

munin-node-configure

En rajoutant --suggest, il est possible de savoir quels plugins il est pertinent d'activer et lesquels posent problème.

L'activation d'un plugin se fait en faisant un lien symbolique de /usr/share/munin/plugins/<plugin> vers /etc/munin/plugins/.

Pour les plugins qui proposent plusieurs infos (signalés par un plus dans la liste), il faut créer le lien symbolique en ajoutant un underscore et le nom du sous-plugin.

Après chaque modification, il faut redémarrer le service munin-node.

Plugins

Nginx

Pour Nginx, il faut installer le paquet libwww-perl et ajouter dans la partie server du fichier /etc/nginx/conf.d/default.conf:

    location /nginx_status {
        stub_status on;    # return basic status information
        access_log off;
        allow 127.0.0.1;   # restrict access to local only
        deny all;
    }
MySQL

Pour MySQL, il faut installer le paquet libcache-cache-perl.

PiHole

Plugin pour monitorer PiHole: https://github.com/Rauks/MuninPiholePlugins mais préférer le fork https://github.com/RenWal/MuninPiholePlugins qui contient un graphe en plus.

Il faut créer un token depuis l'interface d'administration de PiHole et l'utiliser :

  • /admin/api.php?summary&auth=$envtoken, il faut ensuite supprimer le séparateur des milliers :
    stats=$(echo $apicall | sed 's/[{}"]//g' | sed -E "s/([0-9]),([0-9])/\1\2/g" | tr "," "\n")
  • /admin/api.php?getQueryTypes&auth=$envtoken
Débit Internet

Pour monitorer le débit de la connexion Internet, utiliser l'outil de Ookla : https://www.speedtest.net/apps/cli. Il est ensuite possible de stocker le résultat de la commande suivante dans un fichier :

speedtest --accept-license --accept-gdpr --format=json-pretty

et ensuite utiliser les deux plugins suivants :

latency
#!/bin/bash
 
case $1 in
	config)
	echo "graph_category network"
	echo "graph_title Latency"
	echo "graph_args -l 0"
	echo "graph_vlabel ms"
	echo "graph_scale no"
	echo "latency.label Latency"
	echo "latency.type GAUGE"
	echo "latency.draw LINE1"
	echo "graph_info Graph of Internet Connection Latency"
	exit 0;;
esac
 
OUTPUT=$(jq .ping.latency speedtest.out)
 
echo "latency.value $OUTPUT"
speedtest
#!/bin/bash
 
case $1 in
	config)
	echo "graph_category network"
	echo "graph_title Speedtest"
	echo "graph_args --base 1000 -l 0"
	echo "graph_vlabel DL / UL"
	echo "graph_scale no"
	echo "down.label DL"
	echo "down.type GAUGE"
	echo "down.draw LINE1"
	echo "up.label UL"
	echo "up.type GAUGE"
	echo "up.draw LINE1"
	echo "graph_info Graph of Internet Connection Speed"
	exit 0;;
esac
 
DOWNLOAD=$(jq ".download.bandwidth*8/1e6" speedtest.out)
UPLOAD=$(jq ".upload.bandwidth*8/1e6" speedtest.out)
 
echo "down.value $DOWNLOAD"
echo "up.value $UPLOAD"
Données SMART d'un disque dur

Installer et activer les données SMART du disque dur.

Copier le plugin smart_<disque dur>, même si Munin ne le suggère pas.

Il est possible de désactiver les avertissements en désactivant la variable report_warnings directement dans le script.

Données des disques durs montés dans un sous-dossier de /home

Il faut ajouter ProtectHome=false à la surcharge du service (voir Autoriser les plugins à accéder au dossier temporaire) (Source)

SSH

https://github.com/munin-monitoring/contrib/blob/master/plugins/ssh/sshd_log

[sshd_log]
user root
group root
env.logfile /var/log/auth.log
env.type DERIVE
Autoriser les plugins à accéder au dossier temporaire

Surcharger le service munin-node avec le contenu suivant:

[Service]
PrivateTmp=false

Source

Debuguer

Il est possible d'exécuter la commande suivante pour simuler la réponse que recevra Munin en interrogeant le plugin:

sudo munin-run <plugin>

Une façon plus sûre de tester (pour vraiment voir ce que va obtenir le serveur Munin):

nc localhost 4949
# munin node at <hostname>
fetch <plugin>
# ... réponse ...

apt install munin

Les noeuds dont il faut récolter les données sont définis dans le fichier /etc/munin/munin.conf.

Il est possible de spécifier le port d'écoute des noeuds (par défaut Munin communique sur le port 4949, ne pas oublier de l'ouvrir sur les pare-feus !):

[host]
    address 127.0.0.1
    port 4950
    use_node_name yes

Pour préciser les groupes, visibles dans l'interface web:

[groupe;host]

Les fichiers de l'interface web sont générés dans le dossier /var/cache/munin/www.

Changer le thème

Déplacement des données vers un nouveau serveur

Il faut copier tous les fichiers *.rrd du répertoire /var/lib/munin/.

Source

  • munin/accueil.1703955718.txt.gz
  • Dernière modification : 2023/12/30 18:01
  • de phsw