La rotation des journaux (qui consiste à faire tourner plusieurs fichiers journaux avant et après leur utilisation) simplifie l'administration des systèmes qui génèrent un grand nombre de fichiers journaux. La rotation des journaux permet d'automatiser la rotation, la compression, la suppression et l'envoi des fichiers journaux.
Dans Edge for Private Cloud, certains des fichiers journaux principaux de chaque composant apigee
sont configurés avec un mécanisme de rotation par défaut. Par exemple, dans le composant "Processeur de messages", les fichiers suivants sont configurés avec un mécanisme de rotation par défaut à l'aide de logback:
/opt/apigee/var/log/edge-message-processor/logs/system.log
/opt/apigee/var/log/edge-message-processor/logs/events.log
/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
/opt/apigee/var/log/edge-message-processor/logs/configurations.log
/opt/apigee/var/log/edge-message-processor/logs/transactions.log
Des fichiers similaires existent pour d'autres composants edge-*
(dont le nom commence par edge-
), tels que edge-management-server
, edge-router
, edge-postgres-server
et edge-qpid-server
.
edge-*
génère également un fichier journal supplémentaire, qui est une sortie redirigée de la console du composant concerné. Dans le cas du composant "Processeur de messages", ce fichier s'appelle /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
.
D'autres composants edge-*
génèrent un fichier similaire. La rotation de ces fichiers n'est pas effectuée par la bibliothèque logback, mais par logrotate
et crontab
.
Avant de commencer
- Si vous ne connaissez pas bien les configurations
logrotate
, consultez le manuel Logrotate. - Si vous ne connaissez pas bien les configurations
crontab
, consultez le manuel crontab.
Activer les rotations des journaux
À partir de la version 4.52 d'Edge pour Private Cloud, lorsque vous installez un composant edge-*
, une entrée crontab
pour la rotation de ce journal est automatiquement créée dans le crontab
de l'utilisateur apigee
. Cette tâche Cron s'exécute toutes les heures par défaut et utilise l'utilitaire logrotate
pour alterner les journaux. Si plusieurs composants edge-*
sont installés sur le même nœud (par exemple, dans une installation tout-en-un, ou si le routeur et le processeur de messages sont installés sur un nœud), chaque composant possède sa propre entrée Cron pour la rotation de ses journaux respectifs.
Remarques :
- Si vous ne souhaitez pas configurer automatiquement une tâche Cron
logrotate
lors de l'installation d'un composantedge-*
, définissez l'indicateur "ENABLE_LOGROTATE=n" dans le fichier de configuration silencieuse que vous utilisez pour l'installation. Si la tâche Cron n'est pas définie lors de l'installation, vous pouvez la configurer ultérieurement en suivant les étapes pour activer la tâche Cronlogrotate
d'un composant. - Pour le composant
edge-router
, une tâche Cron supplémentairelogrotate
est également configurée par défaut. Ce Cron effectue une rotation des journaux d'accès et d'erreurs générés par Nginx.
Les exemples suivants illustrent les différentes configurations et opérations d'administration que vous pouvez effectuer.
Afficher les entrées Cron sur un nœud
sudo crontab -u apigee -l
Afficher l'entrée Cron logrotate
d'un composant
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
Par exemple, pour afficher le Cron logrotate
du processeur de messages Edge, exécutez la commande suivante:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
Afficher la configuration logrotate
d'un composant
La configuration logrotate
d'un composant se trouve dans le fichier $APIGEE_ROOT/<component>/logrotate/logrotate.conf
.
Par exemple, dans le cas d'un processeur de messages de périphérie, la configuration logrotate
du nœud se trouve dans $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
.
Activer le Cron logrotate
d'un composant
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Par exemple, pour activer le Cron logrotate
du processeur de messages Edge, exécutez la commande suivante:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Désactiver le Cron logrotate
d'un composant
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
Par exemple, pour désactiver le Cron logrotate
du processeur de messages Edge, exécutez la commande suivante:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
Modifier la planification Cron d'une commande logrotate
spécifique
Sur le nœud sur lequel vous souhaitez modifier la planification Cron logrotate
, ouvrez le fichier de remplacement de la configuration du composant correspondant. Les fichiers de remplacement de la configuration du composant edge-*
sont répertoriés dans le tableau ci-dessous:
Composant | Fichier de remplacement de configuration |
---|---|
edge-message-processor |
$APIGEE_ROOT/customer/application/message-processor.properties |
edge-management-server |
$APIGEE_ROOT/customer/application/management-server.properties |
edge-router |
$APIGEE_ROOT/customer/application/router.properties |
edge-postgres-server |
$APIGEE_ROOT/customer/application/postgres-server.properties |
edge-qpid-server |
$APIGEE_ROOT/customer/application/qpid-serverproperties |
Ouvrez le fichier de remplacement approprié et définissez le remplacement de configuration suivant. L'exemple ci-dessous remplace la tâche Cron pour qu'elle s'exécute à la 0e minute de chaque heure.
conf_logrotate_cron_duration=0 * * * *
Pour définir le forçage de configuration:
- Assurez-vous que le fichier est lisible par l'utilisateur
apigee
. - Appliquez la planification Cron la plus récente au composant :
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Par exemple, pour appliquer une planification Cron plus récente au logrotate
du processeur de messages de périphérie, saisissez:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Pour vérifier que les modifications ont été appliquées, vérifiez les entrées Cron ou l'entrée Cron logrotate
du composant de vue.
Configurations logrotate
supplémentaires
Comme pour les étapes décrites dans la section ci-dessus pour modifier la planification Cron, vous pouvez également modifier des configurations supplémentaires. Le tableau ci-dessous décrit ces configurations:
Configuration | Description |
---|---|
conf_logrotate_bin_location |
Emplacement du binaire logrotate. Valeur par défaut : /usr/sbin/logrotate |
conf_logrotate_status_file |
Le fichier d'état capture l'état d'exécution de logrotate. Les émissions disposent des autorisations de lecture/écriture pour l'utilisateur apigee . Par défaut : $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
Journaux à alterner Peut inclure des caractères génériques. Valeur par défaut : $APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
Nombre de rotations. Valeur par défaut : "5" |
conf_logrotate_compress |
Indique s'il faut compresser les fichiers ayant fait l'objet d'une rotation. Valeur par défaut : "compress" |
conf_logrotate_compress_type |
Type de compression. Valeur par défaut : "delaycompress". Reporte la compression du dernier fichier ayant fait l'objet d'une rotation au prochain cycle logrotate. |
conf_logrotate_size |
Limite de taille de journal pour la rotation. Valeur par défaut : "10 M" |
Utilisez votre propre mécanisme de rotation des journaux et Cron.
Si vos exigences en matière de rotation du fichier <component>.log ne sont pas satisfaites par les configurations fournies par Apigee, vous utilisez votre propre mécanisme de rotation des journaux à l'aide d'outils tels que logrotate. Par exemple, les configurations fournies par Apigee vous permettent d'alterner les journaux par taille, mais vous pouvez effectuer une rotation des journaux en fonction de la date/l'heure ou d'autres facteurs. Dans ce cas, vous devez désactiver le service Cron logrotate
fourni par Apigee et configurer vos propres tâches Cron en fonction de vos besoins.
Si vous devez faire référence à l'entrée Cron de rotation des journaux d'Apigee, vous pouvez la trouver dans le fichier $APIGEE_ROOT/
. Par exemple, dans le cas de edge-message-processor
, ce fichier s'appelle $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
. Ce fichier inclut à la fois l'entrée Cron et la commande exécutée par Apigee pour la rotation des journaux. Si vous souhaitez utiliser logrotate
, mais pas les configurations Apigee, vous pouvez créer votre propre fichier de configuration logrotate
et utiliser une commande logrotate
similaire pour effectuer la rotation des journaux.