Lire des journaux redis

Lire des journaux redis

«Redis est une base de données en mémoire largement utilisée qui stocke les données à mesure que les paires de valeurs clés. Généralement, Syslog conserve le journal redis. Il peut préserver les journaux de diverses sources. Mais si le journal redis gère beaucoup plus d'enregistrements, il entraînera de faibles performances du système. Ensuite, pour un traitement ultérieur, Syslog permet de transmettre tous les journaux au serveur de journalisation centralisé."

Configuration de la journalisation redis

À l'aide de la commande ci-dessous, nous pouvons ouvrir le fichier de configuration Redis Server situé dans / etc / redis / redis.confli.

$ sudo nano / etc / redis / redis.confli

Lorsque vous définissez le nom et le répertoire d'un fichier journal, vous devez utiliser la directive LogFile. Généralement, / var / log est le répertoire standard de la journalisation syslog; De plus, la configuration par défaut stocke le connexion dans ce répertoire. Vous n'avez pas besoin de changer cela encore et encore parce que, par défaut, Syslog conserve tous les journaux dans le / var / log annuaire. Lorsque la directive compatible Syslog est commentée, vous devez décommenter cette ligne et définir la valeur comme oui. Pour chaque enregistrement syslog, cette chaîne sera admis.

Ci-dessous, vous pouvez voir les lignes qui affichent le fichier édité,

Finalement, vous pouvez enregistrer et fermer le fichier. Mais soudain, si vous souhaitez appliquer la nouvelle configuration, vous pouvez utiliser la commande ci-dessous.

$ sudo systemct1 redémarrer redis

Lire les journaux syslog

Vous avez deux options de ligne de commande. Si vous souhaitez accéder aux enregistrements Syslog liés à Redis,

Affichage du fichier journal dans le terminal

Étant donné que Redis enregistre tous les messages dans le Syslog et le fichier personnalisé, vous pouvez voir directement le fichier journal Redis. Dans la phase précédente, nous avons enregistré des journaux redis dans le fichier ./ var / log / redis / redis-server.enregistrer. L'exécution de la commande CAT vous permettra d'examiner ce fichier comme suit.

$ Cat / var / log / redis / redis-server.enregistrer

À l'aide de la commande ci-dessus, vous pouvez inspecter le contenu du fichier journal Redis comme suit.

Interrogation à l'aide de journalctl

Tous les journaux sont contrôlés par le service JournalD, qui fait partie de SystemD (Ubuntu utilise Systemd Service Manager). Le journal Fournit l'outil de ligne de commande journalctl, qui recherche des entrées syslog en utilisant divers critères et présente les résultats. Si votre serveur Redis est configuré pour se connecter à Syslog, vous pouvez utiliser la commande suivante pour récupérer les entrées syslog du service redis:

$ journalctl -u redis-server.service

Cette commande -u partie limite l'affichage aux entrées syslog associées au redis-serveur.service

La sortie affiche les entrées en double dans le fichier de journal d'affichage et journalctl mais utilise un format d'horodatage différent et ne contient pas certains en-têtes de métadonnées inclus dans le syslog (nom de processus et autres).

Redis Logging avec Docker

La maintenance du journal redis nécessite l'utilisation d'un pilote de journalisation Docker si vous souhaitez exécuter Redis à l'intérieur d'un conteneur Docker.

Télécharger le conteneur redis

Pour récupérer l'image d'origine de Docker Hub, nous devons utiliser la commande Docker Pull et le nom d'image redis. Cela peut être fait comme suit.

$ sudo docker pull redis

Comme le montre la sortie, Docker l'enregistre localement et le rend accessible aux conteneurs en cours d'exécution après avoir récupéré une image.

Journal de conteneur en cours d'exécution et d'affichage

En donnant à la commande docker run, vous pouvez démarrer le conteneur redis.

$ sudo docker run -d -p 23200: 23200 - - nom my-redis redis

Option -D imprime l'ID de conteneur lors de l'exécution du conteneur en arrière-plan (utilisation typique du serveur de base de données). Ce qui se passe ici, c'est que le port de conteneur Redis 23200 mappera au port de la machine locale 23200. Le nom du conteneur pour My-Redis est déterminé par l'option -name.

Si vous souhaitez inspecter le conteneur Redis, vous pouvez exécuter les journaux Docker avec le journal des noms du conteneur comme suit.

$ sudo docker logs my-redis

La sortie affiche les entrées de journal liées à Redis qui fournissent des informations sur le démarrage et l'initialisation des services. Comme vous pouvez le voir, le syslog et le journal Docker sont comparables.

Il serait préférable que vous utilisiez Docker RM - - A force à fermer ce conteneur.

Rotation de journal redis

Parce que les fichiers journaux se développent toujours avec le temps, leur taille doit être gérée. Linux utilise un concept connu sous le nom de rotation de journaux pour résoudre ce problème. Nous allons configurer la rotation du journal pour redis en utilisant syslog à ce stade. Un démon appelé Logrotate fait partie du syslog, garantissant que tous les journaux sont tournés. Ubuntu 20.04, par défaut, utilise Logrotate (y compris la rotation du journal redis si je suis installé). Le fichier / etc / Logrotate.d / redis-server Définit les paramètres de rotation du journal pour la rotation du journal redis.

Maintenant, nous pouvons ouvrir le fichier en utilisant la commande ci-dessous.

$ sudo nano / etc / Logrotate.d / redis-server

Les directives incluses dans les supports bouclés spécifient comment faire pivoter le journal dans le répertoire spécifié ci-dessus. Redis fait tourner les journaux à l'aide des paramètres suivants en fonction du fichier:

Hebdomadaire: Les journaux sont commutés. Alternativement, vous pouvez choisir un délai différent (quotidien, hebdomadaire, mensuel ou annuel). Le démon logrotate fonctionne quotidiennement, mais vous pouvez également spécifier qu'il tourne toutes les heures (toutes les heures). Pour faire pivoter les journaux toutes les heures.

Manquant ok: Si le fichier journal est absent, le démon ne rapporte aucune erreur.

Tourner 12: Douze rotations de fichiers journaux sont effectuées avant la suppression. Les versions plus anciennes sont détruites plutôt que tournées si la rotation est définie sur 0.

Compresse: Les fichiers journaux obsolètes seront compressés avec GZIP.

notifier: Si le journal est vide, ne le faites pas tourner.

Les pages de documentation loggrotate détaillent chaque instruction potentielle. L'homme loggrotate peut être utilisé pour les voir. Vous pouvez modifier ces options, en ajouter de nouvelles ou en enlever certains d'entre eux. Vous décidez de la configuration à utiliser. Lors de la définition des paramètres de rotation du journal, le fichier peut être enregistré et fermé. Maintenant, Logrotate fera régulièrement pivoter vos journaux redis.

Conclusion

Pour résumer, la journalisation syslog est extrêmement utile pour générer des journaux redis. Vous pouvez observer les journaux redis en interrogeant directement le journalctl et en ouvrant le fichier journal. À l'aide des journaux tournant le démon, vous configurez la rotation des journaux redis. L'image Redis Docker a été téléchargée, couron à l'intérieur du conteneur et les journaux Docker associés ont été lus.