Comment utiliser Elasticsearch, Logstash et Kibana pour gérer les logs Apache d’OVH PARTIE 1

Comment utiliser Elasticsearch, Logstash et Kibana pour gérer les logs Apache d’OVH PARTIE 1

Les différentes étapes sont expliquées pour une installation sur Mac OS 10.x

 

Installation de Homebrew

  1. Installer XCode
  2. Installer les outils de ligne de commandes : 
    $ xcode-select --install
  3. Installer Homebrew
    $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Installation de Wget pour Mac Os

  1. On utilise Homebrew pour installer wget qui sera utilisé dans notre futur script
    $ brew install wget

 

Création du script de téléchargement des logs Apache

Nous allons créer un script qui télécharge les logs d’acces et error de votre site hébergé en mutualisé chez OVH, pour les utiliser par la suite avec Logstash.

IMPORTANT : pour que le script fonctionne, il faudra créer un utilisateur d’accès aux statistiques et logs sur votre manager OVH.
Sur le manager d’OVH, choisissez le domaine voulu, puis cliquez sur « Plus + » et sur « Statistique et Logs », enfin cliquez sur « Créer un nouvel utilisateur ». 

On créée un fichier script-ovh.sh ave cle contenu qui suit en adaptant le chemins du dossiers :

#!/bin/bash
# Usage : ./script-ovh.sh domaine mm-aaaa
# ex : ./script-ovh.sh mon-domaine.fr 12-2014
# votre domaine, sera passé en paramètre de la commande
SITE=$1
# période, sera passée en paramètre de la commande
PERIODE=$2
# login de votre compte OVH
LOGIN=mon_login_a_remplacer
# mot de passe de votre compte OVH
PASS=mon_password_a_remplacer
# Répertoire de destination. Par défaut sur le dossier personnel (mac). Changez pour ce que vous voulez
DOSSIER=/Users/monuser/logs/apache/$SITE
DOSSIERACCESS=$DOSSIER/access
DOSSIERERROR=$DOSSIER/error
# Créé le dossier qui va récupérer les logs. Etape obligatoire sinon wget retourne une erreur concernant ses logs
echo 'Création du dossier'
mkdir -p $DOSSIER
mkdir -p $DOSSIERACCESS
mkdir -p $DOSSIERERROR
# Téléchargement des logs via wget avec les options suivantes :
echo 'Téléchargement des logs...'
wget -nv -nd -r -A.gz -P$DOSSIERACCESS https://logs.ovh.net/$SITE/logs-$PERIODE/ --http-user=$LOGIN --http-password=$PASS -o $DOSSIERACCESS/logs.wget.txt
wget -nv -nd -r -A.gz -P$DOSSIERERROR https://logs.ovh.net/$SITE/logs-$PERIODE/error/ --http-user=$LOGIN --http-password=$PASS -o $DOSSIERERROR/logs.wget.txt
echo 'Décompressions des fichiers'
gzip -d -f $DOSSIERACCESS/*.gz
gzip -d -f $DOSSIERERROR/*.gz
echo 'terminé'

On rend le script exécutable avec la commande

$chmod +r chemin_du_fichier/script-ovh.sh