Changements récents - Rechercher:

Espace Wiki ∂'Alembert
Documentation générale


Espace Guide de survie du SysAdmin
Documentation technique


Espace Guide de survie du Développeur
Pour les développeurs


Espace Institut ∂’Alembert
L'institut


Le Site
À propos du Site
Liste complète des Pages


Aide PmWikiFr

Help PmWiki

GSSA /

Munin

Page mise à jour le 06/11/2015 17:13

Vous êtes dans un espace restreint en écriture.


Munin est un outil de surveillance système et réseau open source sous licence publique générale GNU1. Il s'appuie sur l'outil RRDTool


(:numbered-sections format=0.A.1.a:)

Architecture

  1. munin : le serveur
  2. munin-node : les nœuds

Le serveur

  • installation
    apt-get install munin
  • configuration dans le fichier /etc/munin/munin.conf permet de définir les nœuds à surveiller
    [WEB;sekirk]
     address sekirk
     use_node_name yes
    WEB
    est le (ou les) groupe(s)
    selkrik
    est le nom du nœud

Graphes Dynamiques

http://munin-monitoring.org/wiki/MuninConfigurationMasterCGI#nginx

Les nœuds

Installation de munin-node

  1. installer munin-node:
    # apt-get install --no-install-recommends munin-node
  2. configurer les serveur munin, dans le fichier /etc/munin/munin-node.conf:
    allow ^134\.157\.69\.83$
  3. ouvrir le port 4949 avec iptables:
    # iptables -A INPUT -s 134.157.69.83/32 -p tcp -m tcp --dport 4949 -j ACCEPT
    # iptables -A OUTPUT -d 134.157.69.83/32 -p tcp -m tcp --sport 4949 -j ACCEPT
    • pour CentOS, pour le mettre en début de chaine
      # iptables -I INPUT 1 -s 134.157.69.83/32 -p tcp -m tcp --dport 4949 -j ACCEPT
  4. relancer le service munin-node:
    # service munin-node restart && tail -f /var/log/munin/munin-node.log
    Stopping Munin Node agents:                                [  OK  ]
    Starting Munin Node:                                       [  OK  ]
    Process Backgrounded
    2015/11/04-19:39:49 MyPackage (type Net::Server::Fork) starting! pid(27830)
    Binding to TCP port 4949 on host *
    Setting gid to "0 0"
    2015/11/04-19:40:22 Server closing!
    Process Backgrounded
    2015/11/04-19:40:22 MyPackage (type Net::Server::Fork) starting! pid(27911)
    Binding to TCP port 4949 on host *
    Setting gid to "0 0"
    • ou pour CentOS
      # service munin-node restart && tail -f /var/log/munin-node/munin-node.log
CentOS 6, 5 ou 4

Le paquet existent sur des dépôts EPEL.

Installation de Poor Man's Munin Node -- pas conseillé

Ce script PERL permet d'avoir un service munin-node, sans avoir a installer de paquet.

comme il n'y a pas d' installation de tous les paquets PERL, la plupart de plugins ne fonctionnent pas

  1. installer le script pmmn dans un repertoire:
    cd /usr/local/bin
    wget https://raw.githubusercontent.com/munin-monitoring/contrib/master/tools/pmmn/bin/pmmn --no-check-certificate
  2. lancer le script avec le chemin des fichier de plugins
    chmod +x pmmn
    ./pmmn -d plugins

Pour avoir un service de lancement au démarrage, plusieurs possibilités

  • faire du TCP forward avec xinetd
  • faire du tunnel SSH
le TCP forward avec xinetd
  • il faut de lancer le service avec xinetd dur le serveur munin:
    service munin-modemeca
    {
            disable         = no
            id              = munin-node-modemeca
            socket_type     = stream
            type            = UNLISTED
            protocol        = tcp
            port            = 7001
            flags           = IPv4
            user            = root
            wait            = no
            server          = /usr/bin/ssh
            server_args     = root@lilu /usr/local/bin/pmmn
    }
  • installer pmmn sur le munin-node (ici lilu)
  • configurer dans le fichier /etc/munin/munin.conf:
    [lilu]
     address localhost
     port 7001

Test de l'architecture

pour tester le tout vers un nœud (n1), il suffit de lancer sur le serveur munin la commande:

$ nc n1 4949 <<EOT
fetch cpu
fetch load
quit
EOT

