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
- munin : le serveur
- munin-node : les nœuds
Le serveur
- installation
- 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
- installer munin-node:
# apt-get install --no-install-recommends munin-node
- configurer les serveur munin, dans le fichier /etc/munin/munin-node.conf:
- 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
- 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.
- pour les installer le paquet epel-release sur les depots:
yum install munin-node --enablerepo=epel
- ajouter les clés si nécessaire.
- pour la CentOS4, le fichier /etc/yum.repos.d/epel.repo ne fonctionne pas. il faut
- commenter le champs
mirrorlist=
- decommenter le champs
baseurl=
- il faut désactiver les sources par défauts (car plus actives)
mv /etc/yum.repos.d/CentOS-Base.repo{,--}
mv /etc/yum.repos.d/CentOS-Media.repo{,--}
- ajouter la source Vault dans /etc/yum.repos.d/CentOS-Vault-4.7.repo
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
- 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
- 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
- installer le bon paquet:
apt-get install smartmontools
- scanner vos disques:
smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
- 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
Liens Externes