Graylog: Gérer la rétention

Comment configurer la rétention des logs

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Graylog cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Serveur SMTP d'e-mail dédié et illimité inclus.
  • Mises à jour simplifiées en un clic.
  • Nom de domaine personnalisable sécurisé par HTTPS (par exemple, https://logs.votre-entreprise.com).
  • Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Graylog cloud hosting de Stackhero !

La rétention définit le nombre de messages stockés dans la base de données OpenSearch. Vous pouvez configurer la rétention en fonction d'un nombre de messages, d'une durée maximale ou d'une limite de taille globale.

Par exemple, vous pouvez choisir de conserver les messages des 365 derniers jours, de garder jusqu'à 200 millions de messages, ou de réserver un total de 400 Go d'espace de stockage.

Avant de définir votre politique de rétention, il est important de comprendre le fonctionnement des indices utilisés par Graylog et OpenSearch. Considérez les indices comme des conteneurs physiques. Graylog "ouvre" un conteneur (un index) et y place les messages entrants. Lorsque le quota attribué à ce conteneur est dépassé, le conteneur est fermé, stocké sur une étagère, et un nouveau conteneur est ouvert pour les messages suivants.

Vous pouvez définir ce quota selon différents critères :

  1. Un nombre de messages : "Conservez 20 millions de messages par conteneur, puis démarrez-en un nouveau."
  2. Une limite de temps : "Utilisez un conteneur pendant 10 jours, puis passez à un nouveau."
  3. Une limite de taille : "Stockez 20 Go par conteneur, puis passez au suivant."

Un nombre maximal de conteneurs pouvant être stockés sur l'étagère est également défini. Si ce nombre est dépassé, les conteneurs les plus anciens sont automatiquement supprimés. Par exemple, si vous fixez un maximum de 20 conteneurs et que vous en avez 22 sur l'étagère, les 2 plus anciens seront supprimés.

Dans cette analogie, les conteneurs représentent les indices, l'étagère correspond à OpenSearch, et le nombre maximal représente le nombre d'indices autorisés.

Graylog propose trois stratégies de rétention :

  1. "Index time" définit la durée maximale de conservation des messages dans chaque index, par exemple 14 jours par index.
  2. "Index message count" fixe le nombre maximal de messages par index, par exemple 20 millions de messages par index.
  3. "Index size" limite la taille maximale d'un index, par exemple 40 Go par index.

Vous pouvez choisir l'une de ces stratégies selon vos besoins spécifiques. Par exemple, sélectionner "Index time" permet de garantir que vous disposez toujours des logs des X derniers jours.

Veillez à bien estimer vos besoins en espace disque.

Par exemple, si vous stockez 1 Go de logs par jour et décidez de conserver les logs des 365 derniers jours, il vous faudra 365 Go d'espace disque. Pensez à réserver également de l'espace supplémentaire pour le fonctionnement (voir ci-dessous).

Par défaut, Graylog limite le nombre d'indices à 20. Vous pouvez ajuster cette valeur selon vos besoins. Par exemple, si vous souhaitez conserver les logs des 365 derniers jours, vous pouvez répartir la rétention sur les indices en divisant 365 jours par 20 indices, ce qui donne environ 19 jours par index.

Vous pouvez effectuer des calculs similaires pour les autres stratégies :

  1. Pour la stratégie "Index message count" : si vous souhaitez conserver 200 millions de messages avec un maximum de 20 indices, alors 200 millions de messages divisés par 20 indices donnent 10 millions de messages par index.
  2. Pour la stratégie "Index size" : si vous souhaitez conserver 400 Go de logs avec un maximum de 10 indices, alors 400 Go divisés par 10 indices donnent 40 Go par index.

Nous vous recommandons de toujours conserver au moins 15 Go d'espace disque libre pour les logs, le journal de Graylog et les données MongoDB.

Si l'espace disque disponible est épuisé, OpenSearch bloquera ses opérations et il sera alors nécessaire de passer à une instance plus grande.

Pour configurer la politique de rétention, accédez à l'interface Graylog. Dans le menu "System", sélectionnez "Indices" puis cliquez sur le bouton "Edit" dans la section "Default index set".

Dans l'exemple ci-dessous, la configuration définit un maximum de 27 indices, chaque index conservant 14 jours de logs. Cette configuration permet de conserver les logs sur environ un an (378 jours).

Nous ne recommandons pas de conserver plus de 14 jours de messages par index.

Configuration de la rétention pour conserver les logs sur un anConfiguration de la rétention pour conserver les logs sur un an

Lorsque vous choisissez "Index time" comme politique de rotation, vous devez définir la durée en utilisant le standard ISO8601 Duration.

Par exemple, "P7D" signifie 7 jours, "P14D" signifie 14 jours, etc.

Si vous souhaitez approfondir le sujet des indices, nous vous encourageons vivement à consulter la documentation officielle.

Il arrive qu'OpenSearch passe en mode lecture seule et que vous rencontriez des erreurs telles que :

  1. "Flood stage disk watermark exceeded, all indices on this node will be marked read-only"
  2. "FORBIDDEN/12/index read-only / allow delete (api)"

Ces erreurs apparaissent dans le cadre du mécanisme de protection d'OpenSearch lorsque l'espace disque devient critique. Lorsque l'espace disque disponible passe sous la barre des 7 Go, OpenSearch passe les indices en lecture seule par mesure de précaution pour éviter toute corruption de données.

Si vous rencontrez ces erreurs, deux options s'offrent à vous :

  1. Reconfigurez votre politique de rétention pour conserver moins de logs. Après avoir ajusté la politique, supprimez l'index le plus ancien afin de libérer de l'espace disque et permettre à OpenSearch de repasser en mode lecture-écriture. Attention, la suppression d'un index entraîne la perte définitive de toutes les données qu'il contient.
  2. Passez à une instance avec un disque plus grand. En un clic depuis votre tableau de bord Stackhero, l'instance redémarrera avec plus d'espace disque et OpenSearch repassera automatiquement en mode lecture-écriture.