CloudWatch keluaran aliran metrik dalam format JSON - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CloudWatch keluaran aliran metrik dalam format JSON

Dalam aliran CloudWatch metrik yang menggunakan format JSON, setiap catatan Firehose berisi beberapa objek JSON yang dipisahkan oleh karakter baris baru (\n). Setiap objek mencakup satu titik data tunggal dari satu metrik tunggal.

Format JSON yang digunakan sepenuhnya kompatibel dengan AWS Glue dan dengan Amazon Athena. Jika Anda memiliki aliran pengiriman Firehose dan AWS Glue tabel diformat dengan benar, format dapat secara otomatis diubah menjadi format Parket atau format Optimized Row Columnar (ORC) sebelum disimpan di S3. Untuk informasi selengkapnya tentang mengubah format, lihat Mengonversi Format Rekaman Input Anda di Firehose. Untuk informasi selengkapnya tentang format yang benar AWS Glue, lihatSkema AWS Glue mana yang harus saya gunakan untuk format hasil akhir JSON?.

Pada format JSON, nilai yang valid untuk unit adalah sama seperti untuk nilai unit dari Struktur API MetricDatum. Untuk informasi selengkapnya, lihat MetricDatum. Nilai untuk bidang timestamp dalam jangka waktu milidetik, misalnya 1616004674229.

Berikut ini adalah contoh dari format tersebut. Pada contoh ini, JSON diformat agar mudah dibaca, tetapi dalam praktiknya keseluruhan format ada pada satu baris tunggal.

{ "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" }

Skema AWS Glue mana yang harus saya gunakan untuk format hasil akhir JSON?

Berikut ini adalah contoh representasi JSON StorageDescriptor untuk AWS Glue tabel, yang kemudian akan digunakan oleh Firehose. Untuk informasi lebih lanjut tentangStorageDescriptor, lihat 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" } }

Contoh sebelumnya adalah untuk data yang dicatat di Amazon S3 dalam format JSON. Gantilah nilai-nilai di bidang-bidang berikut ini dengan nilai-nilai yang sudah terindikasi untuk menyimpan data dalam format Parquet atau format 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.orc. OrcSerde

    • parameters.classification: orc