Ma facture Amazon CloudWatch Logs est anormalement élevée. Je souhaite identifier le groupe de journaux qui augmente mes coûts CloudWatch Logs.
Brève description
Les augmentations soudaines des factures de CloudWatch Logs peuvent généralement résulter d'une augmentation des données ingérées ou stockées dans un groupe de journaux particulier. Utilisez les métriques CloudWatch Logs pour vérifier l'utilisation des données. Consultez ensuite votre facture AWS pour identifier le groupe de journaux responsable de l'augmentation du montant de votre facture.
Résolution
Vérifier la quantité de données que vous ingérez
La métrique IncomingBytes indique la quantité de données ingérées dans vos groupes de journaux CloudWatch en temps quasi réel. Cette métrique peut vous aider à déterminer les informations suivantes :
- Le groupe de journaux qui alourdit le plus votre facture.
- Tout pic de données entrantes dans vos groupes de journaux ou toute augmentation progressive due à de nouvelles applications.
- La quantité de données transmises au cours d'une période donnée.
Interroger un petit ensemble de groupes de journaux
Procédez comme suit :
- Ouvrez la console CloudWatch.
- Dans le volet de navigation, sélectionnez Toutes les métriques.
- Pour chacun de vos groupes de journaux, suivez les étapes suivantes :<br id=hardline_break/>
Choisissez l'espace de noms Journaux.<br id=hardline_break/>
Choisissez Métriques du groupe de journaux.<br id=hardline_break/>
Sélectionnez les métriques IncomingBytes individuelles.<br id=hardline_break/>
Choisissez l'onglet Métriques graphiques.
- Dans Statistiques, choisissez Somme.
- Dans Période, choisissez 30 jours.
- Cliquez sur l'onglet Options, puis dans la section Type de widget, choisissez Nombre.
- Dans la partie supérieure du graphique, sélectionnez Personnalisé, puis Absolu pour définir le créneau horaire. Sélectionnez une date de début et une date de fin qui correspondent aux 30 derniers jours.
Interroger un grand nombre de groupes de journaux
Procédez comme suit :
- Ouvrez la console CloudWatch.
- Dans le volet de navigation, sélectionnez Toutes les métriques.
- Choisissez l'onglet Graphique des métriques. Puis, dans la liste déroulante Ajouter des mathématiques, sélectionnez Commencer avec une expression vide.
- Copiez l'expression mathématique suivante :<br id=hardline_break/>
SORT(REMOVE_EMPTY(SEARCH('{AWS/Logs,LogGroupName} MetricName="IncomingBytes"', 'Sum', 2592000)),SUM, DESC)
- Collez l'expression mathématique dans le champ Modifier l’expression mathématique, puis choisissez Appliquer.
- Ouvrez l'onglet Options de graphique, puis Nombre.
- En haut du graphique, choisissez Personnaliser. Puis, choisissez Absolu. Sélectionnez une date de début et une date de fin qui correspondent aux 30 derniers jours. Vous pouvez représenter graphiquement jusqu'à 500 métriques grâce à cette méthode.<br id=hardline_break/>
Remarque : cette étape ne fonctionne qu'avec l'option Absolu. Si vous cliquez sur Relatif, le graphique vous renvoie des données incorrectes.
- Sélectionnez Actions.
- Sélectionnez Télécharger au format .csv.
Interroger un grand nombre de groupes de journaux
Prérequis : passez en revue les coûts associés aux appels d'API. Il est recommandé de distribuer l'opération ListMetrics pour éviter toute limitation. Le quota par défaut pour ListMetrics est de 25 transactions par seconde. Cependant, vous pouvez demander une augmentation du quota.
Procédez comme suit :
- Exécutez une opération d'API ListMetrics. Utilisez les paramètres suivants :<br id=hardline_break/>
**Espace de noms : AWS/Journaux<br id=hardline_break/>
**MetricName : IncomingBytes
- Exécutez une opération d'API GetMetricData. Utilisez les paramètres suivants :<br id=hardline_break/>
Espace de noms : AWS/Journaux<br id=hardline_break/>
MetricName : IncomingBytes<br id=hardline_break/>
Dimensions : Comme reçues de l'appel ListMetrics<br id=hardline_break/>
StartTime : Date et heure qui précèdent de 14 jours la date actuelle<br id=hardline_break/>
**EndTime :**Date et heure actuelles]<br id=hardline_break/>
Période : EndTime - StartTime, en secondes<br id=hardline_break/>
Statistiques : Somme
- Pour afficher les noms des groupes de journaux dont les quantités de données ingérées sont les plus élevées, triez les points de données par ordre décroissant.
Pour être sûr que les charges de données ingérées ne dépassent pas un quota spécifié à l'avenir, créez une alarme CloudWatch.
Vérifier votre utilisation des données de stockage
Le paramètre storedBytes représente le nombre d'octets compressés stockés dans un groupe de journaux. Pour vérifier storedBytes pour un groupe de journaux, procédez comme suit :
- Ouvrez la console CloudWatch.
- Dans le volet de navigation, sélectionnez Groupes de journaux.
- Sélectionnez le groupe de journaux.
- Vérifiez la taille totale des événements du journal compressé sous le paramètre Octets stockés.
Pour récupérer storedBytes pour les groupes de journaux par ordre décroissant, exécutez la commande describe-logs-groups de l’AWS CLI suivante :
aws logs describe-log-groups --query 'logGroups | sort_by(@, &storedBytes) | reverse([]) | [].{"LogGroupName": logGroupName, "StoredBytes": storedBytes, "RetentionInDays": retentionInDays}' --output table
Remarque : si la valeur de la colonne RetentionInDays de la sortie de l'AWS CLI est Aucun, le paramètre NeverExpire s'applique au groupe de journaux correspondant.
Les périodes de conservation déterminent la durée pendant laquelle CloudWatch Logs conserve vos données. Si vous réduisez les périodes de conservation, vous pouvez limiter la quantité de données historiques stockées au fil du temps et réduire les frais d'archivage.
Il est recommandé de mettre en œuvre des périodes de conservation basées sur des scénarios et d’exporter les données historiques vers des solutions de stockage plus rentables, telles qu'Amazon Simple Storage Service (Amazon S3).
Informations connexes
Analyse, optimisation et réduction des coûts CloudWatch