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 e-mail SMTP illimité et dédié inclus.
- Mises à jour sans effort en un clic.
- Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://logs.votre-entreprise.com).
- Performance optimale et sécurité robuste 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'un âge maximum ou d'une limite de taille globale.
Par exemple, vous pouvez choisir de conserver les messages des 365 derniers jours, de retenir jusqu'à 200 millions de messages, ou de réserver un total de 400 Go d'espace de stockage.
Comprendre les indices
Avant de définir votre politique de rétention, il est important de comprendre comment fonctionnent les indices utilisés par Graylog et OpenSearch. Pensez aux 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 démarré pour les messages suivants.
Vous pouvez définir ce quota selon différents critères :
- Un nombre de messages : "Conservez 20 millions de messages par conteneur, puis démarrez un nouveau."
- Une limitation de temps : "Utilisez un conteneur pendant 10 jours, puis passez à un nouveau."
- Une limitation de taille : "Stockez 20 Go par conteneur, puis passez à un nouveau."
Un nombre maximum 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 définissez un maximum de 20 conteneurs et que vous en avez 22 sur l'étagère, les 2 conteneurs les plus anciens seront supprimés.
Dans cette analogie, les conteneurs représentent les indices, l'étagère est OpenSearch, et le nombre maximum représente le nombre d'indices autorisés.
Choisir une stratégie de rotation
Graylog propose trois stratégies de rétention :
- "Index time" définit la durée maximale pendant laquelle les messages sont conservés dans chaque index, par exemple, 14 jours par index.
- "Index message count" fixe le nombre maximum de messages par index, par exemple, 20 millions de messages par index.
- "Index size" limite la taille maximale d'un index, par exemple, 40 Go par index.
Vous pouvez sélectionner l'une de ces stratégies en fonction de vos besoins spécifiques. Par exemple, sélectionner "Index time" permet de s'assurer que vous avez toujours les logs des X derniers jours.
Veillez à estimer précisément vos besoins en stockage disque.
Par exemple, si vous stockez 1 Go de logs par jour et décidez de conserver les logs des 365 derniers jours, vous aurez besoin de 365 Go d'espace disque. N'oubliez pas que de l'espace de fonctionnement supplémentaire doit également être réservé (voir ci-dessous).
Définir les paramètres de rétention
Par défaut, Graylog limite le nombre d'indices à 20. Vous pouvez ajuster cette valeur selon vos besoins. Par exemple, si vous souhaitez stocker les logs des 365 derniers jours, vous pourriez 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 :
- 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.
- Pour la stratégie "Index size" : si vous souhaitez maintenir 400 Go de logs avec un maximum de 10 indices, alors 400 Go divisés par 10 indices donnent 40 Go par index.
Nous 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 libre s'épuise, OpenSearch bloquera ses opérations et vous pourriez avoir besoin de passer à une instance plus grande.
Configurer la politique de rétention
Pour configurer la politique de rétention, accédez à l'interface Graylog. Sous "System", sélectionnez "Indices" et cliquez sur le bouton "Edit" dans le "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 conserve les logs pendant 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 pendant un an
Lors du choix de "Index time" comme politique de rotation, vous devez définir la durée en utilisant la norme ISO8601 Duration.
Par exemple, "P7D" signifie 7 jours, "P14D" signifie 14 jours, etc.
Aller plus loin
Si vous souhaitez en savoir plus sur les indices, nous vous encourageons vivement à lire la documentation officielle.
Gérer les erreurs concernant les indices en lecture seule d'OpenSearch
Parfois, OpenSearch peut passer en mode lecture seule et vous pourriez rencontrer des erreurs telles que :
- "Flood stage disk watermark exceeded, all indices on this node will be marked read-only"
- "FORBIDDEN/12/index read-only / allow delete (api)"
Ces erreurs se produisent dans le cadre du mécanisme de protection d'OpenSearch lorsque l'espace disque est critique. Lorsque l'espace disque disponible tombe en dessous de 7 Go, OpenSearch définit les indices en lecture seule par précaution pour éviter la corruption des données.
Si vous rencontrez ces erreurs, vous avez deux options :
- Reconfigurez votre politique de rétention pour conserver moins de logs. Après avoir ajusté la politique, supprimez l'index le plus ancien pour libérer de l'espace disque et permettre à OpenSearch de repasser en mode lecture-écriture. Veuillez noter que la suppression d'un index signifie que toutes les données de cet index seront perdues.
- Passez à une instance avec un disque plus grand. Avec un simple clic dans votre tableau de bord Stackhero, l'instance redémarrera avec un espace disque supplémentaire et OpenSearch reviendra automatiquement en mode lecture-écriture.