Outils

Liste des connexions au serveur FTP

ftptop

Top des interfaces réseau

# Installation
apt-get install iftop
 
iftop

Top apache

# Installation
apt-get install apachetop
 
apachetop

Top MySQL

# Installation
apt-get install mtop
 
mtop

Monitoring réseau :

# Liste les connexions établies
netstat -tap
 
# Liste les ports en écoute
netstat -tulp
# ou
lsof -n | grep LISTEN
 
# Liste les connexions UDP 
lsof -n | grep UDP

Monit

TODO

Munin

Munin se compose d’un grapheur (munin) qui collecte les informations, et d’un daemon (munin-node) sur les noeuds (les serveurs monitorée, y compris celui hébergeant le grapheur).

On installe le grapheur et le daemon sur le serveur qui effectuera la collecte des informations (on installe aussi logtail qui est utilisé par certains plugins) :

apt-get install munin munin-node logtail

Configuration du grapheur

La configuration du grapheur se fait dans /etc/munin/munin.conf :

# On déplace éventuellement le dossier ou sont stockés les données vers le dossier /home, ou il est préférable de centraliser toutes les données
# Il faudra peut-être copier le fossier /var/lib/munin (mais pas le déplacer, car certains dossiers comme /var/lib/munin/plugin-state seront toujours utilisés)
dbdir   /home/munin
# On défini le dossier dans lequel se trouveront les pages de compte rendu accessibles en HTTP
htmldir /home/www/munin
 
# On défini les serveurs monitorés, en commençant donc par le serveur local
[server1.domain.tld]
  address 127.0.0.1
  use_node_name yes
 
# On ajoute éventuellement d'autres serveurs en définissant leur IP
[server2.domain.tld]
  address xxx.xxx.xxx.xx
  use_node_name yes

On ajoute ensuite l’alias dans la configuration d’Apache (/etc/apache2/conf.d/aliases.conf) :

Alias /monitoring /home/www/munin/
<Directory /home/www/munin/>
  AllowOverride All
</Directory>

On peut aussi déclarer cet alias dans la configuration d’un vhost pour le limiter à celui-ci, ou créer un vhost pour y accéder via un sous domaine (monitoring.domain.tld).

Si un serveur externe est monitoré, il faut ajouter la règle suivante à iptables pour autoriser Munin à s’y connecter :

iptables -A OUTPUT -p tcp --dport 4949 -j ACCEPT

Le grapheur contacte les noeuds toutes les 5 minutes (par défaut) via une tâche cron dans /etc/cron.d/munin qui appelle la commande munin-cron. On peut exécuter cette commande, mais il faut le faire depuis l’utilisateur munin, car si on le fait en root, les fichiers de données générés vont avoir root comme propriétaire et ne pourront pas être écrasés lors de la prochaine exécution du cron :

sudo -u munin munin-cron

Le compte rendu de l’exécution de cette tâche se trouve dans /var/log/munin/munin-*.log, principalement munin-uptade.log.

Configuration des noeuds

Si ce n’est pas déjà fait, on installe le daemon :

apt-get install munin-node logtail

La configuration se fait dans /etc/munin/munin-node.conf :

# IP(s) autorisée(s) à récupérer les donnnées
# On autorise le grapheur local, s'il existe
allow ^127\.0\.0\.1$
# Si un grapheur doit se connecter depuis un autre serveur, il faut préciser l'IP de celui-ci
allow ^xxx\.xxx\.xxx\.xxx$

Si un grapheur doit se connecter depuis un autre serveur, il faut ajouter les règles suivantes à iptables :

# "-s xxx.xxx.xxx.xxx" est optionnel et permet de limiter l'accès au serveur du grapheur autorisé
iptables -A INPUT -p tcp --dport 4949 -s xxx.xxx.xxx.xxx -j ACCEPT
iptables -A OUTPUT -p tcp --dport 4949 -j ACCEPT

Lorsqu’un grapheur se connecte, le résultat de l’exécution des plugins se trouve dans /var/log/munin/munin-node.log.

Après tout changement de configuration, ou ajout/suppression de plugin, il faut relancer le daemon :

/etc/init.d/munin-node restart

Plugins

Les plugins se trouvent dans le dossier /usr/share/munin/plugins/. Certains ont été activés automatiquement lors de l’installation.

Pour activer un plugin, il faut créer un lien symbolique (ou copier le fichier) dans /etc/munin/plugins/ :

ln -s /usr/share/munin/plugins/nom_plugin /etc/munin/plugins/nom_plugin

