Log konsumsi melalui titik akhir HTTP - CloudWatch Log Amazon

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

Log konsumsi melalui titik akhir HTTP

Amazon CloudWatch Logs menyediakan endpoint HTTP yang memungkinkan Anda mengirim log langsung ke CloudWatch Log menggunakan permintaan HTTP POST sederhana. Titik akhir ini mendukung otentikasi token sigV4 dan pembawa.

penting

Sebaiknya gunakan otentikasi SiGv4 untuk semua beban kerja produksi yang memungkinkan integrasi AWS SDK. SiGv4 menggunakan kredensil jangka pendek dan memberikan postur keamanan terkuat. Otentikasi token pembawa (kunci API) ditujukan untuk skenario di mana SigV4 tidak layak, seperti penerusan log pihak ketiga yang tidak mendukung integrasi SDK. AWS Untuk informasi selengkapnya, lihat Alternatif untuk kunci akses jangka panjang di Panduan Pengguna IAM.

CloudWatch Log mendukung titik akhir konsumsi HTTP berikut:

Titik akhir Jalan Content-Type Format
OpenTelemetry Logs /v1/logs application/json atau application/x-protobuf OTLP JSON atau Protobuf
HLC Logs /services/collector/event application/json Format HLC
ND-JSON Logs /ingest/bulk application/json atau application/x-ndjson JSON yang dibatasi baris baru
Structured JSON Logs /ingest/json application/json JSON objek atau array

Perilaku umum

Semua titik akhir konsumsi HTTP berbagi perilaku berikut:

Autentikasi

Semua titik akhir mendukung otentikasi SIgV4 dan token pembawa:

  • SiGv4 (disarankan) - AWS Penandatanganan Versi Tanda Tangan Standar 4. Gunakan SiGv4 setiap kali aplikasi atau infrastruktur Anda mendukung AWS SDK atau dapat menandatangani permintaan. SiGv4 menggunakan kredensil jangka pendek dan merupakan metode otentikasi yang paling aman.

  • Token pembawa — Gunakan Authorization: Bearer <ACWL token> header.

    • Token harus berupa token pembawa ACWL yang valid. Untuk petunjuk penyiapan, lihatMenyiapkan otentikasi token pembawa.

    • Memerlukan izin logs:PutLogEvents dan logs:CallWithBearerToken IAM.

Grup log dan aliran log

  • Disediakan melalui header: x-aws-log-group dan x-aws-log-stream

  • Parameter kueri juga ?logGroup=<name>&logStream=<name> didukung pada semua titik akhir kecuali OTLP.

  • Anda tidak dapat menggunakan parameter kueri dan header untuk parameter yang sama.

  • Baik grup log dan aliran log diperlukan.

Respons

  • Sukses: HTTP 200 dengan tubuh {}

  • Kesalahan validasi: HTTP 400

  • Kegagalan autentikasi: HTTP 401

Perbandingan titik akhir konsumsi HTTP

Fitur Log HLC Log ND-JSON Log JSON Terstruktur OpenTelemetry Log
Jalan /services/collector/event /ingest/bulk /ingest/json /v1/logs
Content-Type application/json application/json atau application/x-ndjson application/json application/json atau application/x-protobuf
Bidang stempel waktu "time"(detik) "timestamp"(milidetik) "timestamp"(milidetik) "timeUnixNano"(nanodetik)
Bidang yang diperlukan "event" Tidak ada Tidak ada Struktur OTLP () "resourceLogs"
Respon keberhasilan sebagian Tidak Ya Ya Ya
Dukungan parameter kueri Ya Ya Ya Tidak (hanya header)
Metadata entitas Ya Ya Ya Tidak
Menerima primitif Tidak Ya Tidak Tidak
Penguraian berbasis garis Tidak Ya Tidak Tidak
Dukungan Protobuf Tidak Tidak Tidak Ya
Retry-After header Tidak Tidak Tidak Ya

Memilih titik akhir

  • Menggunakan format HLC? Gunakan Log HLC. Muatan HLC Anda yang ada berfungsi dengan sedikit perubahan.

  • line-by-lineLog streaming? Gunakan Log ND-JSON. Terbaik untuk saluran pipa log yang memancarkan satu peristiwa per baris. Paling fleksibel - menerima jenis nilai JSON apa pun.

  • Mengirim muatan JSON terstruktur? Gunakan Log JSON Terstruktur. Terbaik untuk aplikasi yang menghasilkan objek atau array JSON yang terbentuk dengan baik.

  • Sudah menggunakan OpenTelemetry? Gunakan OpenTelemetry Log. Menerima format OTLP JSON atau Protobuf dan mendukung respons keberhasilan sebagian dengan semantik coba lagi.