Monitoring Serveur Dédié

De Free 4 Funs
Aller à : navigation, rechercher

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...

Warning.png Ce tutoriel a été réalisé pour Nginx.

Warning.png 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. Warning.png


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;
}

}


Warning.png 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 :

Nginx htpasswd.jpg

et si vous n'indiquez pas le bon identifiant :

Nginx 401 htpasswd.jpg


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.

Warning.png 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. Warning.png


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 :

F4f glances.jpg

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


Nmon

Introduction

VnStat PHP

Introduction

Monit

Introduction

Systat

Introduction

Icinga

Introduction