Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vous pouvez envoyer des journaux au format métrique intégré à CloudWatch Logs à l'aide de l'PutLogEventsAPI CloudWatch Logs. Lorsque vous appelez PutLogEvents, vous avez la possibilité d'inclure l'en-tête HTTP suivant, qui indique à CloudWatch Logs que les métriques doivent être extraites, mais cela n'est pas obligatoire.
x-amzn-logs-format: json/emf
Voici un exemple complet d'utilisation du AWS SDK pour Java 2.x :
package org.example.basicapp;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatchlogs.CloudWatchLogsClient;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsRequest;
import software.amazon.awssdk.services.cloudwatchlogs.model.DescribeLogStreamsResponse;
import software.amazon.awssdk.services.cloudwatchlogs.model.InputLogEvent;
import software.amazon.awssdk.services.cloudwatchlogs.model.PutLogEventsRequest;
import java.util.Collections;
public class EmbeddedMetricsExample {
public static void main(String[] args) {
final String usage = "To run this example, supply a Region code (eg. us-east-1), log group, and stream name as command line arguments"
+ "Ex: PutLogEvents <region-id> <log-group-name> <stream-name>";
if (args.length != 3) {
System.out.println(usage);
System.exit(1);
}
String regionId = args[0];
String logGroupName = args[1];
String logStreamName = args[2];
CloudWatchLogsClient logsClient = CloudWatchLogsClient.builder().region(Region.of(regionId)).build();
// Build a JSON log using the EmbeddedMetricFormat.
long timestamp = System.currentTimeMillis();
String message = "{" +
" \"_aws\": {" +
" \"Timestamp\": " + timestamp + "," +
" \"CloudWatchMetrics\": [" +
" {" +
" \"Namespace\": \"MyApp\"," +
" \"Dimensions\": [[\"Operation\"], [\"Operation\", \"Cell\"]]," +
" \"Metrics\": [{ \"Name\": \"ProcessingLatency\", \"Unit\": \"Milliseconds\", \"StorageResolution\": 60 }]" +
" }" +
" ]" +
" }," +
" \"Operation\": \"Aggregator\"," +
" \"Cell\": \"001\"," +
" \"ProcessingLatency\": 100" +
"}";
InputLogEvent inputLogEvent = InputLogEvent.builder()
.message(message)
.timestamp(timestamp)
.build();
// Specify the request parameters.
PutLogEventsRequest putLogEventsRequest = PutLogEventsRequest.builder()
.logEvents(Collections.singletonList(inputLogEvent))
.logGroupName(logGroupName)
.logStreamName(logStreamName)
.build();
logsClient.putLogEvents(putLogEventsRequest);
System.out.println("Successfully put CloudWatch log event");
}
}
Note
Avec le format de métrique intégré, vous pouvez suivre le traitement de vos journaux EMF par des métriques qui sont publiées dans l'espace de nom AWS/Logs
de votre compte. Celles-ci peuvent être utilisées pour suivre les échecs de génération de métriques à partir d'EMF, ainsi que pour savoir si les échecs sont dus à l'analyse ou à la validation. Pour plus de détails, consultez la section Surveillance à l'aide de CloudWatch métriques.