Table of Contents

Traduit en partie de la description du paquet au sein de debian:

Munin est une solution hautement flexible utilisée pour créer des graphes de pratiquement tout ce qui est imaginable dans votre réseau tout en maintenant une facilité d'installation et de configuration.

Site officiel : http://munin-monitoring.org

Le paquet munin-node doit être installé sur toutes les machines à monitorer.

Le paquet munin doit être installé sur la machine qui fera office de plateforme de visualisation des informations. On va l'appeler ici serveur'

Configuration côté serveur à monitorer

Lors de son installation, munin va faire une autodécouverte de l'environnement et créer des liens symboliques depuis /etc/munin/plugins/ /usr/share/munin/plugins.

Au besoin pour voir la liste des plugins exploitables par défaut, il faut exécuter:

munin-node-configure –suggest

Monitoring bind9

Pour un serveur disposant de bind9, il faut en plus effectuer les actions suivantes.

Ajouter le fichier /etc/munin/plugin-conf.d/99-bind avec le contenu suivant:

[bind9]
env.logfile /var/log/named/query.log

[bind9_rndc]
user root
env.querystats /var/log/named/named.stats

Créer le dossier /var/log/named

mkdir /var/log/named
chown bind:bind /var/log/named

:!: Sur debian (10), il existe déjà un profil apparmor qui prend en compte le dossier /var/log/named

Mettre a jour le fichier /etc/bind/named.conf.options

  1. diff --git a/bind/named.conf.options b/bind/named.conf.options
  2. index 4778d18..080b6d1 100644
  3. --- a/bind/named.conf.options
  4. +++ b/bind/named.conf.options
  5. @@ -21,4 +21,35 @@ options {
  6. dnssec-validation auto;
  7.  
  8. listen-on-v6 { any; };
  9. + statistics-file "/var/log/named/named.stats";
  10. +};
  11. +
  12. +logging {
  13. + channel b_log {
  14. + file "/var/log/named/bind.log" versions 30 size 1m;
  15. + print-category yes;
  16. + print-severity yes;
  17. + print-time yes;
  18. + severity info;
  19. + };
  20. +
  21. + channel b_debug {
  22. + file "/var/log/named/debug.log" versions 2 size 1m;
  23. + print-category yes;
  24. + print-severity yes;
  25. + print-time yes;
  26. + severity dynamic;
  27. + };
  28. +
  29. + channel b_query {
  30. + file "/var/log/named/query.log";
  31. + print-severity yes;
  32. + print-time yes;
  33. + };
  34. +
  35. +
  36. + category default {b_log; b_debug; };
  37. + category config {b_log; b_debug; };
  38. + category queries {b_query; };
  1. ln -s '/usr/share/munin/plugins/bind9_rndc' '/etc/munin/plugins/bind9_rndc'
  2. ln -s '/usr/share/munin/plugins/bind9' '/etc/munin/plugins/bind9'
  3. systemctl restart bind9
  4. systemctl restart munin-node

Effectuer la rotation et compresser les fichiers de logs au delà de 3M

Ajouter le fichier /etc/logrotate.d/bind avec le contenu suivant.

  1. /var/log/named/query.log
  2. /var/log/named/named.stats
  3.  
  4. {
  5. rotate 12
  6. size 3M
  7. compress
  8. missingok
  9. su bind bind
  10. copytruncate
  11. }

Bien sur tout cela est ajustable en fonction de votre environnement notamment les lignes 5 et 6

Aperçu

DNS queries by status

DNS queries by type

Configuration côté serveur monitoring

Ex:

  1. [vps1.cmnog.cm]
  2. address [2001:42d0:0:409::44]
  3. use_node_name yes
  4.  
  5. [vps2.cmnog.cm]
  6. address [2a01:7e00::f03c:92ff:fefb:132d]
  7. use_node_name yes

Visualisation

En fonction du serveur web installé, il faudra ajuster la configuration de votre environnement web.

Si c'est apache2, la configuration par défaut de munin, permet de consulter la page de monitoring à l'adresse http://nom.de.mon.serveur.web/munin . Des précisions se trouvent dans /etc/apache2/conf-enabled/munin.conf

  1. # Munin configuration for apache2
  2. #
  3. # Apache can serve munin's files that are either statically generated
  4. # (in a cron job) or generated on demand (via cgi).
  5. # The relevant munin settings are "html_strategy" and "graph_strategy".
  6. # The related apache settings can be adjusted at the end of this file.
  7. #
  8. # See /usr/share/doc/munin/README.Debian for details.
  9.  
  10.  
  11. # ***** COMMON SETTINGS FOR ALL STRATEGIES *****
  12.  
  13. ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
  14. Alias /munin/static/ /var/cache/munin/www/static/
  15.  
  16. <Directory /var/cache/munin/www>
  17. Require all granted
  18. Options None
  19. Order Allow,Deny
  20. Allow from all
  21. </Directory>
  22.  
  23. <Directory /usr/lib/munin/cgi>
  24. Require local
  25. <IfModule mod_fcgid.c>
  26. SetHandler fcgid-script
  27. </IfModule>
  28. <IfModule !mod_fcgid.c>
  29. SetHandler cgi-script
  30. </IfModule>
  31. </Directory>
  32.  
  33.  
  34. # ***** SETTINGS FOR CGI/CRON STRATEGIES *****
  35.  
  36. # pick _one_ of the following lines depending on your "html_strategy"
  37. # html_strategy: cron (default)
  38. Alias /munin /var/cache/munin/www
  39. # html_strategy: cgi (requires the apache module "cgid" or "fcgid")
  40. #ScriptAlias /munin /usr/lib/munin/cgi/munin-cgi-html

La directive à la ligne 20 permet d'autoriser tout ou des préfixes IPv4/IPv6 précis.

    Allow from 10.112.0.0/13 2001:db8:cafe::/48

Et voilà 8-)