Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengirim log menggunakan titik akhir HLC (Log HLC)
Titik akhir HLC Logs (/services/collector/event) didasarkan pada format HTTP Log Collector (HLC).
Jika Anda menggunakan otentikasi token pembawa, selesaikan langkah-langkah penyiapan Menyiapkan otentikasi token pembawa sebelum melanjutkan.
Mode masukan
Setiap peristiwa adalah objek JSON dengan "event" bidang wajib. Bidang metadata opsional:"time",,"host","source","sourcetype". "index"
Acara tunggal:
{"event":"Hello world!","time":1486683865.0}
JSON array acara:
[ {"event":"msg1","time":1486683865.0}, {"event":"msg2","time":1486683866.0} ]
Acara bergabung/batch (tidak ada pembungkus array):
{"event":"msg1","time":1486683865.0}{"event":"msg2","time":1486683866.0}
Bidang acara (wajib)
"event"Bidang itu wajib. Nilainya dapat berupa jenis JSON:
{"event":"a string message"} {"event":{"message":"structured data","severity":"INFO"}} {"event":42} {"event":true}
Objek tanpa "event" bidang dilewati secara diam-diam:
{"message":"this is skipped — no event field"}
Bidang waktu (opsional)
"time"Bidang ini dalam detik epoch (bukan milidetik), dengan desimal opsional untuk presisi sub-detik.
| format | Contoh | Ditafsirkan sebagai |
|---|---|---|
| Desimal | "time":1486683865.500 |
1486683865500 ms |
| Bilangan Bulat | "time":1486683865 |
1486683865000 ms |
| String (mengapung) | "time":"1486683865.500" |
1486683865500 ms |
| String (bilangan bulat) | "time":"1486683865" |
1486683865000 ms |
| Hilang | (tidak ada bidang waktu) | Waktu server saat ini |
| Tidak valid | "time":"invalid" |
Waktu server saat ini |
Content-Type
Hanya application/json diterima.
Jenis nilai JSON yang diterima
| Tipe tingkat atas | Perilaku |
|---|---|
Objek dengan "event" |
Diterima |
Objek tanpa "event" |
Dilewati |
| Array objek | Setiap elemen diproses secara individual |
| Objek yang digabungkan | Setiap objek diproses secara individual |
| Primitif (string, angka, boolean, null) | Dilewati |
Format titik akhir
URL titik akhir HLC mengikuti format ini:
https://logs.<region>.amazonaws.com/services/collector/event?logGroup=<name>&logStream=<name>[&entityName=<name>&entityEnvironment=<environment>]
Parameter yang diperlukan:
<region>— AWS Wilayah (misalnya,us-east-1,eu-west-1)logGroup— Nama grup log yang dikodekan URLlogStream— Nama aliran log yang dikodekan URL
Parameter opsional:
Anda dapat secara opsional mengaitkan peristiwa log Anda dengan Service entitas dengan menyertakan parameter kueri berikut. Karena log yang dikirim melalui titik akhir HLC adalah telemetri khusus, mereka tidak secara otomatis terkait dengan entitas. Dengan menyediakan parameter ini, CloudWatch Log membuat entitas dengan KeyAttributes.Type set ke Service dan mengaitkannya dengan peristiwa log Anda. Ini memungkinkan fitur terkait Jelajahi CloudWatch untuk menghubungkan log ini dengan telemetri lain (metrik, jejak, dan log) dari layanan yang sama, sehingga memudahkan pemecahan masalah dan memantau aplikasi Anda di berbagai jenis sinyal. Untuk informasi selengkapnya tentang entitas dan telemetri terkait, lihat Menambahkan informasi terkait ke telemetri kustom.
entityName— Nama entitas layanan untuk dikaitkan dengan peristiwa log. Nilai ini disimpan sebagai entitasKeyAttributes.Name(misalnya,my-applicationatauapi.myservice.com).entityEnvironment— Lingkungan tempat layanan di-host atau milik apa. Nilai ini disimpan sebagai entitasKeyAttributes.Environment(misalnya,,productionec2:default, ataueks:my-cluster/default).
Format permintaan
Kirim log menggunakan HTTP POST dengan header dan badan berikut:
Header:
Authorization: Bearer <your-bearer-token>Content-Type: application/json
Format tubuh:
Badan permintaan harus dalam format JSON dengan array peristiwa:
{ "event": [ { "time": 1730141374.001, "event": "Application started successfully", "host": "web-server-1", "source": "application.log", "severity": "info" }, { "time": 1730141374.457, "event": "User login successful", "host": "web-server-1", "source": "auth.log", "user": "john.doe" } ] }
Deskripsi bidang:
time- Stempel waktu epoch Unix dalam hitungan detik, dengan desimal opsional untuk presisi sub-detik (opsional)event— Pesan log atau data peristiwa (wajib)host— Nama host sumber atau pengenal (opsional)source— Pengidentifikasi sumber log (opsional)
Bidang kustom tambahan dapat dimasukkan sesuai kebutuhan.
Contoh permintaan
curl -X POST "https://logs.<region>.amazonaws.com/services/collector/event?logGroup=MyLogGroup&logStream=MyStream" \ -H "Authorization: Bearer ACWL<token>" \ -H "Content-Type: application/json" \ -d '{"event":{"message":"User logged in","user_id":"u-123"},"time":1486683865.0,"host":"web-01","source":"auth-service"}'
Praktik terbaik
Acara batching
Untuk kinerja dan efisiensi yang lebih baik:
Batch beberapa peristiwa dalam satu permintaan bila memungkinkan
Ukuran batch yang disarankan: 10—100 acara per permintaan
Ukuran permintaan maksimal: 1 MB
Penanganan kesalahan
Menerapkan penanganan kesalahan yang tepat dalam aplikasi Anda. Kode status HTTP umum:
200 OK— Log berhasil dicerna400 Bad Request— Format atau parameter permintaan tidak valid401 Unauthorized— Token pembawa tidak valid atau kedaluwarsa403 Forbidden— Izin tidak mencukupi404 Not Found— Grup log atau aliran tidak ada429 Too Many Requests— Batas tarif terlampaui500 Internal Server Error— Kesalahan layanan (coba lagi dengan backoff eksponensial)
Batasan
Ukuran acara maksimal: 256 KB per acara
Ukuran permintaan maksimal: 1 MB
Maksimum acara per permintaan: 10.000
Nama grup log harus mengikuti konvensi penamaan CloudWatch Log
Otentikasi token pembawa harus diaktifkan pada grup log jika otentikasi token pembawa digunakan.