CloudWatch flusso metrico (output) in formato JSON - Amazon CloudWatch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CloudWatch flusso metrico (output) in formato JSON

In un flusso CloudWatch metrico che utilizza il JSON formato, ogni record Firehose contiene JSON più oggetti separati da un carattere di nuova riga (\n). Ogni oggetto include un singolo punto dati di un singolo parametro.

Il JSON formato utilizzato è completamente compatibile con AWS Glue e con Amazon Athena. Se disponi di uno stream di distribuzione Firehose e di AWS Glue se la tabella è formattata correttamente, il formato può essere automaticamente trasformato in formato Parquet o Optimized Row Columnar (ORC) prima di essere archiviato in S3. Per ulteriori informazioni sulla trasformazione del formato, vedere Conversione del formato di registrazione di input in Firehose. Per ulteriori informazioni sul formato corretto per AWS Glue, consulta Which AWS Glue schema dovrei usare per il formato JSON di output?.

Nel JSON formato, i valori validi per unit sono gli stessi del valore di unit nella MetricDatum API struttura. Per ulteriori informazioni, vedere MetricDatum. Il valore per il campo timestamp è in millisecondi di epoca, come 1616004674229.

Di seguito è riportato un esempio del formato. In questo esempio, JSON è formattato per facilitare la lettura, ma in pratica l'intero formato è su un'unica riga.

{ "metric_stream_name": "MyMetricStream", "account_id": "1234567890", "region": "us-east-1", "namespace": "AWS/EC2", "metric_name": "DiskWriteOps", "dimensions": { "InstanceId": "i-123456789012" }, "timestamp": 1611929698000, "value": { "count": 3.0, "sum": 20.0, "max": 18.0, "min": 0.0, "p99": 17.56, "p99.9": 17.8764, "TM(25%:75%)": 16.43 }, "unit": "Seconds" }

Which AWS Glue schema dovrei usare per il formato JSON di output?

Quello che segue è un esempio di JSON rappresentazione del StorageDescriptor per un AWS Glue tabella, che verrebbe poi utilizzata da Firehose. Per ulteriori informazioni suStorageDescriptor, vedere StorageDescriptor.

{ "Columns": [ { "Name": "metric_stream_name", "Type": "string" }, { "Name": "account_id", "Type": "string" }, { "Name": "region", "Type": "string" }, { "Name": "namespace", "Type": "string" }, { "Name": "metric_name", "Type": "string" }, { "Name": "timestamp", "Type": "timestamp" }, { "Name": "dimensions", "Type": "map<string,string>" }, { "Name": "value", "Type": "struct<min:double,max:double,count:double,sum:double,p99:double,p99.9:double>" }, { "Name": "unit", "Type": "string" } ], "Location": "s3://amzn-s3-demo-bucket/", "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hive.hcatalog.data.JsonSerDe" }, "Parameters": { "classification": "json" } }

L'esempio precedente riguarda i dati scritti su Amazon S3 JSON in formato. Sostituisci i valori nei seguenti campi con i valori indicati per memorizzare i dati in formato Parquet o Optimized Row Columnar (). ORC

  • Parquet:

    • inputFormat: org.apache.hadoop.hive.ql.io.parquet. MapredParquetInputFormat

    • outputFormat: org.apache.hadoop.hive.ql.io.parquet. MapredParquetOutputFormat

    • SerDeInfo. serializationLib: org.apache.hadoop.hive.ql.io.parquet.serde. ParquetHiveSerDe

    • parameters.classification: parquet

  • ORC:

    • inputFormat: org.apache.hadoop.hive.ql.io.orc. OrcInputFormat

    • outputFormat: org.apache.hadoop.hive.ql.io.orc. OrcOutputFormat

    • SerDeInfo. serializationLib: org.apache.hadoop.hive.ql.io.org. OrcSerde

    • parameters.classification: orc