Vous pouvez configurer une condition d'alerte ou interroger vos données sur la plateforme New Relic lorsque vous êtes intégré à AWS. Ce document décrit comment nous stockons les métriques dimensionnelles AWS afin que vous puissiez créer des alertes et interroger vos données.
Si vous ne l'avez pas encore fait, nous vous recommandons d'installer ou de migrer vers l'intégration AWS CloudWatch Metric Streams pour ingérer les métriques des services AWS. Si vous utilisez l'interrogation API pour collecter vos données AWS, vous pouvez consulter les métriques que nous collectons pour chaque intégration dans notre section Métriques d'interrogation API .
requête, stockage métrique et modélisation
Nous avons mappé les métriques du cloud d'intégration individuel à la nouvelle modélisation d'AWS CloudWatch Metric Streams. Vous pouvez utiliser l'une ou l'autre des conventions de dénomination métriques et vos alertes, votre dashboard et vos requêtes continueront de fonctionner. Gardez à l'esprit que :
- Toutes les métriques provenant du flux métrique ont les attributs
aws.MetricStreamArnetcollector.name = 'cloudwatch-metric-streams'. - Les métriques provenant d'AWS CloudWatch sont stockées sous forme de métriques dimensionnelles de type
summary.
Vous pouvez en savoir plus sur la manière dont New Relic stocke les métriques AWS en tant que métriques dimensionnelles ci-dessous :
- La convention de dénomination dimensionnelle métrique explique comment New Relic met à jour l'espace de nommage AWS dans notre backend.
- Métriques avec plusieurs combinaisons de dimensions décrit comment utiliser des agrégations de requêtes pour analyser des métriques avec plusieurs dimensions
- Les métriques avec le suffixe
+ dimensionincluent un tableau de toutes les métriques qui sont suffixées par.by + dimensionName.
Nous stockons les métriques AWS dans New Relic sous forme de métriques dimensionnelles. New Relic conserve la casse d'origine de la métrique AWS d'origine, mais ajoute le préfixe aws en minuscules pour désigner l'espace de nommage AWS. Par exemple:
aws.ec2.CPUUtilizationaws.s3.5xxErrorsaws.sns.NumberOfMessagesPublishedNous remplaçons également toutes les instances de
/par.dans le préfixe :AWS/EC2apparaît commeaws.ec2AWS/ApplicationELBapparaît commeaws.applicationelbSi la ressource à laquelle appartient la métrique possède un préfixe d'espace de nommage spécifique, nous conservons ce préfixe d'espace de nommage mais ajoutons toujours le préfixe
aws:aws.Regionaws.s3.BucketNamePour plus d'informations sur l'espace de nommage pris en charge par AWS, consultez le site Web de documentationCloudWatch .
Une métrique est définie par son nom et ses différentes dimensions. Lorsqu'une métrique particulière comporte plusieurs dimensions différentes, elles seront ingérées en tant que série chronologique individuelle. Cette tendance peut entraîner l’apparition du même nom de métrique dans plusieurs métriques avec différentes combinaisons de dimensions. Par exemple:
aws.apigateway.4XXErroravec les dimensionsaws.apigateway.ApiNameetaws.apigateway.Stage.aws.apigateway.4XXErroravec des dimensionsaws.apigateway.ApiName.Certaines agrégations comme
sum()oucount()renverront des résultats dupliqués si la combinaison de dimensions correcte n'est pas spécifiée. Pour éviter que certaines agrégations telles quesum()oucount()correspondent aux deux métriques en même temps, filtrez les dimensions avecIS NULLouIS NOT NULL.Par exemple, cette requête renverra des résultats dupliqués pour les deux métriques en même temps :
SELECT sum(aws.apigateway.4XXError) FROM METRICPour faire correspondre uniquement les métriques avec la dimension
ApiName, ajoutezIS NULL:SELECT sum(aws.apigateway.4XXError) FROM METRIC WHERE aws.apigateway.Stage IS NULLPour faire correspondre uniquement les métriques avec 2 dimensions, ajoutez
IS NOT NULL:SELECT sum(aws.apigateway.4XXError) FROM METRIC WHERE aws.apigateway.ApiName IS NOT NULL and aws.apigateway.Stage IS NOT NULL
Pour des raisons historiques, nous suffixons certaines métriques qui apparaissent par paires. Par exemple, si une métrique possède une dimension mais pas l’autre, nous utilisons le suffixe by + dimension sur la métrique avec la dimension. Par exemple:
aws.lambda.Durationavec les dimensionsaws.lambda.FunctionNameest mappé àaws.lambda.Duration.byFunctionaws.lambda.Durationn'a pas de dimensions, donc reste le mêmeNous n'ajoutons plus ces modélisations, mais nous nous engageons à conserver toutes les nouvelles métriques avec leur nom AWS d'origine, tel que défini par la règle générale ci-dessus. Voici une liste complète de toutes les métriques qui sont suffixées par
.by + dimensionName:Nom métrique d'origine
Nom de dimension d'origine
Nom métrique suffixé
aws.apigateway.4XXErrorApiaws.apigateway.4XXError.byApiaws.apigateway.4XXErrorResourceWithMetricsaws.apigateway.4XXError.byResourceWithMetricsaws.apigateway.4XXErrorStageaws.apigateway.4XXError.byStageaws.apigateway.5XXErrorApiaws.apigateway.5XXError.byApiaws.apigateway.5XXErrorResourceWithMetricsaws.apigateway.5XXError.byResourceWithMetricsaws.apigateway.5XXErrorStageaws.apigateway.5XXError.byStageaws.apigateway.CacheHitCountApiaws.apigateway.CacheHitCount.byApiaws.apigateway.CacheHitCountResourceWithMetricsaws.apigateway.CacheHitCount.byResourceWithMetricsaws.apigateway.CacheHitCountStageaws.apigateway.CacheHitCount.byStageaws.apigateway.CacheMissCountApiaws.apigateway.CacheMissCount.byApiaws.apigateway.CacheMissCountResourceWithMetricsaws.apigateway.CacheMissCount.byResourceWithMetricsaws.apigateway.CacheMissCountStageaws.apigateway.CacheMissCount.byStageaws.apigateway.CountApiaws.apigateway.Count.byApiaws.apigateway.CountResourceWithMetricsaws.apigateway.Count.byResourceWithMetricsaws.apigateway.CountStageaws.apigateway.Count.byStageaws.apigateway.IntegrationLatencyApiaws.apigateway.IntegrationLatency.byApiaws.apigateway.IntegrationLatencyResourceWithMetricsaws.apigateway.IntegrationLatency.byResourceWithMetricsaws.apigateway.IntegrationLatencyStageaws.apigateway.IntegrationLatency.byStageaws.apigateway.LatencyApiaws.apigateway.Latency.byApiaws.apigateway.LatencyResourceWithMetricsaws.apigateway.Latency.byResourceWithMetricsaws.apigateway.LatencyStageaws.apigateway.Latency.byStageaws.applicationelb.RequestCountAlbaws.applicationelb.RequestCount.byAlbaws.applicationelb.RequestCountTargetGroupaws.applicationelb.RequestCount.byTargetGroupaws.docdb.BackupRetentionPeriodStorageUsedClusteraws.docdb.BackupRetentionPeriodStorageUsed.byClusteraws.docdb.BackupRetentionPeriodStorageUsedClusterByRoleaws.docdb.BackupRetentionPeriodStorageUsed.byClusterByRoleaws.docdb.BackupRetentionPeriodStorageUsedInstanceaws.docdb.BackupRetentionPeriodStorageUsed.byInstanceaws.docdb.BufferCacheHitRatioClusteraws.docdb.BufferCacheHitRatio.byClusteraws.docdb.BufferCacheHitRatioClusterByRoleaws.docdb.BufferCacheHitRatio.byClusterByRoleaws.docdb.BufferCacheHitRatioInstanceaws.docdb.BufferCacheHitRatio.byInstanceaws.docdb.CPUUtilizationClusteraws.docdb.CPUUtilization.byClusteraws.docdb.CPUUtilizationClusterByRoleaws.docdb.CPUUtilization.byClusterByRoleaws.docdb.CPUUtilizationInstanceaws.docdb.CPUUtilization.byInstanceaws.docdb.DatabaseConnectionsClusteraws.docdb.DatabaseConnections.byClusteraws.docdb.DatabaseConnectionsClusterByRoleaws.docdb.DatabaseConnections.byClusterByRoleaws.docdb.DatabaseConnectionsInstanceaws.docdb.DatabaseConnections.byInstanceaws.docdb.DBClusterReplicaLagMaximumClusteraws.docdb.DBClusterReplicaLagMaximum.byClusteraws.docdb.DBClusterReplicaLagMaximumClusterByRoleaws.docdb.DBClusterReplicaLagMaximum.byClusterByRoleaws.docdb.DBClusterReplicaLagMaximumInstanceaws.docdb.DBClusterReplicaLagMaximum.byInstanceaws.docdb.DBClusterReplicaLagMinimumClusteraws.docdb.DBClusterReplicaLagMinimum.byClusteraws.docdb.DBClusterReplicaLagMinimumClusterByRoleaws.docdb.DBClusterReplicaLagMinimum.byClusterByRoleaws.docdb.DBClusterReplicaLagMinimumInstanceaws.docdb.DBClusterReplicaLagMinimum.byInstanceaws.docdb.DBInstanceReplicaLagClusteraws.docdb.DBInstanceReplicaLag.byClusteraws.docdb.DBInstanceReplicaLagClusterByRoleaws.docdb.DBInstanceReplicaLag.byClusterByRoleaws.docdb.DBInstanceReplicaLagInstanceaws.docdb.DBInstanceReplicaLag.byInstanceaws.docdb.DiskQueueDepthClusteraws.docdb.DiskQueueDepth.byClusteraws.docdb.DiskQueueDepthClusterByRoleaws.docdb.DiskQueueDepth.byClusterByRoleaws.docdb.DiskQueueDepthInstanceaws.docdb.DiskQueueDepth.byInstanceaws.docdb.EngineUptimeClusteraws.docdb.EngineUptime.byClusteraws.docdb.EngineUptimeClusterByRoleaws.docdb.EngineUptime.byClusterByRoleaws.docdb.EngineUptimeInstanceaws.docdb.EngineUptime.byInstanceaws.docdb.FreeableMemoryClusteraws.docdb.FreeableMemory.byClusteraws.docdb.FreeableMemoryClusterByRoleaws.docdb.FreeableMemory.byClusterByRoleaws.docdb.FreeableMemoryInstanceaws.docdb.FreeableMemory.byInstanceaws.docdb.FreeLocalStorageClusteraws.docdb.FreeLocalStorage.byClusteraws.docdb.FreeLocalStorageClusterByRoleaws.docdb.FreeLocalStorage.byClusterByRoleaws.docdb.FreeLocalStorageInstanceaws.docdb.FreeLocalStorage.byInstanceaws.docdb.NetworkReceiveThroughputClusteraws.docdb.NetworkReceiveThroughput.byClusteraws.docdb.NetworkReceiveThroughputClusterByRoleaws.docdb.NetworkReceiveThroughput.byClusterByRoleaws.docdb.NetworkReceiveThroughputInstanceaws.docdb.NetworkReceiveThroughput.byInstanceaws.docdb.NetworkThroughputClusteraws.docdb.NetworkThroughput.byClusteraws.docdb.NetworkThroughputClusterByRoleaws.docdb.NetworkThroughput.byClusterByRoleaws.docdb.NetworkThroughputInstanceaws.docdb.NetworkThroughput.byInstanceaws.docdb.NetworkTransmitThroughputClusteraws.docdb.NetworkTransmitThroughput.byClusteraws.docdb.NetworkTransmitThroughputClusterByRoleaws.docdb.NetworkTransmitThroughput.byClusterByRoleaws.docdb.NetworkTransmitThroughputInstanceaws.docdb.NetworkTransmitThroughput.byInstanceaws.docdb.ReadIOPSClusteraws.docdb.ReadIOPS.byClusteraws.docdb.ReadIOPSClusterByRoleaws.docdb.ReadIOPS.byClusterByRoleaws.docdb.ReadIOPSInstanceaws.docdb.ReadIOPS.byInstanceaws.docdb.ReadLatencyClusteraws.docdb.ReadLatency.byClusteraws.docdb.ReadLatencyClusterByRoleaws.docdb.ReadLatency.byClusterByRoleaws.docdb.ReadLatencyInstanceaws.docdb.ReadLatency.byInstanceaws.docdb.ReadThroughputClusteraws.docdb.ReadThroughput.byClusteraws.docdb.ReadThroughputClusterByRoleaws.docdb.ReadThroughput.byClusterByRoleaws.docdb.ReadThroughputInstanceaws.docdb.ReadThroughput.byInstanceaws.docdb.SnapshotStorageUsedClusteraws.docdb.SnapshotStorageUsed.byClusteraws.docdb.SnapshotStorageUsedClusterByRoleaws.docdb.SnapshotStorageUsed.byClusterByRoleaws.docdb.SnapshotStorageUsedInstanceaws.docdb.SnapshotStorageUsed.byInstanceaws.docdb.SwapUsageClusteraws.docdb.SwapUsage.byClusteraws.docdb.SwapUsageClusterByRoleaws.docdb.SwapUsage.byClusterByRoleaws.docdb.SwapUsageInstanceaws.docdb.SwapUsage.byInstanceaws.docdb.TotalBackupStorageBilledClusteraws.docdb.TotalBackupStorageBilled.byClusteraws.docdb.TotalBackupStorageBilledClusterByRoleaws.docdb.TotalBackupStorageBilled.byClusterByRoleaws.docdb.TotalBackupStorageBilledInstanceaws.docdb.TotalBackupStorageBilled.byInstanceaws.docdb.VolumeBytesUsedClusteraws.docdb.VolumeBytesUsed.byClusteraws.docdb.VolumeBytesUsedClusterByRoleaws.docdb.VolumeBytesUsed.byClusterByRoleaws.docdb.VolumeBytesUsedInstanceaws.docdb.VolumeBytesUsed.byInstanceaws.docdb.VolumeReadIOPsClusteraws.docdb.VolumeReadIOPs.byClusteraws.docdb.VolumeReadIOPsClusterByRoleaws.docdb.VolumeReadIOPs.byClusterByRoleaws.docdb.VolumeReadIOPsInstanceaws.docdb.VolumeReadIOPs.byInstanceaws.docdb.VolumeWriteIOPsClusteraws.docdb.VolumeWriteIOPs.byClusteraws.docdb.VolumeWriteIOPsClusterByRoleaws.docdb.VolumeWriteIOPs.byClusterByRoleaws.docdb.VolumeWriteIOPsInstanceaws.docdb.VolumeWriteIOPs.byInstanceaws.docdb.WriteIOPSClusteraws.docdb.WriteIOPS.byClusteraws.docdb.WriteIOPSClusterByRoleaws.docdb.WriteIOPS.byClusterByRoleaws.docdb.WriteIOPSInstanceaws.docdb.WriteIOPS.byInstanceaws.docdb.WriteLatencyClusteraws.docdb.WriteLatency.byClusteraws.docdb.WriteLatencyClusterByRoleaws.docdb.WriteLatency.byClusterByRoleaws.docdb.WriteLatencyInstanceaws.docdb.WriteLatency.byInstanceaws.docdb.WriteThroughputClusteraws.docdb.WriteThroughput.byClusteraws.docdb.WriteThroughputClusterByRoleaws.docdb.WriteThroughput.byClusterByRoleaws.docdb.WriteThroughputInstanceaws.docdb.WriteThroughput.byInstanceaws.dynamodb.ConsumedReadCapacityUnitsGlobalSecondaryIndexaws.dynamodb.ConsumedReadCapacityUnits.byGlobalSecondaryIndexaws.dynamodb.ConsumedWriteCapacityUnitsGlobalSecondaryIndexaws.dynamodb.ConsumedWriteCapacityUnits.byGlobalSecondaryIndexaws.dynamodb.ProvisionedReadCapacityUnitsGlobalSecondaryIndexaws.dynamodb.ProvisionedReadCapacityUnits.byGlobalSecondaryIndexaws.dynamodb.ProvisionedWriteCapacityUnitsGlobalSecondaryIndexaws.dynamodb.ProvisionedWriteCapacityUnits.byGlobalSecondaryIndexaws.dynamodb.ReadThrottleEventsGlobalSecondaryIndexaws.dynamodb.ReadThrottleEvents.byGlobalSecondaryIndexaws.dynamodb.WriteThrottleEventsGlobalSecondaryIndexaws.dynamodb.WriteThrottleEvents.byGlobalSecondaryIndexaws.ecs.activeServicesCountClusteraws.ecs.activeServicesCount.byClusteraws.ecs.CPUUtilizationClusteraws.ecs.CPUUtilization.byClusteraws.ecs.CPUUtilizationServiceaws.ecs.CPUUtilization.byServiceaws.ecs.desiredCountServiceaws.ecs.desiredCount.byServiceaws.ecs.MemoryUtilizationClusteraws.ecs.MemoryUtilization.byClusteraws.ecs.MemoryUtilizationServiceaws.ecs.MemoryUtilization.byServiceaws.ecs.pendingCountServiceaws.ecs.pendingCount.byServiceaws.ecs.pendingTasksCountClusteraws.ecs.pendingTasksCount.byClusteraws.ecs.registeredContainerInstancesCountClusteraws.ecs.registeredContainerInstancesCount.byClusteraws.ecs.runningCountServiceaws.ecs.runningCount.byServiceaws.ecs.runningTasksCountClusteraws.ecs.runningTasksCount.byClusteraws.es.CPUUtilizationClusteraws.es.CPUUtilization.byClusteraws.es.CPUUtilizationNodeaws.es.CPUUtilization.byNodeaws.es.FreeStorageSpaceClusteraws.es.FreeStorageSpace.byClusteraws.es.FreeStorageSpaceNodeaws.es.FreeStorageSpace.byNodeaws.es.IndexingLatencyClusteraws.es.IndexingLatency.byClusteraws.es.IndexingLatencyNodeaws.es.IndexingLatency.byNodeaws.es.IndexingRateClusteraws.es.IndexingRate.byClusteraws.es.IndexingRateNodeaws.es.IndexingRate.byNodeaws.es.JVMGCOldCollectionCountClusteraws.es.JVMGCOldCollectionCount.byClusteraws.es.JVMGCOldCollectionCountNodeaws.es.JVMGCOldCollectionCount.byNodeaws.es.JVMGCOldCollectionTimeClusteraws.es.JVMGCOldCollectionTime.byClusteraws.es.JVMGCOldCollectionTimeNodeaws.es.JVMGCOldCollectionTime.byNodeaws.es.JVMGCYoungCollectionCountClusteraws.es.JVMGCYoungCollectionCount.byClusteraws.es.JVMGCYoungCollectionCountNodeaws.es.JVMGCYoungCollectionCount.byNodeaws.es.JVMGCYoungCollectionTimeClusteraws.es.JVMGCYoungCollectionTime.byClusteraws.es.JVMGCYoungCollectionTimeNodeaws.es.JVMGCYoungCollectionTime.byNodeaws.es.JVMMemoryPressureClusteraws.es.JVMMemoryPressure.byClusteraws.es.JVMMemoryPressureNodeaws.es.JVMMemoryPressure.byNodeaws.es.SearchLatencyClusteraws.es.SearchLatency.byClusteraws.es.SearchLatencyNodeaws.es.SearchLatency.byNodeaws.es.SearchRateClusteraws.es.SearchRate.byClusteraws.es.SearchRateNodeaws.es.SearchRate.byNodeaws.es.SysMemoryUtilizationClusteraws.es.SysMemoryUtilization.byClusteraws.es.SysMemoryUtilizationNodeaws.es.SysMemoryUtilization.byNodeaws.es.ThreadpoolBulkQueueClusteraws.es.ThreadpoolBulkQueue.byClusteraws.es.ThreadpoolBulkQueueNodeaws.es.ThreadpoolBulkQueue.byNodeaws.es.ThreadpoolBulkRejectedClusteraws.es.ThreadpoolBulkRejected.byClusteraws.es.ThreadpoolBulkRejectedNodeaws.es.ThreadpoolBulkRejected.byNodeaws.es.ThreadpoolBulkThreadsClusteraws.es.ThreadpoolBulkThreads.byClusteraws.es.ThreadpoolBulkThreadsNodeaws.es.ThreadpoolBulkThreads.byNodeaws.es.ThreadpoolForce_mergeQueueClusteraws.es.ThreadpoolForce_mergeQueue.byClusteraws.es.ThreadpoolForce_mergeQueueNodeaws.es.ThreadpoolForce_mergeQueue.byNodeaws.es.ThreadpoolForce_mergeRejectedClusteraws.es.ThreadpoolForce_mergeRejected.byClusteraws.es.ThreadpoolForce_mergeRejectedNodeaws.es.ThreadpoolForce_mergeRejected.byNodeaws.es.ThreadpoolForce_mergeThreadsClusteraws.es.ThreadpoolForce_mergeThreads.byClusteraws.es.ThreadpoolForce_mergeThreadsNodeaws.es.ThreadpoolForce_mergeThreads.byNodeaws.es.ThreadpoolIndexQueueClusteraws.es.ThreadpoolIndexQueue.byClusteraws.es.ThreadpoolIndexQueueNodeaws.es.ThreadpoolIndexQueue.byNodeaws.es.ThreadpoolIndexRejectedClusteraws.es.ThreadpoolIndexRejected.byClusteraws.es.ThreadpoolIndexRejectedNodeaws.es.ThreadpoolIndexRejected.byNodeaws.es.ThreadpoolIndexThreadsClusteraws.es.ThreadpoolIndexThreads.byClusteraws.es.ThreadpoolIndexThreadsNodeaws.es.ThreadpoolIndexThreads.byNodeaws.es.ThreadpoolSearchQueueClusteraws.es.ThreadpoolSearchQueue.byClusteraws.es.ThreadpoolSearchQueueNodeaws.es.ThreadpoolSearchQueue.byNodeaws.es.ThreadpoolSearchRejectedClusteraws.es.ThreadpoolSearchRejected.byClusteraws.es.ThreadpoolSearchRejectedNodeaws.es.ThreadpoolSearchRejected.byNodeaws.es.ThreadpoolSearchThreadsClusteraws.es.ThreadpoolSearchThreads.byClusteraws.es.ThreadpoolSearchThreadsNodeaws.es.ThreadpoolSearchThreads.byNodeaws.kafka.BytesInPerSecBrokeraws.kafka.BytesInPerSec.byBrokeraws.kafka.BytesInPerSecTopicaws.kafka.BytesInPerSec.byTopicaws.kafka.BytesOutPerSecBrokeraws.kafka.BytesOutPerSec.byBrokeraws.kafka.BytesOutPerSecTopicaws.kafka.BytesOutPerSec.byTopicaws.kafka.FetchMessageConversionsPerSecBrokeraws.kafka.FetchMessageConversionsPerSec.byBrokeraws.kafka.FetchMessageConversionsPerSecTopicaws.kafka.FetchMessageConversionsPerSec.byTopicaws.kafka.MessagesInPerSecBrokeraws.kafka.MessagesInPerSec.byBrokeraws.kafka.MessagesInPerSecTopicaws.kafka.MessagesInPerSec.byTopicaws.kafka.ProduceMessageConversionsPerSecBrokeraws.kafka.ProduceMessageConversionsPerSec.byBrokeraws.kafka.ProduceMessageConversionsPerSecTopicaws.kafka.ProduceMessageConversionsPerSec.byTopicaws.kinesis.IncomingBytesStreamaws.kinesis.IncomingBytes.byStreamaws.kinesis.IncomingBytesStreamShardaws.kinesis.IncomingBytes.byStreamShardaws.kinesis.IncomingRecordsStreamaws.kinesis.IncomingRecords.byStreamaws.kinesis.IncomingRecordsStreamShardaws.kinesis.IncomingRecords.byStreamShardaws.kinesis.ReadProvisionedThroughputExceededStreamaws.kinesis.ReadProvisionedThroughputExceeded.byStreamaws.kinesis.ReadProvisionedThroughputExceededStreamShardaws.kinesis.ReadProvisionedThroughputExceeded.byStreamShardaws.kinesis.WriteProvisionedThroughputExceededStreamaws.kinesis.WriteProvisionedThroughputExceeded.byStreamaws.kinesis.WriteProvisionedThroughputExceededStreamShardaws.kinesis.WriteProvisionedThroughputExceeded.byStreamShardaws.lambda.ConcurrentExecutionsFunctionaws.lambda.ConcurrentExecutions.byFunctionaws.lambda.ConcurrentExecutionsRegionaws.lambda.ConcurrentExecutions.byRegionaws.lambda.DeadLetterErrorsFunctionaws.lambda.DeadLetterErrors.byFunctionaws.lambda.DeadLetterErrorsFunctionAliasaws.lambda.DeadLetterErrors.byFunctionAliasaws.lambda.DurationFunctionaws.lambda.Duration.byFunctionaws.lambda.DurationFunctionAliasaws.lambda.Duration.byFunctionAliasaws.lambda.ErrorsFunctionaws.lambda.Errors.byFunctionaws.lambda.ErrorsFunctionAliasaws.lambda.Errors.byFunctionAliasaws.lambda.InvocationsFunctionaws.lambda.Invocations.byFunctionaws.lambda.InvocationsFunctionAliasaws.lambda.Invocations.byFunctionAliasaws.lambda.IteratorAgeFunctionaws.lambda.IteratorAge.byFunctionaws.lambda.IteratorAgeFunctionAliasaws.lambda.IteratorAge.byFunctionAliasaws.lambda.ProvisionedConcurrencyInvocationsFunctionaws.lambda.ProvisionedConcurrencyInvocations.byFunctionaws.lambda.ProvisionedConcurrencyInvocationsFunctionAliasaws.lambda.ProvisionedConcurrencyInvocations.byFunctionAliasaws.lambda.ProvisionedConcurrencySpilloverInvocationsFunctionaws.lambda.ProvisionedConcurrencySpilloverInvocations.byFunctionaws.lambda.ProvisionedConcurrencySpilloverInvocationsFunctionAliasaws.lambda.ProvisionedConcurrencySpilloverInvocations.byFunctionAliasaws.lambda.ProvisionedConcurrencyUtilizationFunctionAliasaws.lambda.ProvisionedConcurrencyUtilization.byFunctionAliasaws.lambda.ProvisionedConcurrentExecutionsFunctionaws.lambda.ProvisionedConcurrentExecutions.byFunctionaws.lambda.ProvisionedConcurrentExecutionsFunctionAliasaws.lambda.ProvisionedConcurrentExecutions.byFunctionAliasaws.lambda.ThrottlesFunctionaws.lambda.Throttles.byFunctionaws.lambda.ThrottlesFunctionAliasaws.lambda.Throttles.byFunctionAliasaws.neptune.BackupRetentionPeriodStorageUsedClusteraws.neptune.BackupRetentionPeriodStorageUsed.byClusteraws.neptune.BackupRetentionPeriodStorageUsedClusterByRoleaws.neptune.BackupRetentionPeriodStorageUsed.byClusterByRoleaws.neptune.BackupRetentionPeriodStorageUsedInstanceaws.neptune.BackupRetentionPeriodStorageUsed.byInstanceaws.neptune.ClusterReplicaLagClusteraws.neptune.ClusterReplicaLag.byClusteraws.neptune.ClusterReplicaLagClusterByRoleaws.neptune.ClusterReplicaLag.byClusterByRoleaws.neptune.ClusterReplicaLagInstanceaws.neptune.ClusterReplicaLag.byInstanceaws.neptune.ClusterReplicaLagMaximumClusteraws.neptune.ClusterReplicaLagMaximum.byClusteraws.neptune.ClusterReplicaLagMaximumClusterByRoleaws.neptune.ClusterReplicaLagMaximum.byClusterByRoleaws.neptune.ClusterReplicaLagMaximumInstanceaws.neptune.ClusterReplicaLagMaximum.byInstanceaws.neptune.ClusterReplicaLagMinimumClusteraws.neptune.ClusterReplicaLagMinimum.byClusteraws.neptune.ClusterReplicaLagMinimumClusterByRoleaws.neptune.ClusterReplicaLagMinimum.byClusterByRoleaws.neptune.ClusterReplicaLagMinimumInstanceaws.neptune.ClusterReplicaLagMinimum.byInstanceaws.neptune.CPUUtilizationClusteraws.neptune.CPUUtilization.byClusteraws.neptune.CPUUtilizationClusterByRoleaws.neptune.CPUUtilization.byClusterByRoleaws.neptune.CPUUtilizationInstanceaws.neptune.CPUUtilization.byInstanceaws.neptune.EngineUptimeClusteraws.neptune.EngineUptime.byClusteraws.neptune.EngineUptimeClusterByRoleaws.neptune.EngineUptime.byClusterByRoleaws.neptune.EngineUptimeInstanceaws.neptune.EngineUptime.byInstanceaws.neptune.FreeableMemoryClusteraws.neptune.FreeableMemory.byClusteraws.neptune.FreeableMemoryClusterByRoleaws.neptune.FreeableMemory.byClusterByRoleaws.neptune.FreeableMemoryInstanceaws.neptune.FreeableMemory.byInstanceaws.neptune.GremlinRequestsPerSecClusteraws.neptune.GremlinRequestsPerSec.byClusteraws.neptune.GremlinRequestsPerSecClusterByRoleaws.neptune.GremlinRequestsPerSec.byClusterByRoleaws.neptune.GremlinRequestsPerSecInstanceaws.neptune.GremlinRequestsPerSec.byInstanceaws.neptune.GremlinWebSocketOpenConnectionsClusteraws.neptune.GremlinWebSocketOpenConnections.byClusteraws.neptune.GremlinWebSocketOpenConnectionsClusterByRoleaws.neptune.GremlinWebSocketOpenConnections.byClusterByRoleaws.neptune.GremlinWebSocketOpenConnectionsInstanceaws.neptune.GremlinWebSocketOpenConnections.byInstanceaws.neptune.LoaderRequestsPerSecClusteraws.neptune.LoaderRequestsPerSec.byClusteraws.neptune.LoaderRequestsPerSecClusterByRoleaws.neptune.LoaderRequestsPerSec.byClusterByRoleaws.neptune.LoaderRequestsPerSecInstanceaws.neptune.LoaderRequestsPerSec.byInstanceaws.neptune.MainRequestQueuePendingRequestsClusteraws.neptune.MainRequestQueuePendingRequests.byClusteraws.neptune.MainRequestQueuePendingRequestsClusterByRoleaws.neptune.MainRequestQueuePendingRequests.byClusterByRoleaws.neptune.MainRequestQueuePendingRequestsInstanceaws.neptune.MainRequestQueuePendingRequests.byInstanceaws.neptune.NetworkReceiveThroughputClusteraws.neptune.NetworkReceiveThroughput.byClusteraws.neptune.NetworkReceiveThroughputClusterByRoleaws.neptune.NetworkReceiveThroughput.byClusterByRoleaws.neptune.NetworkReceiveThroughputInstanceaws.neptune.NetworkReceiveThroughput.byInstanceaws.neptune.NetworkThroughputClusteraws.neptune.NetworkThroughput.byClusteraws.neptune.NetworkThroughputClusterByRoleaws.neptune.NetworkThroughput.byClusterByRoleaws.neptune.NetworkThroughputInstanceaws.neptune.NetworkThroughput.byInstanceaws.neptune.NetworkTransmitThroughputClusteraws.neptune.NetworkTransmitThroughput.byClusteraws.neptune.NetworkTransmitThroughputClusterByRoleaws.neptune.NetworkTransmitThroughput.byClusterByRoleaws.neptune.NetworkTransmitThroughputInstanceaws.neptune.NetworkTransmitThroughput.byInstanceaws.neptune.NumTxCommittedClusteraws.neptune.NumTxCommitted.byClusteraws.neptune.NumTxCommittedClusterByRoleaws.neptune.NumTxCommitted.byClusterByRoleaws.neptune.NumTxCommittedInstanceaws.neptune.NumTxCommitted.byInstanceaws.neptune.NumTxOpenedClusteraws.neptune.NumTxOpened.byClusteraws.neptune.NumTxOpenedClusterByRoleaws.neptune.NumTxOpened.byClusterByRoleaws.neptune.NumTxOpenedInstanceaws.neptune.NumTxOpened.byInstanceaws.neptune.NumTxRolledBackClusteraws.neptune.NumTxRolledBack.byClusteraws.neptune.NumTxRolledBackClusterByRoleaws.neptune.NumTxRolledBack.byClusterByRoleaws.neptune.NumTxRolledBackInstanceaws.neptune.NumTxRolledBack.byInstanceaws.neptune.SnapshotStorageUsedClusteraws.neptune.SnapshotStorageUsed.byClusteraws.neptune.SnapshotStorageUsedClusterByRoleaws.neptune.SnapshotStorageUsed.byClusterByRoleaws.neptune.SnapshotStorageUsedInstanceaws.neptune.SnapshotStorageUsed.byInstanceaws.neptune.SparqlRequestsPerSecClusteraws.neptune.SparqlRequestsPerSec.byClusteraws.neptune.SparqlRequestsPerSecClusterByRoleaws.neptune.SparqlRequestsPerSec.byClusterByRoleaws.neptune.SparqlRequestsPerSecInstanceaws.neptune.SparqlRequestsPerSec.byInstanceaws.neptune.TotalBackupStorageBilledClusteraws.neptune.TotalBackupStorageBilled.byClusteraws.neptune.TotalBackupStorageBilledClusterByRoleaws.neptune.TotalBackupStorageBilled.byClusterByRoleaws.neptune.TotalBackupStorageBilledInstanceaws.neptune.TotalBackupStorageBilled.byInstanceaws.neptune.TotalClientErrorsPerSecClusteraws.neptune.TotalClientErrorsPerSec.byClusteraws.neptune.TotalClientErrorsPerSecClusterByRoleaws.neptune.TotalClientErrorsPerSec.byClusterByRoleaws.neptune.TotalClientErrorsPerSecInstanceaws.neptune.TotalClientErrorsPerSec.byInstanceaws.neptune.TotalRequestsPerSecClusteraws.neptune.TotalRequestsPerSec.byClusteraws.neptune.TotalRequestsPerSecClusterByRoleaws.neptune.TotalRequestsPerSec.byClusterByRoleaws.neptune.TotalRequestsPerSecInstanceaws.neptune.TotalRequestsPerSec.byInstanceaws.neptune.TotalServerErrorsPerSecClusteraws.neptune.TotalServerErrorsPerSec.byClusteraws.neptune.TotalServerErrorsPerSecClusterByRoleaws.neptune.TotalServerErrorsPerSec.byClusterByRoleaws.neptune.TotalServerErrorsPerSecInstanceaws.neptune.TotalServerErrorsPerSec.byInstanceaws.neptune.VolumeBytesUsedClusteraws.neptune.VolumeBytesUsed.byClusteraws.neptune.VolumeBytesUsedClusterByRoleaws.neptune.VolumeBytesUsed.byClusterByRoleaws.neptune.VolumeBytesUsedInstanceaws.neptune.VolumeBytesUsed.byInstanceaws.neptune.VolumeReadIOPsClusteraws.neptune.VolumeReadIOPs.byClusteraws.neptune.VolumeReadIOPsClusterByRoleaws.neptune.VolumeReadIOPs.byClusterByRoleaws.neptune.VolumeReadIOPsInstanceaws.neptune.VolumeReadIOPs.byInstanceaws.neptune.VolumeWriteIOPsClusteraws.neptune.VolumeWriteIOPs.byClusteraws.neptune.VolumeWriteIOPsClusterByRoleaws.neptune.VolumeWriteIOPs.byClusterByRoleaws.neptune.VolumeWriteIOPsInstanceaws.neptune.VolumeWriteIOPs.byInstanceaws.rds.VolumeBytesUsedDbClusteraws.rds.VolumeBytesUsed.byDbClusteraws.rds.VolumeReadIOPsDbClusteraws.rds.VolumeReadIOPs.byDbClusteraws.rds.VolumeWriteIOPsDbClusteraws.rds.VolumeWriteIOPs.byDbClusteraws.redshift.CPUUtilizationClusteraws.redshift.CPUUtilization.byClusteraws.redshift.CPUUtilizationNodeaws.redshift.CPUUtilization.byNodeaws.redshift.DatabaseConnectionsClusteraws.redshift.DatabaseConnections.byClusteraws.redshift.DatabaseConnectionsNodeaws.redshift.DatabaseConnections.byNodeaws.redshift.HealthStatusClusteraws.redshift.HealthStatus.byClusteraws.redshift.HealthStatusNodeaws.redshift.HealthStatus.byNodeaws.redshift.MaintenanceModeClusteraws.redshift.MaintenanceMode.byClusteraws.redshift.MaintenanceModeNodeaws.redshift.MaintenanceMode.byNodeaws.redshift.NetworkReceiveThroughputClusteraws.redshift.NetworkReceiveThroughput.byClusteraws.redshift.NetworkReceiveThroughputNodeaws.redshift.NetworkReceiveThroughput.byNodeaws.redshift.NetworkTransmitThroughputClusteraws.redshift.NetworkTransmitThroughput.byClusteraws.redshift.NetworkTransmitThroughputNodeaws.redshift.NetworkTransmitThroughput.byNodeaws.redshift.PercentageDiskSpaceUsedClusteraws.redshift.PercentageDiskSpaceUsed.byClusteraws.redshift.PercentageDiskSpaceUsedNodeaws.redshift.PercentageDiskSpaceUsed.byNodeaws.redshift.ReadIOPSClusteraws.redshift.ReadIOPS.byClusteraws.redshift.ReadIOPSNodeaws.redshift.ReadIOPS.byNodeaws.redshift.ReadLatencyClusteraws.redshift.ReadLatency.byClusteraws.redshift.ReadLatencyNodeaws.redshift.ReadLatency.byNodeaws.redshift.ReadThroughputClusteraws.redshift.ReadThroughput.byClusteraws.redshift.ReadThroughputNodeaws.redshift.ReadThroughput.byNodeaws.redshift.WriteIOPSClusteraws.redshift.WriteIOPS.byClusteraws.redshift.WriteIOPSNodeaws.redshift.WriteIOPS.byNodeaws.redshift.WriteLatencyClusteraws.redshift.WriteLatency.byClusteraws.redshift.WriteLatencyNodeaws.redshift.WriteLatency.byNodeaws.redshift.WriteThroughputClusteraws.redshift.WriteThroughput.byClusteraws.redshift.WriteThroughputNodeaws.redshift.WriteThroughput.byNodeaws.states.ConsumedCapacityApiUsageaws.states.ConsumedCapacity.byApiUsageaws.states.ConsumedCapacityServiceaws.states.ConsumedCapacity.byServiceaws.states.ProvisionedBucketSizeApiUsageaws.states.ProvisionedBucketSize.byApiUsageaws.states.ProvisionedBucketSizeServiceaws.states.ProvisionedBucketSize.byServiceaws.states.ProvisionedRefillRateApiUsageaws.states.ProvisionedRefillRate.byApiUsageaws.states.ProvisionedRefillRateServiceaws.states.ProvisionedRefillRate.byServiceaws.states.ThrottledEventsApiUsageaws.states.ThrottledEvents.byApiUsageaws.states.ThrottledEventsServiceaws.states.ThrottledEvents.byService
Nous générons des entités New Relic pour de nombreux espaces de nommage AWS :
Parcourez ces entités dans notre explorateur d'entités.
Accédez à un dashboard entité créé automatiquement pour ces entités.
Obtenez les métriques et les entités de cet espace de nommage décoré de la balise AWS. La collecte des balises AWS nécessite que vous ayez accordé à New Relic l'autorisation
tag:GetResources, qui fait partie du processus de configuration dans l'UI. La balise AWS s'affiche en métriques sous la formetag.AWSTagName; par exemple, si vous avez défini une tag AWSTeamsur la ressource, elle s'affichera sous la formetag.Team.Profitez de toutes les fonctionnalités incluses dans l’explorateur d’entités.
Important
New Relic Lookout est incompatible avec l'intégration flux de métriques AWS.
Créer une condition d'alerte
Vous pouvez créer une condition d'alerte NRQL sur les métriques à partir d'un flux métrique. Assurez-vous que votre filtre limite les données aux métriques du flux de métriques CloudWatch uniquement. Pour ce faire, construisez votre requête comme ceci :
SELECT sum(aws.s3.5xxErrors) FROM Metric WHERE collector.name = 'cloudwatch-metric-streams' FACET aws.accountId, aws.s3.BucketNamePour vous assurer que vos alertes traitent correctement les données, configurez les paramètres de signal avancés. Les paramètres de signal avancés abordent la manière dont AWS CloudWatch reçoit les métriques des services avec un certain délai. Par exemple, Amazon garantit que 90 % des métriques EC2 sont disponibles dans CloudWatch dans les 7 minutes suivant leur génération. Toutefois, lorsque vous ajoutez des métriques de streaming d'AWS à New Relic, cela peut ajouter jusqu'à 1 minute de délai supplémentaire car les données doivent être mises en mémoire tampon dans Amazon Firehose.
Pour configurer les paramètres du signal, accédez à Condition Settings et cliquez sur Advanced Signal Settings. Entrez les valeurs suivantes :
- Aggregation window:Nous vous recommandons de le régler sur 1 minute. Si vous rencontrez des problèmes avec les alertes de bagottement ou les alertes qui ne se déclenchent pas, envisagez de l'augmenter à 2 minutes.
- Offset evaluation by:Selon le service, CloudWatch peut envoyer des métriques avec un certain délai. La valeur est définie dans Windows. Avec une fenêtre d'agrégation d'une minute, la définition du décalage sur 8 garantit que la majorité des métriques sont évaluées correctement. Vous pourrez peut-être utiliser un décalage inférieur si le délai introduit par AWS et Firehose est moindre.
- Fill data gaps with: Laissez ce vide ou utilisez la dernière valeur connue si des lacunes dans les données provenant d'AWS conduisent à des faux positifs ou négatifs.
collection de balises
New Relic fournit des dimensions améliorées à partir des métriques provenant d'AWS flux de métriques CloudWatch. Les ressources et les balises personnalisées sont automatiquement extraites de la plupart des services et sont utilisées pour décorer les métriques avec des dimensions supplémentaires. Utilisez métriques et événement pour voir quelles balises sont disponibles sur chaque métrique AWS.
La requête suivante montre un exemple de balise collectée et de requête en tant que dimensions dans les métriques :
SELECT average(`aws.rds.CPUUtilization`) FROM Metric FACET `tags.mycustomtag` SINCE 30 MINUTES AGO TIMESERIESToutes les métriques n'ont pas leur balise personnalisée comme dimensions. Seules les métriques liées à l'entité répertoriée dans l'explorateur d'entités ont leur balise personnalisée associée. L'intégration AWS CloudWatch Metric Streams n'inclut pas de balise dans le cadre du message de flux ; par conséquent, un traitement supplémentaire est requis côté New Relic.
Collecte de métadonnées
Comme avec les balises personnalisées, New Relic extrait également des informations cryptées à partir des services AWS pertinents afin de décorer les métriques AWS CloudWatch avec des métadonnées enrichies collectées à partir des API des services AWS. Ces métadonnées sont accessibles dans New Relic sous forme de dimensions supplémentaires sur les métriques fournies par AWS CloudWatch.
Important
Cette fonctionnalité facultative est complémentaire à l'intégration de flux de métriques CloudWatch . Votre découverte et votre monitoring de service seront incomplètes si vous n'activez pas cette fonctionnalité facultative.
La solution repose sur AWS Config, ce qui peut entraîner des coûts supplémentaires sur votre compte AWS. AWS Config fournit des contrôles granulaires pour déterminer quels services et ressources sont enregistrés. New Relic ingérera uniquement les métadonnées des ressources disponibles dans votre compte AWS.
Les services et espaces de nommage suivants sont pris en charge :
- ALB/NLB
- Passerelle API (à l'exclusion de l'API v1)
- DynamoDB
- EBS
- EC2
- ECS
- ELB
- Lambda
- RDS
- S3
infrastructure agent métriques et décoration métadonnées EC2
Comme pour l'intégration du polling de l'API EC2, lorsque l'agent infrastructure est installé sur un hôte et que l'espace de nommage EC2 est actif via l'intégration AWS CloudWatch Metric Streams , alors tous les événements et métriques de l'agent infrastructure sont agrémentés de métadonnées supplémentaires.
L'attribut suivant décorera les échantillons infrastructure . Certains d'entre eux peuvent ne pas être applicables à tous les environnements : awsAvailabilityZone, ec2InstanceId, ec2PublicDnsName, ec2State, ec2EbsOptimized, ec2PublicIpAddress, ec2PrivateIpAddress, ec2VpcId, ec2AmiId, ec2PrivateDnsName, ec2KeyName, ec2SubnetId, ec2InstanceType, ec2Hypervisor, ec2Architecture, ec2RootDeviceType, ec2RootDeviceName, ec2VirtualizationType, ec2PlacementGroupName, ec2PlacementGroupTenancy.
métriques personnalisées et percentile
L'intégration du flux de métriques CloudWatch ingère automatiquement les nouvelles métriques configurées dans le flux, y compris les métriques personnalisées et les centiles.
Métriques personnalisées
Pour ingérer des métriques CloudWatch personnalisées, votre espace de nommage personnalisé doit être visible dans la configuration de CloudWatch Metric Streams. Assurez-vous qu'il n'est pas filtré par des règles d'inclusion ou d'exclusion.
centile
AWS CloudWatch vous permet de définir des statistiques supplémentaires, notamment des centiles.
Suivez ces étapes pour ajouter un centile à n’importe quelle métrique disponible dans le flux CloudWatch :
Sur AWS, mettez à jour la du CloudWatch flux configuration (via API, CLI ou AWS Console) avec le centile requis dans le
StatisticConfigurationparamètre. Par exemple, vous pouvez ajouter les percentiles p90, p95 et p99 auELB latency metric (aws.elb.Latency).Après quelques minutes, la nouvelle statistique devrait être disponible dans le flux et ingérée par New Relic. Le centile peut être interrogé à l'aide de cette convention de dénomination :
From Metric select max(aws.elb.Latency.p99) where collector.name = 'cloudwatch-metric-streams' timeseries
Bien qu'AWS prenne en charge d'autres statistiques dans le flux au-delà du centile, celles-ci ne sont pas disponibles dans le format d'exportation Open télémétrie (uniquement JSON) et ne sont actuellement pas prises en charge par New Relic.
En savoir plus sur les tarifs, les limitations et la configuration avancée dans la documentation AWS.
Gérez vos données
L'UI de New Relic fournit un ensemble d'outils pour suivre les données ingérées dans votre compte. Accédez à Manage your data dans le menu des paramètres pour voir tous les détails. Les métriques ingérées à partir de l'intégration flux de métriques AWS sont prises en compte dans le compartiment Metric .
Important
Les métriques envoyées via flux de métriques AWS sont prises en compte dans les limites de votre API métrique pour le compte New Relic où les données seront ingérées.
Si vous avez besoin d’une vue plus détaillée des données, utilisez la fonctionbytecountestimate() sur Metric pour estimer les données ingérées. Ces exemples de requêtes peuvent vous aider à comprendre votre ingestion AWS :
La requête suivante représente les données ingérées à partir de toutes les métriques traitées via l'intégration flux de métriques AWS au cours des 30 derniers jours (en octets) :
FROM Metric SELECT bytecountestimate()/10e8 as 'GB Estimate' WHERE collector.name='cloudwatch-metric-streams' SINCE 30 day agoPour voir les données ingérées par les services AWS/espace de nommage :
FROM Metric SELECT bytecountestimate()/10e8 as 'GB Estimate' WHERE collector.name='cloudwatch-metric-streams' FACET aws.NamespacePour voir le nombre de mises à jour métriques brutes traitées par les services AWS/espace de nommage :
FROM Metric SELECT dataPointCount() WHERE collector.name='cloudwatch-metric-streams' FACET aws.NamespaceNous recommandons les actions suivantes pour contrôler les données ingérées :
- Assurez-vous que les flux métriques sont activés uniquement sur les comptes et régions AWS que vous souhaitez monitorer avec New Relic.
- Use the inclusion and exclusion filters dans le flux de métriques CloudWatch afin de sélectionner quels services ou espace de nommage sont monitorés par New Relic.
- Envisagez d’utiliser des règles de suppression de données pour supprimer des métriques en fonction de filtres personnalisés. (Par exemple, supprimez les métriques par espace de nommage et tag, valeur tag ou tout autre critère NRQL valide.)
Métriques de sondage API
Pour une référence sur les métriques disponibles de chacune des intégrations de sondage et leurs noms, consultez notre documentation sur l'intégration individuelle.
La liste non exhaustive suivante affiche les métriques collectées par l'intégration d'interrogation AWS et leurs traductions de métriques dimensionnelles .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AWS Billing |
|
|
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Base de données de documents AWS |
|
|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AWS MQ |
|
|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|