Les index de logs offrent un contrôle granulaire sur votre budget de gestion des logs en vous permettant de segmenter les données en groupes de valeur pour différentes périodes de conservation, quotas, surveillance de l’utilisation et facturation. Les index se trouvent sur la page de configuration dans la section Indexes. Double-cliquez dessus ou cliquez sur le bouton Modifier pour voir davantage d’informations sur le nombre de logs indexés au cours des 3 derniers jours, ainsi que la période de conservation de ces logs :
Vous pouvez utiliser des logs indexés pour la recherche à facettes, les patterns, les analyses et la surveillance.
Plusieurs index
Par défaut, chaque nouveau compte obtient un seul index représentant un ensemble monolithique de tous vos logs. Datadog recommande d’utiliser plusieurs index si vous avez besoin de :
Le Log Explorer prend en charge l’envoi de requêtes sur plusieurs index.
Ajouter des index
Utilisez le bouton “Nouveau index” pour créer un nouvel index. Il y a un nombre maximum d’index que vous pouvez créer pour chaque compte, fixé à 100 par défaut.
Remarque : Les noms d’index doivent commencer par une lettre et ne peuvent contenir que des lettres minuscules, des chiffres ou le caractère ‘-’.
Supprimer des index
Pour supprimer un index de votre organisation, utilisez l’“icône de suppression” dans la barre d’actions de l’index. Seuls les utilisateurs ayant la Logs delete data permission peuvent utiliser cette option.
Vous ne pouvez pas recréer un index avec le même nom que celui qui a été supprimé.
Remarque : L’index supprimé n’acceptera plus de nouveaux journaux entrants. Les journaux de l’index supprimé ne sont plus disponibles pour les requêtes. Après que tous les journaux aient expiré selon la période de conservation applicable, l’index n’apparaîtra plus sur la page des Index.
Filtres d’index
Les filtres d’index permettent un contrôle dynamique sur les journaux qui entrent dans quels index. Par exemple, si vous créez un premier index filtré sur l’attribut status:notice, un deuxième index filtré sur l’attribut status:error, et un dernier sans aucun filtre (l’équivalent de *), tous vos journaux status:notice iraient au premier index, tous vos journaux status:error iraient au deuxième index, et le reste irait au dernier.
Remarque : Les logs entrent dans le premier index auquel leur filtre s’applique, utilisez le glisser-déposer sur la liste des index pour les réorganiser selon votre cas d’utilisation.
Filtres d’exclusion
Par défaut, les index de logs ne possèdent pas de filtre d’exclusion. Ainsi, tous les logs correspondant à leur filtre sont indexés.
Mais comme vos journaux ne sont pas tous et également précieux, les filtres d’exclusion contrôlent quels journaux entrant dans votre index doivent être supprimés. Les logs exclus sont écartés des index, mais continuent de passer par le Livetail et peuvent être utilisés pour générer des métriques et être archivés10.
Pour ajouter un filtre d’exclusion, procédez comme suit :
- Naviguez vers Index de journaux.
- Développez l’index pour lequel vous souhaitez ajouter un filtre d’exclusion.
- Cliquez sur Ajouter un filtre d’exclusion.
Les filtres d’exclusion sont définis par une requête, une règle d’échantillonnage et un bouton d’activation :
- La requête par défaut est
*, ce qui signifie que tous les journaux entrant dans l’index seraient exclus. Limitez le filtre d’exclusion à un sous-ensemble de journaux avec une requête de journal. - La règle d’échantillonnage par défaut est
Exclude 100% of logs correspondant à la requête. Adaptez le taux d’échantillonnage de 0 % à 100 %, et décidez si le taux d’échantillonnage s’applique aux journaux individuels ou à un groupe de journaux définis par les valeurs uniques de tout attribut.- Si le taux d’échantillonnage s’applique aux journaux individuels, l’échantillonnage est effectué sur l’existence des identifiants de trace dans les journaux, s’ils sont présents. Dans ce scénario, les journaux échantillonnés ont une chance accrue d’être corrélés avec les traces échantillonnées, afin de promouvoir des données de télémétrie unifiées.
- Si la valeur unique d’un ID de trace est choisie pour l’échantillonnage, le comportement est le même que pour les journaux individuels.
- Le commutateur par défaut est actif, ce qui signifie que les journaux circulant dans l’index sont en réalité rejetés selon la configuration du filtre d’exclusion. Désactivez ceci pour ignorer ce filtre d’exclusion pour les nouveaux journaux circulant dans l’index.
Remarque : Les filtres d’index pour les journaux ne sont traités qu’avec le premier filtre d’exclusion actif correspondant. Si un journal correspond à un filtre d’exclusion (même si le journal n’est pas échantillonné), il ignore tous les filtres d’exclusion suivants dans la séquence.
Glissez et déposez les filtres d’exclusion de la liste pour les réorganiser selon vos cas d’utilisation.
Exemples
Désactiver, activer
Vous n’aurez peut-être pas besoin de vos journaux DEBUG jusqu’à ce que vous en ayez réellement besoin lorsque votre plateforme subit un incident, ou que vous souhaitiez observer attentivement le déploiement d’une version critique de votre application. Configurez un filtre d’exclusion de 100 % sur le status:DEBUG, et activez-le et désactivez-le depuis l’interface utilisateur de Datadog ou via l’API lorsque nécessaire.
Surveillez les tendances
Que faire si vous ne souhaitez pas conserver tous les journaux de vos requêtes de serveur d’accès web ? Vous pourriez choisir d’indexer tous les journaux 3xx, 4xx et 5xx, mais d’exclure 95 % des journaux 2xx : source:nginx AND http.status_code:[200 TO 299] pour suivre les tendances.
Astuce : Transformez les journaux d’accès web en KPI significatifs avec une métrique générée à partir de vos journaux, comptant le nombre de requêtes et étiquetée par code d’état, navigateur et pays.
Échantillonnez de manière cohérente avec des entités de niveau supérieur
Vous avez des millions d’utilisateurs se connectant à votre site web chaque jour. Et bien que vous n’ayez pas besoin d’observabilité sur chaque utilisateur, vous souhaitez tout de même garder une vue d’ensemble pour certains. Configurez un filtre d’exclusion s’appliquant à tous les journaux de production (env:production) et excluez les journaux pour 90 % des @user.email :
Vous pouvez utiliser APM en conjonction avec les journaux, grâce à l’injection de l’ID de trace dans les journaux. En ce qui concerne les utilisateurs, vous n’avez pas besoin de conserver tous vos journaux, mais il est essentiel de s’assurer que les journaux donnent toujours une vue d’ensemble complète d’une trace pour le dépannage.
Mettez en place un filtre d’exclusion appliqué aux journaux de votre service instrumenté (service:my_python_app) et excluez les journaux pour 50 % des Trace ID - assurez-vous d’utiliser le remappeur d’ID de trace en amont dans vos pipelines.
Pour garantir un échantillonnage cohérent parmi plusieurs index :
- Créez une règle d’exclusion dans chaque index.
- Utilisez le même taux d’échantillonnage et le même attribut définissant l’entité de niveau supérieur pour toutes les règles d’exclusion.
- Vérifiez à nouveau les règles d’exclusion, les filtres et l’ordre respectif (les journaux ne passent que par la première règle d’exclusion correspondante).
Dans els exemples suivants :
- En général, tous les journaux avec un
request_id spécifique sont soit conservés, soit exclus (avec une probabilité de 50 %). - Les journaux avec un
threat:true ou compliance:true tag sont conservés indépendamment du request_id. DEBUG Les journaux sont indexés de manière cohérente avec la règle d’échantillonnage request_id, sauf si le filtre d’exclusion des journaux de débogage est activé, auquel cas ils sont échantillonnés.- 50 % des
2XX journaux d’accès web avec un request_id réel sont conservés. Tous les autres 2XX journaux d’accès web sont échantillonnés en fonction de la règle de filtre d’exclusion de 90 %.
Mettez à jour la conservation des journaux
Le paramètre de conservation de l’index détermine combien de temps les journaux sont stockés et consultables dans Datadog. Vous pouvez définir la conservation à n’importe quelle valeur autorisée dans la configuration de votre compte.
Pour activer l’ajout de conservations supplémentaires qui ne figurent pas dans votre contrat actuel, contactez Customer Success à : success@datadoghq.com. Après que des conservations supplémentaires ont été activées, vous devez mettre à jour les périodes de conservation pour vos index.
Remarque : Pour utiliser des conservations qui ne figurent pas dans votre contrat actuel, l’option doit être activée par un administrateur dans les paramètres de votre organisation.
Définissez un quota quotidien
Vous pouvez définir un quota quotidien pour limiter strictement le nombre de journaux qui sont stockés dans un index par jour. Ce quota s’applique à tous les journaux qui auraient dû être stockés (comme après l’application des filtres d’exclusion).
Une fois le quota quotidien atteint, les journaux ne sont plus indexés mais restent disponibles dans le livetail, envoyés à vos archives, et utilisés pour générer des métriques à partir des journaux.
Ce quota peut être configuré ou supprimé à tout moment en modifiant l’index :
- Définissez un quota quotidien en millions de journaux
- (Optionnel) Définissez une heure de réinitialisation personnalisée ; par défaut, les quotas quotidiens d’indexation se réinitialisent automatiquement à 14h00 UTC
- (Optionnel) Définissez un seuil d’avertissement en pourcentage du quota quotidien (minimum 50%)
Remarque : Les modifications des quotas quotidiens et des seuils d’avertissement prennent effet immédiatement.
Un événement est généré lorsque le quota journalier ou le seuil d’avertissement est atteint :
Consultez la rubrique Surveiller l’utilisation des logs pour découvrir comment surveiller votre utilisation et envoyer des alertes à ce sujet.
Lectures complémentaires
Documentation, liens et articles supplémentaires utiles:
*Logging without Limits est une marque déposée de Datadog, Inc.