Le nom du fichier de certans plugins finit par un underscore, il faut donc ajouter un paramètre à la fin du nom du fichier (ou plus proprement le nom du lien symbolique) :

ln -s /usr/share/munin/plugins/if_ /etc/munin/plugins/if_eth0

Pour désactiver un plugin, il suffit de supprimer le lien symbolique :

rm /etc/munin/plugins/nom_plugin

La configuration des plugins se fait dans le fichier /etc/munin/plugin-conf.d/munin-node dans lequel on peut forcer par exemple l’user ou le groupe avec lesquels sera exécuté tel ou tel plugin (munin:munin par défaut) :

# Tous les plugins dont le nom commence par mysql
[mysql*]
user root
 
# Le module postfix_volume
[postfix_mailvolume]
group adm

Certains plugin permettent aussi de définir certains paramètres sous la forme env.nom_param valeur dans ce fichier. Pour d’autre, il faudra définir ces paramètres directement dans le fichier du plugin.

Pour tester que tout est en place pour le bon fonctionnement d’un plugin, utiliser la commande suivante :

/usr/share/munin/plugins/nom_plugin autoconf

On peut éventuellement exécuter le fichier du plugin pour voir s’il retourne les bonnes informations, mais pour certains (ceux qui utilisent les fichiers de log), chaque donnée n’est comptabilisée qu’une fois et ne sera donc pas comptabilisée lors de la prochaine exécution du plugin par le daemon.

Pour ajouter un plugin, il suffit de créer le fichier du plugin dans /usr/share/munin/plugins/, de le rendre accessible en écriture (chmod a+x /usr/share/munin/plugins/nom_plugin), puis de l’activer en créant le lien symbolique dans /etc/munin/plugins/. On peut récupérer des plugins à l’adresse suivante : http://muninexchange.projects.linpro.no/.

Configuration de certains plugins non installés par défaut, ou ne fonctionnant pas sans configuration :

amavis-debian

Statistiques sur le filtrage AMaViS.

Créer le fichier /usr/share/munin/plugins/amavis-debian et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/amavis-debian

Ajouter la configuration du plugin dans /etc/munin/plugin-conf.d/munin-node :

# Pour accéder aux logs de Postfix, les plugins en rapport doivent s'exécuter avec le même groupe que Postfix
[amavis*]
group adm

Activer le plugin :

ln -s /usr/share/munin/plugins/amavis-debian /etc/munin/plugins/amavis-debian

apache_accesses

Statistiques d’accès Apache.

Ce plugin nécessite que le module apache mod_status soit actif et que ce statut soit accessible via l’url http://127.0.0.1/server-status?auto (par défaut).

Pour activer le module mod_status :

a2enmod status

Puis ajouter les lignes suivantes dans /etc/apache2/sites-available/default :

ExtendedStatus On
<IfModule mod_status.c>
  <Location /server-status>
    SetHandler server-status
 
    # On limite l'accès à l'IP locale et l'IP du serveur (nécessaire car le plugin se connecte à l'IP du serveur, et non à 127.0.0.1)
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from xxx.xxx.xxx.xxx
  </Location>
</IfModule>

On redémarre Apache :

apache2ctl graceful

Le plugin est présent d’origine, il suffit de l’activer si ce n’est pas déjà fait :

ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses

apache_processes

Statistiques sur les processus Apache.

La démarche est exactement la même que pour le plugin apache_accesses.

apache_volume

Statistiques sur la quantité de données transférées via HTTP.

La démarche est exactement la même que pour le plugin apache_accesses.

apache_activity

Statistiques sur l’activité d’Apache.

Créer le fichier /usr/share/munin/plugins/apache_activity et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/apache_activity

La suite de la démarche est la même que pour le plugin apache_accesses.

apt_all

Statistiques sur les packets à mettre à jour via apt-get.

Ce plugin nécessite que la liste des packets APT soit régulièrement mise à jour. On ajoute donc cette tâche par exemple dans /etc/cron.d/munin :

# Plugin APT (mise à jour de la liste des packets APT toutes les heures)
53 * * * *      root  apt-get update > /dev/null 2>&1

Le plugin étant présent d’origine, il suffit ensuite de l’activer si ce n’est pas déjà fait :

ln -s /usr/share/munin/plugins/apt_all /etc/munin/plugins/apt_all

cpubyuser

Statistiques sur l’utilisation CPU par utilisateur.

