Aperçu
Fess génère plusieurs fichiers journaux pour enregistrer l’état de fonctionnement du système et les informations d’erreur. Une configuration appropriée des journaux facilite le dépannage et la surveillance du système.
Types de fichiers journaux
Fichiers journaux principaux
Les principaux fichiers journaux générés par Fess sont les suivants.
Emplacement des fichiers journaux
Pour l’installation Zip :
Pour les paquets RPM/DEB :
Vérification des journaux lors du dépannage
En cas de problème, vérifiez les journaux en suivant ces étapes.
Identifier le type d’erreur
Erreur d’application →
fess.logErreur d’exploration →
fess_crawler.logErreur d’authentification →
audit.logErreur de serveur →
server_?.log
Vérifier les erreurs les plus récentes
Rechercher des erreurs spécifiques
Vérifier le contexte de l’erreur
En vérifiant les journaux avant et après l’erreur, vous pouvez identifier la cause.
Configuration du niveau de journalisation
À propos des niveaux de journalisation
Les niveaux de journalisation contrôlent le niveau de détail des journaux générés.
| Niveau | Description |
|---|---|
FATAL | Erreur fatale (l’application ne peut pas continuer) |
ERROR | Erreur (une partie des fonctionnalités ne fonctionne pas) |
WARN | Avertissement (problème potentiel) |
INFO | Information (événement important) |
DEBUG | Informations de débogage (journaux de fonctionnement détaillés) |
TRACE | Informations de trace (le plus détaillé) |
Niveaux de journalisation recommandés
| Environnement | Niveau recommandé | Raison |
|---|---|---|
| Environnement de production | WARN | Priorité aux performances et à l’espace disque |
| Environnement de staging | INFO | Enregistrer les événements importants |
| Environnement de développement | DEBUG | Informations de débogage détaillées nécessaires |
| Lors de l’investigation de problèmes | DEBUG ou TRACE | Activer temporairement les journaux détaillés |
Modification via l’interface d’administration
La méthode la plus simple consiste à modifier via l’interface d’administration.
Connectez-vous à l’interface d’administration.
Sélectionnez « Général » dans le menu « Système ».
Sélectionnez le niveau souhaité dans « Niveau de journalisation ».
Cliquez sur le bouton « Mettre à jour ».
Note
Les modifications dans l’interface d’administration sont conservées même après le redémarrage de Fess.
Modification via le fichier de configuration
Pour une configuration plus détaillée des journaux, modifiez le fichier de configuration Log4j2.
Emplacement du fichier de configuration
Installation Zip :
app/WEB-INF/classes/log4j2.xmlPaquets RPM/DEB :
/etc/fess/log4j2.xml
Exemples de configuration de base
Niveau de journalisation par défaut :
Exemple : Changement au niveau DEBUG
Exemple : Modification du niveau de journalisation pour un paquet spécifique
Avertissement
Les niveaux DEBUG et TRACE génèrent une grande quantité de journaux, ne les utilisez pas en environnement de production. Cela affecte l’espace disque et les performances.
Configuration via les variables d’environnement
Vous pouvez également spécifier le niveau de journalisation lors du démarrage du système.
Configuration des journaux d’exploration
Les journaux d’exploration sont générés au niveau INFO par défaut.
Configuration dans l’interface d’administration
Ouvrez la configuration d’exploration cible depuis le menu « Explorateur » de l’interface d’administration.
Sélectionnez « Script » dans l’onglet « Configuration ».
Ajoutez ce qui suit dans le champ script.
Valeurs configurables :
FATALERRORWARNINFODEBUGTRACE
Modification du niveau de journalisation uniquement pour des modèles d’URL spécifiques
Modification du niveau de journalisation pour l’ensemble du processus d’exploration
Configuration dans fess_config.properties :
Rotation des journaux
Aperçu
Les fichiers journaux grossissent avec le temps, une rotation régulière (gestion des générations) est donc nécessaire.
Rotation automatique avec Log4j2
Fess utilise le RollingFileAppender de Log4j2 pour effectuer automatiquement la rotation des journaux.
Configuration par défaut
Taille du fichier : Rotation lorsque 10 Mo sont dépassés
Nombre de générations conservées : Maximum 10 fichiers
Exemple de fichier de configuration (log4j2.xml) :
Configuration de rotation quotidienne
Pour une rotation quotidienne plutôt que par taille :
Configuration de compression
Pour compresser automatiquement lors de la rotation :
Rotation avec logrotate
Dans un environnement Linux, vous pouvez également gérer la rotation des journaux avec logrotate.
Exemple de /etc/logrotate.d/fess :
Explication de la configuration :
daily: Rotation quotidiennerotate 14: Conserver 14 générationscompress: Compresser les anciens journauxdelaycompress: Ne pas compresser la génération précédente (l’application peut être en cours d’écriture)missingok: Pas d’erreur si le fichier journal n’existe pasnotifempty: Ne pas effectuer de rotation pour les fichiers journaux videscreate 0644 fess fess: Permissions et propriétaire du nouveau fichier journal
Surveillance des journaux
En environnement de production, il est recommandé de surveiller les fichiers journaux pour détecter rapidement les erreurs.
Modèles de journaux à surveiller
Modèles d’erreurs importants
Journaux de niveau
ERRORetFATALOutOfMemoryErrorConnection refusedTimeoutExceptioncircuit_breaker_exceptionToo many open files
Modèles d’alerte
Journaux de niveau
WARNfréquentsRetryingSlow queryQueue full
Surveillance en temps réel
Surveillance en temps réel avec la commande tail :
Surveillance simultanée de plusieurs fichiers journaux :
Exemples d’outils de surveillance
Logwatch
Analyse et rapport périodiques des fichiers journaux.
Logstash + OpenSearch + OpenSearch Dashboards
Analyse de journaux en temps réel et visualisation.
Fluentd
Collecte et transfert de journaux.
Prometheus + Grafana
Surveillance des métriques et alertes.
Configuration des alertes
Exemple de notification lors de la détection d’erreur :
Format des journaux
Format par défaut
Format de journal par défaut de Fess :
Explication de chaque élément :
%d{ISO8601}: Horodatage (format ISO8601)[%t]: Nom du thread%-5p: Niveau de journalisation (largeur de 5 caractères, aligné à gauche)%c: Nom du logger (nom du paquet)%m: Message%n: Saut de ligne
Exemples de formats personnalisés
Sortie des journaux au format JSON
Inclure des informations plus détaillées
Informations supplémentaires :
%c{1.}: Nom de paquet abrégé%F: Nom du fichier%L: Numéro de ligne
Impact sur les performances
La sortie des journaux affecte les E/S disque et les performances.
Bonnes pratiques
Utiliser le niveau WARN ou supérieur en production
Éviter de générer des journaux détaillés inutiles.
Nettoyage régulier des fichiers journaux
Supprimer ou compresser les anciens fichiers journaux.
Utilisation de la sortie de journaux asynchrone
Utiliser l’appender asynchrone de Log4j2 pour réduire la surcharge de sortie des journaux.
Assurer un espace disque suffisant
Assurer un espace disque suffisant pour les fichiers journaux.
Sélection appropriée du niveau de journalisation
Configurer le niveau de journalisation en fonction de l’environnement.
Mesure des performances
Mesurer l’impact de la sortie des journaux :
Dépannage
Les journaux ne sont pas générés
Causes et solutions :
Permissions du répertoire des journaux
Espace disque
Fichier de configuration Log4j2
Vérifier SELinux
Le fichier journal devient trop volumineux
Ajuster le niveau de journalisation
Définir au niveau
WARNou supérieur.Vérifier la configuration de rotation des journaux
Désactiver les sorties de journaux inutiles
Solution temporaire
Impossible de trouver un journal spécifique
Vérifier le niveau de journalisation
Si le niveau de journalisation est trop bas, il ne sera pas généré.
Vérifier le chemin du fichier journal
Vérifier l’horodatage
Vérifiez que l’heure système est correcte.
Mise en mémoire tampon des journaux
Les journaux peuvent ne pas être écrits immédiatement.
Caractères corrompus dans les journaux
Configuration de l’encodage
Spécifier l’encodage des caractères dans
log4j2.xml:Configuration des variables d’environnement
Informations de référence
Configuration de la mémoire - Configuration de la mémoire
Configuration avancée du robot d’indexation - Configuration avancée de l’explorateur
Gestion des index - Sauvegarde de l’index