HTTP Veri Toplayıcı API'si ile log verilerini Log Analytics'e gönderme
Azure Log Analytics HTTP Veri Toplayıcı API'si, REST API'yi çağırabilen herhangi bir istemciden Log Analytics Çalışma Alanına JSON verileri göndermenizi sağlar. Bu yöntemi kullanarak üçüncü taraf uygulamalardan veya Azure Otomasyonu'daki bir runbook gibi betiklerden veri gönderebilirsiniz
İstek URI'si
Log Analytics çalışma alanınızı belirtmek için {CustomerID} öğesini Çalışma Alanınızın kimliğiyle değiştirin.
Yöntem | İstek URI'si |
---|---|
Gönderi | https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01 |
İstek | URI Parametreleri |
---|---|
Parametre | Açıklama |
CustomerID | Log Analytics çalışma alanının benzersiz tanımlayıcısı |
Kaynak | API kaynak adı. /api/logs |
API Sürümü | Bu istekle kullanılacak API sürümü. Şu anda 2016-04-01 |
İstek üst bilgileri
Aşağıdaki tabloda yer alan istek üst bilgileri gereklidir.
Üst bilgi | Description |
---|---|
Yetkilendirme | HMAC-SHA256 üst bilgisi oluşturma hakkında aşağıdaki ek bilgilere bakın |
İçerik Türü | Gereklidir. Bunu application/json olarak ayarlayın |
Log-Type | Gönderilen iletinin adını belirtmenize olanak tanır. Şu anda Günlük türü yalnızca alfa karakterlerini destekler. Sayısal karakterleri veya özel karakterleri desteklemez |
x-ms-date | İsteğin RFC 1123 biçiminde işlendiği tarih |
zaman tarafından oluşturulan alan | İletinin zaman damgası alanını TimeGenerated alanı olarak belirtmenize olanak tanır. Bu, TimeGenerated'ı ileti verilerinden gerçek zaman damgasını yansıtacak şekilde yapılandırmanıza olanak tanır. Bu alan belirtilmezse, ileti alındığında TimeGenerated için varsayılan değerdir. Belirtilen ileti alanı ISO 8601/ YYYY-MM-DDThh:mm:ssZ'ye uygun olmalıdır |
Yetkilendirme üst bilgisi
Log Analytics HTTP Veri Toplayıcı API'sine yönelik tüm istekler Yetkilendirme üst bilgisini içermelidir. Bir isteğin kimliğini doğrulamak için isteği, isteği yapan çalışma alanının birincil veya ikincil anahtarıyla imzalamanız ve isteğin bir parçası olarak bu imzayı geçirmeniz gerekir.
Yetkilendirme üst bilgisinin biçimi aşağıdaki gibidir:
Authorization: SharedKey <WorkspaceID>:<Signature>
WorkspaceID , Log Analytics çalışma alanı için benzersiz kimlik doğrulayıcıdır ve signature , istekten oluşturulmuş ve SHA256 algoritması kullanılarak hesaplanan ve ardından Base64 kodlaması kullanılarak kodlanmış karma tabanlı bir İleti Kimlik Doğrulama Kodudur (HMAC).
İmza dizesini oluşturma
Paylaşılan Anahtar imza dizesini kodlamak için aşağıdaki biçimi kullanın:
StringToSign = VERB + "\n" +
Content-Length + "\n" +
Content-Type + "\n" +
x-ms-date + "\n" +
"/api/logs";
Aşağıdaki örnekte bir imza dizesi gösterilmektedir:
POST \n1024\napplication/json\nx-ms-date:Mon, 04 Apr 2016 08:00:00 GMT\n/api/logs
Ardından, UTF-8 kodlamalı imza dizesi üzerinde HMAC-SHA256 algoritmasını kullanarak bu dizeyi kodlayıp Yetkilendirme üst bilgisini oluşturun ve üst bilgiyi isteğe ekleyin.
İmzayı Kodlama
İmzayı kodlamak için UTF-8 kodlu imza dizesinde HMAC-SHA256 algoritmasını çağırın ve sonucu Base64 olarak kodlayın. Aşağıdaki biçimi kullanın (sahte kod olarak gösterilir):
Signature=Base64(HMAC-SHA256(UTF8(StringToSign)))
İstek gövdesi
Uç noktaya gönderilen iletinin gövdesi.
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
}
Aynı türdeki birden çok iletiyi tek bir istek gövdesinde toplu işleyebilirsiniz.
[
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
},
{
"key1": "value5",
"key2": "value6",
"key3": "value7",
"key4": "value8"
}
]
Veri sınırları
Log Analytics Veri toplama API'sine gönderilen verilerin bazı kısıtlamaları vardır.
- Log Analytics Veri Toplayıcı API'sine gönderi başına en fazla 30 MB. Bu, tek bir gönderi için boyut sınırıdır. Tek bir gönderiden alınan ve 30 MB'ı aşan veriler varsa, verileri daha küçük boyutlu öbeklere bölmeniz ve bunları eşzamanlı olarak göndermeniz gerekir.
- Alan değerlerinin boyutu en fazla 32 KB olabilir. Alan değeri 32 KB'ı aşıyorsa veriler kesilir.
- Bir tür için en fazla 50 alan kullanılması önerilir. Bu, kullanılabilirlik ve arama deneyimi açılarından belirlenmiş bir limittir.