Mengirim data log ke Log Analytics dengan HTTP Data Collector API
API Pengumpul Data HTTP Azure Log Analytics, memungkinkan Anda memPOSTING data JSON ke Ruang Kerja Analitik Log dari klien mana pun yang dapat memanggil REST API. Dengan menggunakan metode ini, Anda dapat mengirim data dari aplikasi pihak ketiga atau dari skrip, seperti dari runbook di Azure Automation
Meminta URI
Untuk menentukan ruang kerja Analitik log Anda, ganti {CustomerID} dengan ID Ruang Kerja Anda.
Metode | Meminta URI |
---|---|
Kirim | https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01 |
Minta | Parameter URI |
---|---|
Parameter | Deskripsi |
ID Pelanggan | Pengidentifikasi unik untuk ruang kerja Analitik Log |
Sumber daya | Nama sumber daya API. /api/logs |
Versi API | Versi API yang akan digunakan dengan permintaan ini. Saat ini 2016-04-01 |
Header permintaan
Header permintaan dalam tabel berikut diperlukan.
Header | Deskripsi |
---|---|
Authorization | Lihat informasi tambahan di bawah ini tentang membuat header HMAC-SHA256 |
Jenis-Konten | Wajib diisi. Atur ini ke application/json |
Log-Type | Memungkinkan Anda menentukan nama pesan yang sedang dikirimkan. Saat ini, Jenis log hanya mendukung karakter alfa. Ini tidak mendukung numerik atau karakter khusus |
x-ms-date | Tanggal permintaan diproses dalam format RFC 1123 |
bidang yang dihasilkan waktu | Memungkinkan Anda menentukan bidang tanda waktu pesan untuk digunakan sebagai bidang TimeGenerated. Ini memungkinkan Anda mengonfigurasi TimeGenerated untuk mencerminkan tanda waktu aktual dari data pesan. Jika bidang ini tidak ditentukan, default untuk TimeGenerated saat pesan diserap. Bidang pesan yang ditentukan harus mengikuti ISO 8601 dari YYYY-MM-DDThh:mm:ssZ |
Header otorisasi
Setiap permintaan ke API Pengumpul Data HTTP analitik Log harus menyertakan header Otorisasi. Untuk mengautentikasi permintaan, Anda harus menandatangani permintaan dengan kunci primer atau sekunder untuk ruang kerja yang membuat permintaan dan meneruskan tanda tangan tersebut sebagai bagian dari permintaan.
Format untuk header Otorisasi adalah sebagai berikut:
Authorization: SharedKey <WorkspaceID>:<Signature>
WorkspaceID adalah pengidentifikasi unik untuk ruang kerja Analitik Log, dan Tanda Tangan adalah Kode Autentikasi Pesan berbasis Hash (HMAC) yang dibangun dari permintaan dan dihitung dengan menggunakan algoritma SHA256, lalu dikodekan menggunakan pengodean Base64.
Membuat string tanda tangan
Untuk mengodekan string tanda tangan Kunci Bersama, gunakan format berikut:
StringToSign = VERB + "\n" +
Content-Length + "\n" +
Content-Type + "\n" +
x-ms-date + "\n" +
"/api/logs";
Contoh berikut menunjukkan string tanda tangan:
POST \n1024\napplication/json\nx-ms-date:Mon, 04 Apr 2016 08:00:00 GMT\n/api/logs
Selanjutnya, kodekan string ini dengan menggunakan algoritma HMAC-SHA256 melalui string tanda tangan yang dikodekan UTF-8, buat header Otorisasi, dan tambahkan header ke permintaan.
Mengodekan Tanda Tangan
Untuk mengodekan tanda tangan, panggil algoritma HMAC-SHA256 pada string tanda tangan yang dikodekan UTF-8 dan kodekan hasilnya sebagai Base64. Gunakan format berikut (ditampilkan sebagai pseudocode):
Signature=Base64(HMAC-SHA256(UTF8(StringToSign)))
Isi permintaan
Isi pesan yang dikirimkan ke titik akhir.
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
}
Anda dapat mengumpulkan beberapa pesan dengan jenis yang sama ke dalam satu isi permintaan.
[
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
},
{
"key1": "value5",
"key2": "value6",
"key3": "value7",
"key4": "value8"
}
]
Batasan data
Ada beberapa batasan di sekitar data yang diposting ke API pengumpulan Data Analitik Log.
- Maksimum 30 MB per posting ke LOG Analytics Data Collector API. Ini adalah batas ukuran untuk satu posting. Jika data dari satu posting melebihi 30 MB, Anda harus membagi data menjadi bagian yang lebih kecil dan mengirimkannya secara bersamaan.
- Maksimum 32 KB batas untuk nilai bidang. Jika nilai bidang lebih besar dari 32 KB, data akan dipotong.
- Jumlah maksimum bidang yang disarankan untuk tipe tertentu adalah 50. Ini adalah batas praktis dari perspektif penggunaan dan pengalaman pencarian.