Créer le fichier /usr/share/munin/plugins/cpubyuser et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/cpubyuser

Ajouter la configuration du plugin dans /etc/munin/plugin-conf.d/munin-node :

[cpubyuser]
# Définit les utilisateurs pour lesquels on affiche l'utilisation CPU
env.USERS root daemon www-data mysql proftpd postfix munin clamav amavis

Activer le plugin :

ln -s /usr/share/munin/plugins/cpubyuser /etc/munin/plugins/cpubyuser

cpuspeed2

Statistiques sur la fréquence des CPUs.

Créer le fichier /usr/share/munin/plugins/cpuspeed2 et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/cpuspeed2

Activer le plugin :

ln -s /usr/share/munin/plugins/cpuspeed2 /etc/munin/plugins/cpuspeed2

cputemp

Statistiques sur la température des CPUs.

Créer le fichier /usr/share/munin/plugins/cputemp et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/cputemp

Activer le plugin :

ln -s /usr/share/munin/plugins/cputemp /etc/munin/plugins/cputemp

hddtemp_smartctl

Statistiques SMART sur la température des disques.

Ce plugin nécessite l’installation de smartctl :

apt install smartmontools

Modifier la configuration du plugin dans /etc/munin/plugin-conf.d/munin-node :

[hddtemp_smartctl]
user root
group disk
# On précise les disques à monitorer
env.drives sda sdb
# On précise le type de chaque disque à monitorer
env.type_sda ata
env.type_sdb ata

Activer le plugin :

ln -s /usr/share/munin/plugins/hddtemp_smartctl /etc/munin/plugins/hddtemp_smartctl

load_extended

Statistiques sur la charge CPU

Créer le fichier /usr/share/munin/plugins/load_extended et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/load_extended

Activer le plugin :

ln -s /usr/share/munin/plugins/load_extended /etc/munin/plugins/load_extended

Ce plugin remplace le plugin load qu’on doit donc retirer :

rm /etc/munin/plugins/load

multiping

Statistiques de ping vers des hots prédéfinis.

Créer le fichier /usr/share/munin/plugins/multiping et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/multiping

Ajouter la configuration du plugin dans /etc/munin/plugin-conf.d/munin-node :

[multiping]
env.hosts google.com,yahoo.com,orange.fr,free.fr
env.names Google,Yahoo,Orange,Free
env.ping_args -c 2

Activer le plugin :

ln -s /usr/share/munin/plugins/multiping /etc/munin/plugins/multiping

mysql_connections

Statistiques sur les requêtes MySQL.

Créer le fichier /usr/share/munin/plugins/mysql_connections et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/mysql_connections

Activer le plugin :

ln -s /usr/share/munin/plugins/mysql_connections /etc/munin/plugins/mysql_connections

mysql_size_all

Statistiques sur la taille des bases de données MySQL.

Créer le fichier /usr/share/munin/plugins/mysql_size_all et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Si les bases de données ne sont pas dans /var/lib/mysql, il faut éditer une ligne vers la fin du fichier pour modifier ce chemin :

