

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)
<a name="CWL_HLC_Endpoint"></a>

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](CWL_HTTP_Endpoints_BearerTokenAuth.md) sebelum melanjutkan.

## Mode masukan
<a name="CWL_HLC_Input_Modes"></a>

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)
<a name="CWL_HLC_Event_Field"></a>

`"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)
<a name="CWL_HLC_Time_Field"></a>

`"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
<a name="CWL_HLC_Content_Type"></a>

Hanya `application/json` diterima.

## Jenis nilai JSON yang diterima
<a name="CWL_HLC_Accepted_Types"></a>


| 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
<a name="CWL_HLC_Endpoint_Format"></a>

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 URL
+ `logStream`— 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/adding-your-own-related-telemetry.html).
+ `entityName`— Nama entitas layanan untuk dikaitkan dengan peristiwa log. Nilai ini disimpan sebagai entitas `KeyAttributes.Name` (misalnya, `my-application` atau`api.myservice.com`).
+ `entityEnvironment`— Lingkungan tempat layanan di-host atau milik apa. Nilai ini disimpan sebagai entitas `KeyAttributes.Environment` (misalnya,, `production``ec2:default`, atau`eks:my-cluster/default`).

## Format permintaan
<a name="CWL_HLC_Request_Format"></a>

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
<a name="CWL_HLC_Example_Request"></a>

```
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
<a name="CWL_HLC_Best_Practices"></a>

### Acara batching
<a name="CWL_HLC_Batching"></a>

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
<a name="CWL_HLC_Error_Handling"></a>

Menerapkan penanganan kesalahan yang tepat dalam aplikasi Anda. Kode status HTTP umum:
+ `200 OK`— Log berhasil dicerna
+ `400 Bad Request`— Format atau parameter permintaan tidak valid
+ `401 Unauthorized`— Token pembawa tidak valid atau kedaluwarsa
+ `403 Forbidden`— Izin tidak mencukupi
+ `404 Not Found`— Grup log atau aliran tidak ada
+ `429 Too Many Requests`— Batas tarif terlampaui
+ `500 Internal Server Error`— Kesalahan layanan (coba lagi dengan backoff eksponensial)

## Batasan
<a name="CWL_HLC_Limitations"></a>
+ 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.