# munin node at n1.dalembert.upmc.fr
user.value 631781
nice.value 0
system.value 904996
idle.value 8653643329
iowait.value 4746689
irq.value 10285
softirq.value 84999
steal.value 0
.
load.value 0.05
.

Les plugins

liste des plugins
http://gallery.munin-monitoring.org/index.html

À chaque changement dans les plugins, il faut relancer munin-node:

service munin-node restart && tail -f /var/log/munin/munin-node.log

Configurations de base

Le nombre de plugins est astromomique : on croule sous les infos.

  • Pour limiter voici les plugins que j'active pour une surveillance « classique »:
#!/bin/bash

PLUGINS="cpu df fw_* if_ if_err_ ip_ load memory processes swap  threads  uptime  users  vmstat"
DEVNET=eth0

rm -f /etc/munin/plugins/*

ip=$(ifconfig ${DEVNET}|grep 'inet addr'|awk '{print $2}'|awk -F: '{print $2}')

for p in $PLUGINS
do
  case $p in
    if_|if_err_) ln -sf /usr/share/munin/plugins/$p /etc/munin/plugins/${p}${DEVNET} ;;
    ip_) test -n "$ip" && ln -sf /usr/share/munin/plugins/$p /etc/munin/plugins/${p}${ip} ;;
    *) ln -sf /usr/share/munin/plugins/$p /etc/munin/plugins
  esac
done
  • SMART
  1. installer le bon paquet:
    apt-get install smartmontools
  2. scanner vos disques:
    smartctl --scan
    /dev/sda -d scsi # /dev/sda, SCSI device
    /dev/sdb -d scsi # /dev/sdb, SCSI device
  3. installer les liens:
    ln -sf /usr/share/munin/plugins/smart_ /etc/munin/plugins/smart_sda
    [etc.]

Varnish 2

source
https://github.com/basiszwo/munin-varnish

Dans la version 2, munin n'integre plus varnish v2.

apache2 status

plugin core
  • configuration:
    • de munin-node: dans le fichier /etc/munin/plugin-conf.d/apache :
      [apache_*]
      env.url http://127.0.0.1/server-status?auto
    • de apache: activer le module mod_status et l'url, ainsi que le mode etendu
      [...]
      LoadModule status_module modules/mod_status.so
      [...]

      <Location /server-status>
          SetHandler server-status
          Order deny,allow
          Deny from all
          Allow from 127.
      </Location>
      ExtendedStatus On

nginx status

NFS client / serveur

  • pour le serveur
    ln -sf /usr/share/munin/plugins/nfsd /etc/munin/plugins/
  • pour les clients
    ln -sf /usr/share/munin/plugins/nfs_client /etc/munin/plugins/

bind9

plugin core
  • configuration /etc/munin/plugin-conf.d/bind9
    [bind9*]
    env.logfile /var/named/chroot/var/named/named.request
    user root
    timeout 120

dhcp-pool

source
https://github.com/munin-monitoring/contrib/blob/master/plugins/network/dhcp-pool
  • installation
    cd /etc/munin/plugins
    wget https://github.com/munin-monitoring/contrib/raw/master/plugins/network/dhcp-pool --no-check-certificate
    chmod +x dhcp-pool
  • configuration dans /etc/munin/plugin-conf.d/dhcpd-pool :
    [dhcp-pool]
    env.conffile /etc/dhcpd.conf
    env.leasefile /etc/dhcpd-clients.conf

dovecot

source
https://github.com/munin-monitoring/contrib/blob/master/plugins/mail/dovecot
  • installation
    cd /etc/munin/plugins
    wget https://github.com/munin-monitoring/contrib/raw/master/plugins/mail/dovecot --no-check-certificate
    chmod +x dovecot
  • configuration dans /etc/munin/plugin-conf.d/dovecot
    [dovecot]
    env.logfile /var/log/dovecot.log

Liens Externes

  • liste de plugins «contrib» [4]

Erreurs Connues

Unmatched [ in regex; marked by <-- HERE in m/[ <-- HERE \/ at /usr/share/perl5/Munin/Node/Service.pm line 42.

remède
changer le fichier /etc/munin/munin-node.conf en supprimant dans la ligne
ignore_file "[\\#~]$"

Liens Externes

À propos du site Licence Creative Commons Cooked with love in 2014-2023 by pcht
Page mise à jour le 06/11/2015 17:13