Sommaire |
---|
Installations préalables
Agimus-NG utilise Elasticsearch, Logstash. Pour en savoir plus sur l'installation, consulter la page Installations requises sur le serveur Agimus-NG ou cliquez sur le bouton ci-dessous.
Button Hyperlink | ||||||||
---|---|---|---|---|---|---|---|---|
|
Info |
---|
Cette documentation donne des exemples de configuration qui permettent d'enrichir les logs applicatifs grâce aux attributs LDAP suivants :
Vous êtes bien entendu libre de le modifier/remplacer/supprimer. Il suffit d'effectuer la modification dans chacun des fichiers de paramétrage décrit ci-dessous. |
Mise en place Agimus-NG
Pour mettre en place Agimus-NG, il faut :
- récupérer les sources du projet sur github
- paramétrer les fichiers suivants (vous pouvez paramétrer au fur et à mesure de vos besoins) :
- copie du fichier config-sample.py en config.py. Utilisé dans les traitements python
- daily_batch.sh à lancer quotidien par cron pour effectuer les traitements
- check_plugin_ldap.sh changer l'adresse de contact pour être prévenu en cas de mise à jour de logstash
- traitements spécifiques à certains logs : scripts/moodle/*.py, scripts/traitement-ez*.sh, scripts/cron_stats_nc.sh, scripts/rocketchat-stats.sh
- Configurations logstash appelant le ldap ou des bases externes
- Copie du fichier frontal/config/config-sample.php en config.php pour le paramétrage du frontal
Rapatriement des logs
Pour lancer le traitement, il faut préalablement rapatrier les logs à traiter sur le serveur Agimus-NG
Button Hyperlink | ||||||||
---|---|---|---|---|---|---|---|---|
|
Script quotidien
Vos données de log vont être enrichies et enregistrées dans elasticsearch grâce au script de traitement quotidien daily_batch.sh
Vous avez commencé à le paramétrer à l'étape précédente. Chaque traitement est indiqué dans les commentaires du fichier de script. Modifiez le suivant les besoins de votre établissement pour supprimer/ajouter les blocs correspondants aux traitements souhaités.
Nous allons voir et tester ci-dessous les premiers traitements fournis par défaut dans le fichier.
Traitement du LDAP
Les informations qui vont enrichir les logs sont extraites quotidiennement du ldap et intégrer à Elasticsearch. A cette étape, vous devriez avoir déjà tester le fonctionnement de la récupération des informations ldap grâce à logstash.
Le script de traitement quotidien daily_batch.sh contient les commandes ci-dessous pour :
supprimer des données de l'index ldap dans elasticsearch
récupérer des nouvelles données du ldap
enregistrer des statistiques ldap dans l'index ldap-stat
Astuce | ||
---|---|---|
| ||
Ces commandes vont générer dans votre elasticsearch :
|
Info | ||
---|---|---|
| ||
Nom des attributs issus du ldapLes attributs issus du ldap seront utilisables avec une casse en minuscule dans logstash même si le nom a une autre casse dans ldap. Par exemple, |
Traitement du fichier trace.log issu du serveur CAS
Le contenu du fichier trace.log est enregistré dans elasticsearch dans l'index trace qui sera interrogé lors du traitement des logs afin de faire le lien entre un log et l'utilisateur l'ayant généré.
Astuce | ||
---|---|---|
| ||
Il faut lancer la commande suivante pour traiter le fichier trace.log rapatrié dans le répertoire /data/in/date_du_jour
Cette commande va générer dans votre elasticsearch un index trace, contenant l'ensemble des associations login<->trace
|
Traitement des logs issus du CAS
Vous pouvez tester l'action de traitement qui est faite dans le script quotidien :
Astuce | ||
---|---|---|
Il faut lancer la commande suivante pour traiter les logs esup rapatriés dans le répertoire /data/in/date_du_jour
Cette commande va générer dans votre elasticsearch un index ag-casrequest-YYYY.MM contenant les logs contenant les appels à votre CAS. Ces documents (chaque document est une ligne de log) contiendront les informations supplémentaires issues de votre ldap. |
Autres traitements
Il existe plusieurs autres exemples dans le fichier de traitement quotidien ainsi que des exemples de configuration dans le dossier logstash. Inspirez-vous en et n'hésitez pas à poser vos questions sur la liste de diffusion esup-utilisateurs
Traitement quotidien dans la crontab
Afin d'alimenter ElasticSearch quotidiennement, il faut lancer le script daily_batch.sh chaque jour, une fois les logs de la veille rapatriés. Pour cela, ajouter l'appel au script dans la crontab de l'utilisateur exécutant le traitement.
Bloc de code |
---|
10 0 * * * /opt/agimus-ng/scripts/daily_batch.sh | logger -t AGIMUS |
Button Hyperlink | ||||||||
---|---|---|---|---|---|---|---|---|
|