Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'API dell'agente di raccolta dati HTTP di Azure Log Analytics consente di inviare dati JSON a un'area di lavoro Log Analytics da qualsiasi client in grado di chiamare l'API REST. Usando questo metodo, è possibile inviare dati da applicazioni di terze parti o da script, ad esempio da un runbook in Automazione di Azure
URI della richiesta
Per specificare l'area di lavoro Log Analytics, sostituire {CustomerID} con l'ID dell'area di lavoro.
| Metodo | URI della richiesta |
|---|---|
| Inserisci | https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01 |
| Richiesta | Parametri dell'URI |
|---|---|
| Parametro | Descrizione |
| ID Cliente | Identificatore univoco per l'area di lavoro Log Analytics |
| Conto risorse | Nome della risorsa API. /api/logs |
| Versione dell'API | Versione dell'API da utilizzare con questa richiesta. Attualmente 2016-04-01 |
Header di richiesta
Le intestazioni della richiesta nella tabella seguente sono obbligatorie.
| Header | Descrizione |
|---|---|
| Autorizzazione | Di seguito sono riportate ulteriori informazioni sulla creazione di un'intestazione HMAC-SHA256 |
| Tipo di Contenuto | Obbligatorio. Imposta questa opzione su application/json |
| Tipo di Log | Consente di specificare il nome del messaggio che viene inviato. Attualmente, il tipo di registro supporta solo caratteri alfanumerici. Non supporta numeri o caratteri speciali |
| x-ms-date | La data in cui la richiesta è stata elaborata in formato RFC 1123 |
| campo-generato-tempo | Consente di specificare il campo timestamp del messaggio da utilizzare come campo TimeGenerated. In questo modo è possibile configurare TimeGenerated in modo che rifletta il timestamp effettivo dei dati del messaggio. Se questo campo non è specificato, l'impostazione predefinita per TimeGenerated quando il messaggio viene inserito. Il campo del messaggio specificato deve seguire la norma ISO 8601 di AAAA-MM-DDThh:mm:ssZ |
Header di autorizzazione
Qualsiasi richiesta all'API dell'agente di raccolta dati HTTP di Log Analytics deve includere l'intestazione Authorization. Per autenticare una richiesta, è necessario firmare la richiesta con la chiave primaria o secondaria per l'area di lavoro che effettua la richiesta e passare tale firma come parte della richiesta.
Il formato dell'intestazione Authorization è il seguente:
Authorization: SharedKey <WorkspaceID>:<Signature>
WorkspaceID è l'identificatore univoco per l'area di lavoro Log Analytics e Signature è un codice di autenticazione dei messaggi basato su hash (HMAC) costruito dalla richiesta e calcolato usando l'algoritmo SHA256 e quindi codificato usando la codifica Base64.
Costruzione della stringa della firma
Per codificare la stringa di firma della chiave condivisa, utilizzare il formato seguente:
StringToSign = VERB + "\n" +
Content-Length + "\n" +
Content-Type + "\n" +
x-ms-date + "\n" +
"/api/logs";
L'esempio seguente mostra una stringa di firma:
POST \n1024\napplication/json\nx-ms-date:Mon, 04 Apr 2016 08:00:00 GMT\n/api/logs
Codificare quindi questa stringa usando l'algoritmo HMAC-SHA256 sulla stringa di firma con codifica UTF-8, costruire l'intestazione Authorization e aggiungere l'intestazione alla richiesta.
Codifica della firma
Per codificare la firma, chiamare l'algoritmo HMAC-SHA256 sulla stringa di firma con codifica UTF-8 e codificare il risultato come Base64. Utilizzare il seguente formato (indicato come pseudocodice):
Signature=Base64(HMAC-SHA256(UTF8(StringToSign)))
Testo della richiesta
Corpo del messaggio inviato all'endpoint.
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
}
È possibile raggruppare più messaggi dello stesso tipo in un unico corpo della richiesta.
[
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
},
{
"key1": "value5",
"key2": "value6",
"key3": "value7",
"key4": "value8"
}
]
Limiti dei dati
Esistono alcuni vincoli relativi ai dati pubblicati nell'API di raccolta dati di Log Analytics.
- Massimo 30 MB per post nell'API dell'agente di raccolta dati di Log Analytics. Questo limite riguarda le dimensioni di ogni messaggio. Se i dati provengono da un singolo post che supera i 30 MB, è necessario suddividere i dati in blocchi di dimensioni più piccole e inviarli contemporaneamente.
- Limite di 32 KB per i valori dei campi. Se il valore di un campo è superiore a 32 KB, i dati verranno troncati.
- Il numero massimo di campi consigliato per un determinato tipo è 50. Si tratta di un limite pratico dal punto di vista dell'usabilità e dell'esperienza di ricerca.