Tag Archives: monitoring

Monitorer votre serveur Linux grace à MRTG

mrtg monitoring

Aujourd’hui j’ai dû installer un logiciel de monitoring sur mes serveurs Linux afin de pouvoir superviser l’utilisation de la bande passante.

Pour faire celà, il m’a suffit d’installer MRTG (Multi Router Traffic Grapher) qui est un logiciel permettant de créer des graphiques sur le trafic réseau.

Il envoie des requêtes SNMP pour interroger des équipements réseaux tels que des routeurs,  des commutateurs, ou bien encore des serveurs disposant d’une MIB SNMP.

Installation d’Apache, MRTG et SNMP

Pour pouvoir utiliser MRTG, il nous apache et snmp. S’ils sont déjà installés, ne les réinstallez pas:

apt-get install apache2 mrtg snmpd

Configuration du SNMP

Faire une sauvegarde de la configuration snmp de base:

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

puis éditez le fichier de configuration de snmp:

nano /etc/snmp/snmpd.conf

et écrivez le contenu suivant:

rocommunity  public
syslocation  "France"
syscontact  votre@email.fr
com2sec public localhost public
group public v1 public
group public v2c public
group public usm public
view all included .1
access public "" any noauth exact all none none

Ensuite il faut éditer le fichier /etc/default/snmpd:

nano /etc/default/snmpd

Et vérifier que le fichier contient les lignes suivantes:

SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'
TRAPDRUN=yes
SNMPDCOMPAT=yes

La configuration du service snmp est désormais terminée, vous devez redémarrer le service snmp:

/etc/init.d/snmpd restart

Configuration de MRTG

Créez un dossier pour MRTG:

mkdir /var/www/mrtg
chmod o+w /var/www/mrtg

Créez un fichier de configuration:

cfgmaker --global 'WorkDir:/var/www/mrtg' --ifref=name --ifdesc=eth --global 'Options[_]: bits' --output /etc/mrtg.cfg   public@localhost

Ensuite, créez un fichier d’index:

indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

Puis démarrez MRTG:

env LANG=C /usr/bin/mrtg /etc/mrtg.cfg

Il se peut que des erreurs apparaissent au lancement de Mrtg. Rassurez-vous c’est tout à fait normal. Il suffit d’exécuter plusieurs fois la commande ci-dessus et vous n’aurez plus l’erreur.

Il ne nous reste plus qu’à ajouter une tache planifiée:

crontab -e

Et ajoutez cette ligne dans le gestionnaire des crons:

*/5 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg.cfg

L’installation de MRTG est terminée. Vous n’avez plus qu’à attendre 5 minutes puis vous pourrez consulter vos graphiques de statistiques en utilisant l’adresse suivante http://votre_ip/mrtg/.

Vous obtiendrez alors des graphiques de statistiques de consommation de bande passante de ce genre:

mrtg bandwidth

Une nouvelle version de NetSysInfo en préparation

NetSysInfo-Logo

Bientôt une année après la sortie de la première version de NetSysInfo, nous avons le plaisir de vous annoncer la préparation d’une seconde version de ce logiciel de monitoring et supervision d’ordinateurs.

De très nombreuses nouveautés vont faire leur apparition dont l’intégration d’un nouveau service nommé Cloud.

NetSysInfo va ainsi vous permettre d’envoyer vos données et statistiques de monitoring directement sur nos serveurs, ce qui vous permettra:

  • de voir vos statistiques via Internet via un portail totalement sécurisé
  • de gérer plusieurs machines
  • d’avoir un historique de plusieurs années

Évidemment les nouvelles fonctionnalités de NetSysInfo seront totalement gratuites.

Nous vous tiendrons informés dans les prochaines semaines.

Configuration ultime pour Conky

conky

 Afin de pouvoir monitorer et superviser plus facilement mon serveur Ubuntu, j'ai décidé d'utiliser le logiciel Conky.

Celui ci permet d'afficher sur le fond d'ecran de votre bureau plusieurs informations relatives à votre pc tels que la mémoire utilisée, la capacité de vos disques, l'utilisation de votre processeur, etc…

