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.
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/ |
Utilisée pour un traitement au fil de l'eau |
Permet d'envoyer les logs "au fil de l'eau" vers le serveur Agimus.
Dans le dossier /etc/logstash/conf.d, configurer l'input
input { beats { port => 5000 } } |
Ensuite redémarrer logstash
sudo service logstash restart |
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 |