Monitoring Serveur Dédié
Sommaire
Introduction
Vous trouverez dans cette section quelques logiciels qui vous permettrons de surveiller votre serveur dédié / vps avec une interface graphique qui pourra être visualisé depuis votre navigateur ou soit depuis votre terminal.
Cacti
Introduction
Nagios
Introduction
Linux-Dash
Introduction
Linux-Dash
Introduction
Linux-Dash permet de suivre en temps réel l'état des ressources de son serveur.
Il est léger, plutôt performant et assez complet. Bien entendu il à ses limitations donc si vous souhaitez gérer un parc ou que vous avez besoin de choses complexes, il vous faudra voir du côté de Nagios ou autres...
Ce tutoriel a été réalisé pour Nginx.
Free 4 Funs ne pourra être tenue responsable d’une instabilité du système résultant d’une mauvaise installation du système d’exploitation.
Requis
Rien ne vous oblige à passer par git, vous pouvez directement télécharger l'archive sur cette page puis descendez à l'étape de création du vhost.
Il vous faudra juste retirer git de la ligne ci-dessous avant d'installer.
apt-get install php5-json php5-curl git
ou
aptitude install php5-json php5-curl git
avec sudo :
sudo apt-get install php5-json php5-curl git apache2-utils
ou
sudo aptitude install php5-json php5-curl git apache2-utils
Installation
Avant de commencer, nous mettons à jour la machine :
apt-get update && apt-get upgrade
ou
aptitude update && aptitude upgrade
avec sudo :
sudo apt-get update && sudo apt-get upgrade
ou
sudo aptitude update && sudo aptitude upgrade
nous allons créer un vhost (pensez à modifier checksys.no-ip.org dans les différentes étapes !) :
nano /etc/nginx/sites-available/checksys.no-ip.org
ou avec sudo :
sudo nano /etc/nginx/sites-available/checksys.no-ip.org
Copier/coller ceci :
server {
server_name checksys.no-ip.org;
listen 80;
access_log /var/log/nginx/access_linux-dash.log;
error_log /var/log/nginx/error_linux-dash.log;
location /linux-dash {
root /usr/share/nginx/html;
index index.html index.php;
}
location ~* \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
try_files $uri =404;
expires max;
access_log off;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location ~ \.php(/|$) {
}
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
try_files $uri $uri/ /index.php?$args;
include fastcgi_params;
}
Si vous utiliser php-fpm via socket, de commenter la ligne fastcgi_pass unix:/var/run/php5-fpm.sock; et commenter celle-ci : fastcgi_pass 127.0.0.1:9000; en mettant un #.
On active notre vhost :
ln -s /etc/nginx/sites-available/checksys.no-ip.org /etc/nginx/sites-enabled/
On se place dans le répertoire du serveur web :
cd /usr/share/nginx/html
ou avec sudo :
sudo bash -c 'cd /usr/share/nginx/html'
On télécharge Linux-Dash (ceci nous permettra de garder à jour la version ultérieurement) :
git clone https://github.com/afaqurk/linux-dash.git
ou avec sudo :
sudo git clone https://github.com/afaqurk/linux-dash.git
Cloning into 'linux-dash'...
remote: Counting objects: 1994, done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 1994 (delta 17), reused 0 (delta 0)
Receiving objects: 100% (1994/1994), 1.19 MiB | 1.09 MiB/s, done.
Resolving deltas: 100% (1139/1139), done.
On redémarre Nginx :
service nginx restart
Maintenant, dans votre navigateur, allez sur la page http://votre_domaine.fr/linux-dash et admirer :)
Sécurisation
Nous utilisons apache2-utils pour pouvoi générer le htpasswd, si vous avez une autre méthode, vous pouvez ignorer cette étape.
apt-get install apache2-utils
ou
aptitude install apache2-utils
avec sudo :
sudo apt-get install apache2-utils
ou
sudo aptitude install apache2-utils
Création du fichier .htpasswd avec une encryption en SHA :
htpasswd -cs /usr/share/nginx/html/linux-dash/.htpasswd VOTRE_LOGIN
ou avec sudo :
sudo htpasswd -cs /usr/share/nginx/html/linux-dash/.htpasswd VOTRE_LOGIN
Vous devrez saisir votre mot de passe (et le confirmer) :
New password:
Re-type new password:
Adding password for user VOTRE_LOGIN
Éditons notre vhost :
nano /etc/nginx/sites-enabled/checksys.no-ip.org
ou avec sudo :
sudo nano /etc/nginx/sites-enabled/checksys.no-ip.org
Chercher location /linux-dash {, sur une nouvelle ligne, ajouter (Ce code devra être inséré avant l'accolade de fermeture du bloc location linux-dash):
auth_basic "Linux Dash";
auth_basic_user_file "/usr/share/nginx/html/linux-dash/.htpasswd";
Le vhost complet devra ressembler à :
server {
server_name checksys.no-ip.org;
listen 80;
access_log /var/log/nginx/access_linux-dash.log;
error_log /var/log/nginx/error_linux-dash.log;
location /linux-dash {
root /usr/share/nginx/html;
index index.html index.php;
auth_basic "Linux Dash";
auth_basic_user_file "/usr/share/nginx/html/linux-dash/.htpasswd";
}
location ~* \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ {
try_files $uri =404;
expires max;
access_log off;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location ~ \.php(/|$) {
}
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
try_files $uri $uri/ /index.php?$args;
include fastcgi_params;
}
On redémarre Nginx :
service nginx restart
Maintenant, dans votre navigateur, rendez-vous sur la page :
et si vous n'indiquez pas le bon identifiant :
F.A.Q
Q Comment mettre à jour Linux-Dash ?
R cd /chemin_Linux-Dash && git pull
ou avec sudo :
cd /chemin_Linux-Dash && sudo git pull
Glances
Introduction
Glances vous permet de suivre en temps réel l'état des ressources de son serveur.
Free 4 Funs ne pourra être tenue responsable d’une instabilité du système résultant d’une mauvaise installation du système d’exploitation.
Requis
apt-get install python-dev python-pip
ou
aptitude install python-dev python-pip
avec sudo :
sudo apt-get install python-dev python-pip
ou
sudo aptitude install python-dev python-pip
Installation Python
Avant de commencer, nous mettons à jour la machine :
apt-get update && apt-get upgrade
ou
aptitude update && aptitude upgrade
avec sudo :
sudo apt-get update && sudo apt-get upgrade
ou
sudo aptitude update && sudo aptitude upgrade
On télécharge Glances (ceci nous permettra de garder à jour la version ultérieurement) :
pip install Glances
ou avec sudo :
sudo pip install Glances
une fois installé, il vous suffira d'exécuter glances en SSH pour voir les différentes informations.
Une capture décran d'un VPS gratuit :
Il n'y a rien de compliqué, cependant voici la légende des couleurs :
VERT : la statistique est OK BLEU : la statistique est CAREFUL (prudence donc à surveiller...)
VIOLET: la statistique est WARNING (en alerte)
ROUGE : la statistique est CRITICAL (critique)
Si vous souhaitez vous amuser à modifier la configuration, vous trouverez le fichier de configuration dans /etc/glances/glances.conf.
A ce jour où nous écrivons ce tutoriel, glances est en version 2.2.1.
L'aide de glances :
glances -h
usage: glances [-h] [-V] [-d] [-C CONF_FILE] [--disable-network]
[--disable-diskio] [--disable-fs] [--disable-sensors]
[--disable-left-sidebar] [--disable-process] [--disable-log]
[--disable-bold] [--enable-process-extended] [--enable-history]
[--path-history PATH_HISTORY] [--output-csv OUTPUT_CSV]
[-c CLIENT] [-s] [--browser] [--disable-autodiscover] [-p PORT]
[-B BIND_ADDRESS] [--password-badidea PASSWORD_ARG]
[--password] [--snmp-community SNMP_COMMUNITY]
[--snmp-port SNMP_PORT] [--snmp-version SNMP_VERSION]
[--snmp-user SNMP_USER] [--snmp-auth SNMP_AUTH] [--snmp-force]
[-t TIME] [-w] [-f PROCESS_FILTER] [--process-short-name]
[--hide-kernel-threads] [--tree] [-b] [-1] [--fs-free-space]
[--theme-white]
optional arguments:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-d, --debug Enable debug mode
-C CONF_FILE, --config CONF_FILE
path to the configuration file
--disable-network disable network module
--disable-diskio disable disk I/O module
--disable-fs disable filesystem module
--disable-sensors disable sensors module
--disable-left-sidebar
disable network, disk io, FS and sensors modules
--disable-process disable process module
--disable-log disable log module
--disable-bold disable bold mode in the terminal
--enable-process-extended
enable extended stats on top process
--enable-history enable the history mode
--path-history PATH_HISTORY
Set the export path for graph history
--output-csv OUTPUT_CSV
export stats to a CSV file
-c CLIENT, --client CLIENT
connect to a Glances server by IPv4/IPv6 address or
hostname
-s, --server run Glances in server mode
--browser start the client browser (list of servers)
--disable-autodiscover
disable autodiscover feature
-p PORT, --port PORT define the client/server TCP port [default: 61209]
-B BIND_ADDRESS, --bind BIND_ADDRESS
bind server to the given IPv4/IPv6 address or hostname
--password-badidea PASSWORD_ARG
define password from the command line
--password define a client/server password from the prompt or
file
--snmp-community SNMP_COMMUNITY
SNMP community
--snmp-port SNMP_PORT
SNMP port
--snmp-version SNMP_VERSION
SNMP version (1, 2c or 3)
--snmp-user SNMP_USER
SNMP username (only for SNMPv3)
--snmp-auth SNMP_AUTH
SNMP authentication key (only for SNMPv3)
--snmp-force force SNMP mode
-t TIME, --time TIME set refresh time in seconds [default: 3 sec]
-w, --webserver run Glances in web server mode
-f PROCESS_FILTER, --process-filter PROCESS_FILTER
set the process filter pattern (regular expression)
--process-short-name force short name for processes name
--hide-kernel-threads
hide kernel threads in process list
--tree display processes as a tree
-b, --byte display network rate in byte per second
-1, --percpu start Glances in per CPU mode
--fs-free-space display FS free space instead of used
--theme-white optimize display for white background
Vous trouverez un tutoriel complet de l'auteur sur cette page.
Mettre à jour Glances avec PIP
pip install --upgrade Glances
ou avec sudo :
sudo pip install --upgrade Glances
Installation Github
Avant de commencer, nous mettons à jour la machine :
apt-get update && apt-get upgrade
ou
aptitude update && aptitude upgrade
avec sudo :
sudo apt-get update && sudo apt-get upgrade
ou
sudo aptitude update && sudo aptitude upgrade
On télécharge Glances (ceci nous permettra de garder à jour la version ultérieurement) :
git clone https://github.com/nicolargo/glances.git
ou avec sudo :
sudo git clone https://github.com/nicolargo/glances.git
une fois installé, il vous suffira d'exécuter glances en SSH pour voir les différentes informations.
Mettre à jour Glances avec Github
R cd /chemin_glances && git pull
ou avec sudo :
cd /chemin_glances && sudo git pull