Ce logiciel est bien conçu car il est totalement configurable, sans limite et qu'il consomme très peu de ressources systèmes.

Je vous partage donc la configuration que j'utilise.

Pour l'utiliser, il faut éditer le fichier "~/.conky"

# conky configuration

# set to yes if you want Conky to be forked in the background
background no

# X font when Xft is disabled, you can pick one with program xfontsel
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono:size=9

# Text alpha when using Xft
xftalpha 0.8

# Update interval in seconds
update_interval 1.0

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window no

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 300 0
maximum_width 350

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no
draw_graph_borders yes

# Stippled borders?
stippled_borders 8

# border margins
border_margin 4

# border width
border_width 1

# Default colors and also border colors
default_color white
default_shade_color black
default_outline_color white

# own window options
own_window              yes
own_window_transparent  yes
own_window_type         override
own_window_hints        undecorated,below,sticky,skip_taskbar,skip_pager

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 10
gap_y 35

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer right

# colours
color1 white
color2 orange

text_buffer_size 2048

# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument

# stuff after 'TEXT' will be formatted on screen

TEXT
${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}System${font}  ${hr}
Host: ${color1}$nodename${color2} Uptime: ${color1}${uptime}${color2}
OS: ${color1}$sysname $kernel${color2} on ${color1}$machine

${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}CPU${font}  ${hr}
${color1}${execi 1000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'}
${freq}MHz   ${color2}Load: ${color1}${loadavg}   ${color2}Temp: ${color1}${acpitemp}°C
${color2}CPU Bar:  ${color1}$cpubar
${color2}Load Bar: ${color1}${cpugraph FFFFFF ffffff}

${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}Memory${font}  ${hr}
${color2}RAM:      ${color1}$memperc% used ${membar 6}${color2}
${color2}Swap:     ${color1}$swapperc% used ${swapbar 6}${color2}

${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}Disks${font}  ${hr}
${color2}Root:     ${color1}${fs_free_perc /} % free  ${fs_bar 6 /}
${color2}Freebox:  ${color1}${fs_free_perc /freebox} % free  ${fs_bar 6 /freebox}
${color2}Data:     ${color1}${fs_free_perc /data} % free  ${fs_bar 6 /data}

${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}Raid Status${font}  ${hr}
${color2}MdStat:   ${execi 60 tail -n3 /proc/mdstat | fold -w46}

${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}Networks${font}  ${hr}
${color2}Net IP:   ${color1}${execi 3600 wget -O - http://www.whatismyip.org/ | tail}
${color2}Router:   ${color1}${addr eth0}
${color2}Down:     ${color1}${downspeed eth0} k/s ${offset 53}${color2}Up:${color1}   ${upspeed eth0} k/s
${color2}TDown:    ${color1}${totaldown eth0}     ${offset 53}${color2}TUp:${color1}  ${totalup eth0}
${downspeedgraph eth0 25,145 FFFFFF ffffff} ${upspeedgraph eth0 25,145 FFFFFF ffffff}

${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}Processing${font}  ${hr}
NAME            PID       CPU%      MEM%${color1}
${top name 1} ${top pid 1}   ${top cpu 1}    ${top mem 1}
${top name 2} ${top pid 2}   ${top cpu 2}    ${top mem 2}
${top name 3} ${top pid 3}   ${top cpu 3}    ${top mem 3}
${top name 4} ${top pid 4}   ${top cpu 4}    ${top mem 4}

${offset -5}${color2}${font StyleBats:size=12}q ${voffset -2}${font Bitstream Vera Sans Mono:style=Bold:size=11}Logs${font}  ${hr}
${color1}${execi 30 tail -n3 /var/log/messages | fold -w46}
${color2}${stippled_hr 1}

Voila le rendu sur mon serveur:

Conky Configuration

Avec les infos que j'affiche je sais ainsi en 2 temps 3 mouvements si mon processeur est utilisé à 100%, si mon RAID est opérationnel, si mes disques durs sont pleins et j'en passe.

Pour moi, Conky est juste INDISPENSABLE.