Il existe 2 méthodes de récupération et de traitement des fichiers journaux.

La première consiste à implémenter un traitement quotidien des fichiers journaux de la veille grâce au script daily_batch.sh.

La deuxième permet un traitement au fil de l'eau grâce à l'envoi des logs depuis les serveurs hébergeant les services vers le serveur Agimus-NG en temps réel.

Méthode Rsync

 

Adaptée à un traitement quotidien

 

Pour chacun des logs présentés dans les pages ci-dessous, il faut mettre en place une rotation de log quotidienne avec envoi du fichier sur la machine Agimus.

rsync -rltDOv -e "ssh -i /home/agimus-ng/.ssh/id_dsa" /$home/$date/moodle-access.log agimus-ng@agimus-ng:/data/in/$date/

Méthode filebeat

Utilisée pour un traitement au fil de l'eau

Permet d'envoyer les logs "au fil de l'eau" vers le serveur Agimus.

Configuration de logstash

Dans le dossier /etc/logstash/conf.d, configurer l'input

input { 
	beats { 
		port => 5000 
	} 
}

Ensuite redémarrer logstash

sudo service logstash restart

Configuration de filebeat sur un serveur client

Se connecter au serveur client et vérifier que le serveur agimus est bien accessible sur le port 5000

nc -vz agimus.univ.fr 5000

Si la commande renvoie "open", tout va bien. Sinon il faut créer une ACL entre le serveur client et le serveur agimus sur le port 5000 et vérifier que la configuration de logstash est correcte et qu'il est bien en marche sur le serveur agimus.

wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
echo 'deb http://packages.elasticsearch.org/beats/debian stable main' | sudo tee /etc/apt/sources.list.d/beats.list
sudo apt update && sudo apt install filebeat

Voici un exemple de configuration pour le fichier /etc/filebeat/filebeat.yml :

filebeat:
  prospectors:
    -
      paths:
        - /var/log/apache2/actions-client-ent.log
      input_type: log
      document_type: actions-client-ent
output:
  logstash:
    hosts: ["agimus.univ.fr:5000"]

Enfin démarrer filebeat :

sudo service start filebeat