Activer la rotation des journaux pour les composants Edge

La rotation des journaux, qui désigne la rotation de plusieurs fichiers journaux pour qu'ils soient utilisés ou non : simplifie l'administration des systèmes qui générer un grand nombre de fichiers journaux. La rotation des journaux active la rotation, la compression la suppression et l’envoi des fichiers journaux.

Dans Edge pour Private Cloud, certains des principaux fichiers journaux sur chaque apigee sont configurés avec un mécanisme de rotation par défaut. Par exemple, sur la page Processeur de messages : les fichiers suivants sont configurés avec une 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 les noms commencer par edge-, par exemple edge-management-server, edge-router, edge-postgres-server et edge-qpid-server.

Chacun de ces composants edge-* génère également un fichier journal supplémentaire qui est une redirection sortie de la console du composant respectif. Dans le cas du composant de traitement des messages, ce fichier s'appelle /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Les autres composants edge-* génèrent un fichier similaire. Ces fichiers ne sont pas effectuées par la bibliothèque Logback, mais avec logrotate et crontab.

Avant de commencer

  • Si vous ne connaissez pas les configurations logrotate, consultez le logrotate manuel.
  • Si vous ne connaissez pas les configurations crontab, consultez le manuel crontab.

Activer la rotation des journaux

À partir d'Edge pour Private Cloud version 4.52, lorsque vous installez un edge-* une entrée crontab pour la rotation de ce journal est automatiquement créée dans le crontab de l'utilisateur apigee. Ce job Cron s'exécute tous les heure par défaut et utilise l'utilitaire logrotate pour alterner les journaux. Si plusieurs edge-* sont installés sur le même nœud (par exemple, dans une installation tout-en-un ou le routeur et le processeur de messages sont installés sur un nœud), chaque composant aura sa propre entrée cron pour en alternant ses journaux respectifs.

Remarques :

  • Si, lors de l'installation d'un composant edge-*, vous ne voulez pas configure automatiquement logrotate, définissez l'option "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 plus tard en suivant les étapes pour activer le Cron logrotate d'un composant.
  • Pour le composant edge-router, une tâche Cron logrotate supplémentaire est également configurés par défaut. Ce cron alterne les journaux d'accès et d'erreurs générés par Nginx.

Les exemples suivants illustrent 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 un composant Configuration de logrotate

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 en périphérie, la configuration logrotate du nœud peut être trouvé 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 message 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 où vous souhaitez modifier la planification Cron logrotate, ouvrez le dans le fichier de remplacement de configuration du composant. Fichiers de remplacement de configuration du composant edge-* sont indiqué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 remplacement de configuration:

  1. Assurez-vous que le fichier est lisible par l'utilisateur apigee.
  2. Appliquez la planification Cron 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 à l'élément logrotate du processeur de message Edge, saisissez:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Pour vérifier que les modifications ont bien été appliquées, vérifiez les entrées Cron ou affichez les Entrée Cron logrotate.

Configurations logrotate supplémentaires

Comme pour la procédure de modification de la planification cron de la section ci-dessus, vous pouvez et 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 Fichier d'état capturant l'état d'exécution de logrotate : l'émission dispose d'autorisations de lecture/écriture pour apigee utilisateur. Par défaut : $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs les journaux à alterner ; Il peut inclure des caractères génériques. 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 si les fichiers ayant fait l'objet d'une rotation doivent être compressés. Valeur par défaut : "compress"
conf_logrotate_compress_type Type de compression. La valeur par défaut est "delaycompress". Reporte la compression de dernier fichier ayant fait l'objet d'une rotation au prochain cycle logrotate.
conf_logrotate_size Taille maximale des journaux pour la rotation. Valeur par défaut : "10 M"

Utilisez votre propre mécanisme de rotation des journaux et cron

Si vos exigences de rotation du fichier <component>.log ne sont pas remplies par les configurations fourni par Apigee, vous utilisez votre propre mécanisme de rotation des journaux à l'aide d'outils comme logrotate ou autres. Par exemple, les configurations fournies par Apigee vous permettent d'alterner les journaux par taille, vous souhaitez alterner les journaux en fonction de la date/l'heure ou d'autres facteurs. Dans ce cas, vous devez désactiver la tâche Cron logrotate fournie par Apigee et configurer vos propres tâches Cron selon vos besoins.

Si vous devez vous référer à l'entrée Cron de rotation des journaux d'Apigee, vous pouvez la trouver dans le fichier $APIGEE_ROOT//logrotate/logrotate.cron Par exemple, dans le cas 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 si vous souhaitez utiliser logrotate, mais pas les configurations d'Apigee, vous pouvez créer votre acheter logrotate fichier de configuration et utilisez une commande logrotate similaire pour effectuer une rotation des journaux.