foreach my $f (glob("/home/mysql/*")) {

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/mysql_size_all

Activer le plugin :

ln -s /usr/share/munin/plugins/mysql_size_all /etc/munin/plugins/mysql_size_all

ntp_peers

Statistiques sur le décalage entre l’heure du serveur et les différents serveurs NTP utilisés.

Créer le fichier /usr/share/munin/plugins/ntp_peers et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/ntp_peers

Activer le plugin :

ln -s /usr/share/munin/plugins/ntp_peers /etc/munin/plugins/ntp_peers

Ce plugin pouvant remplacer le plugin ntp_ pour lequel une instance a été crée pour chaque serveur NTP utilisé (ce qui peut être assez envahissant), on peut supprimer tous les liens symboliques vers ce plugin (sous la forme “ntp_domain.tld”), donc en principe supprimer tous les liens commencant par “ntp_” sauf ntp_state et ntp_peers.

ntp_states

Statistiques sur les serveurs NTP utilisés.

Par défaut, ce plugin est dans la catégorie “Other”, mais comme les autres plugins de NTP sont dans la catégorie “NTP”, on ajoute la ligne définissant la catégorie après celle définissant le titre dans le fichier /usr/share/munin/plugins/ntp_states :

print "graph_title NTP states\n";
print "graph_category ntp\n";

Le plugin est présent d’origine, il suffit de l’activer si ce n’est pas déjà fait :

ln -s /usr/share/munin/plugins/ntp_states /etc/munin/plugins/ntp_states

proftpd_count

Statistiques sur le nombre de fichiers transférés via FTP.

Créer le fichier /usr/share/munin/plugins/proftpd_count et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Il faudra peut-être modifier le chemin du fichier log de Proftpd dans ce fichier :

LOGFILE=${logfile:-/var/log/proftpd/xferlog}

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/proftpd_count

Ajouter la configuration du plugin dans /etc/munin/plugin-conf.d/munin-node :

# Pour accéder aux logs de Proftpd, les plugins en rapport doivent s'exécuter avec le même groupe que Proftpd
[proftpd*]
group adm

Activer le plugin :

ln -s /usr/share/munin/plugins/proftpd_count /etc/munin/plugins/proftpd_count

proftpd_bytes

Statistiques sur la quantité de données transférées via FTP.

La démarche est exactement la même que pour le plugin proftpd_count.

postfix_mailqueue

Statistiques sur les filles d’attente de Postfix.

Ajouter la configuration du plugin dans /etc/munin/plugin-conf.d/munin-node :

# Pour accéder aux logs de Postfix, les plugins en rapport doivent s'exécuter avec le même groupe que Postfix
[postfix_*]
group adm

Le plugin étant présent d’origine, il suffit ensuite de l’activer si ce n’est pas déjà fait :

ln -s /usr/share/munin/plugins/postfix_mailqueue /etc/munin/plugins/postfix_mailqueue

postfix_mailvolume

Statistiques sur le volume de données transitant par Postfix.

La démarche est exactement la même que pour le plugin postfix_mailqueue.

postfix_mailstats

Statistiques sur le nombre d’emails délivré et rejetés par Postfix.

La démarche est exactement la même que pour le plugin postfix_mailstats.

postfix_mailfiltered

Statistiques sur le filtrage des emails par Postfix.

Créer le fichier /usr/share/munin/plugins/postfix_mailfiltered et y copier le contenu du plugin correspondant sur http://muninexchange.projects.linpro.no/.

Par défaut, ce plugin est dans la catégorie “Mail”, mais comme les autres plugins de Postfix sont dans la catégorie “Postfix”, on modifie la ligne concernée :

echo 'graph_category postfix'

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/postfix_mailfiltered

La suite de la démarche est la même que pour le plugin postfix_mailstats.

processes

Statistiques sur les processus.

Le plugin processes disponible sur http://muninexchange.projects.linpro.no/ est différent du plugin du même nom présent d’origine. On va donc récupérer le contenu de ce plugin et le copier dans un fichier /usr/share/munin/plugins/processes2.

Rendre ce fichier accessible en écriture :

chmod a+x /usr/chare/munin/plugins/processes2

Activer le plugin :

ln -s /usr/share/munin/plugins/processes2 /etc/munin/plugins/processes2

Ce plugin remplace le plugin processes qu’on doit donc retirer :

rm /etc/munin/plugins/processes

smart_

Statistiques SMART des disques.

Ce plugin nécessite l’installation de smartctl :

apt install smartmontools

Ajouter la configuration du plugin dans /etc/munin/plugin-conf.d/munin-node :

[smart_*]
user root
group disk
# Pour les disques SATA, il faut ajouter l'option "-d ata", on doit donc overrider les paramètres utilisés par par défaut
env.smartargs -a -d ata

Pour activer ce plugin, on doit créer un lien symbolique pour chaque disque à surveiller :

ln -s /usr/share/munin/plugins/smart_ /etc/munin/plugins/smart_sda
ln -s /usr/share/munin/plugins/smart_ /etc/munin/plugins/smart_sdb

uptime

Statistiques sur les serveurs NTP utilisés.

Par défaut, ce plugin est dans la catégorie “Other”, mais sa place est plus dans la catégorie “System”, on ajoute donc la ligne définissant la catégorie après celle définissant le titre dans le fichier /usr/share/munin/plugins/update :

echo 'graph_title Uptime'
echo 'graph_category system'

Le plugin est présent d’origine, il suffit de l’activer si ce n’est pas déjà fait :

ln -s /usr/share/munin/plugins/uptime /etc/munin/plugins/uptime

Autres plugins

Quelques plugins utiles, qu’il faut juste activer s’ils ne le sont pas par défaut :

  • cpu
  • mysql_bytes
  • mysql_queries
  • mysql_slowqueries
  • mysql_threads
 
serveur_dedie/monitoring.txt · Dernière modification: 29/11/2008 18:52 par galak
 
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki