Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’API du collecteur de données HTTP Azure Log Analytics vous permet de publier des données JSON dans un espace de travail Log Analytics à partir de n’importe quel client capable d’appeler l’API REST. À l’aide de cette méthode, vous pouvez envoyer des données à partir d’applications tierces ou de scripts, par exemple à partir d’un runbook dans Azure Automation
URI de la requête
Pour spécifier votre espace de travail Log Analytics, remplacez {CustomerID} par l’ID de votre espace de travail.
| Méthode | URI de la requête |
|---|---|
| Publier | https://{CustomerID}.ods.opinsights.azure.com/< Resource> ?api-version=2016-04-01 |
| Requête | Paramètres d’URI |
|---|---|
| Paramètre | Descriptif |
| CustomerID | Identificateur unique de l’espace de travail Log Analytics |
| Ressource | Nom de la ressource API. /api/journaux |
| Version de l’API | Version de l’API à utiliser avec cette requête. Actuellement 2016-04-01 |
En-têtes de requête
Les en-têtes de demande du tableau suivant sont obligatoires.
| En-tête de page | Descriptif |
|---|---|
| Autorisation | Voir des informations supplémentaires ci-dessous sur la création d’un en-tête HMAC-SHA256 |
| Type de contenu | Obligatoire. Définissez ceci sur application/json |
| Log-Type | Permet de spécifier le nom du message envoyé. Actuellement, le type Log ne prend en charge que les caractères alphabétiques. Il ne prend pas en charge les chiffres ou les caractères spéciaux |
| x-ms-date | La date à laquelle la demande a été traitée au format RFC 1123 |
| champ généré dans le temps | Permet de spécifier le champ d’horodatage du message à utiliser comme champ TimeGenerated. Cela vous permet de configurer TimeGenerated pour qu’il reflète l’horodatage réel à partir des données du message. Si ce champ n’est pas spécifié, la valeur par défaut de TimeGenerated lorsque le message est ingéré. Le champ de message spécifié doit suivre la norme ISO 8601 de AAAA-MM-JJThh :mm :ssZ |
En-tête d’autorisation
Toute demande adressée à l’API du collecteur de données HTTP Log Analytics doit inclure l’en-tête Authorization. Pour authentifier une demande, vous devez signer la demande avec la clé primaire ou secondaire de l’espace de travail qui effectue la demande et transmettre cette signature dans le cadre de la demande.
Le format de l’en-tête Authorization est le suivant :
Authorization: SharedKey <WorkspaceID>:<Signature>
WorkspaceID est l’identifiant unique de l’espace de travail Log Analytics, et Signature est un code d’authentification de message basé sur le hachage (HMAC) construit à partir de la demande et calculé à l’aide de l’algorithme SHA256, puis encodé à l’aide de l’encodage Base64.
Construction de la chaîne de signature
Pour coder la chaîne de signature de clé partagée, utilisez le format suivant :
StringToSign = VERB + "\n" +
Content-Length + "\n" +
Content-Type + "\n" +
x-ms-date + "\n" +
"/api/logs";
L’exemple suivant montre une chaîne de signature :
POST \n1024\napplication/json\nx-ms-date:Mon, 04 Apr 2016 08:00:00 GMT\n/api/logs
Ensuite, encodez cette chaîne à l’aide de l’algorithme HMAC-SHA256 sur la chaîne de signature codée en UTF-8, construisez l’en-tête Authorization et ajoutez l’en-tête à la demande.
Encodage de la signature
Pour coder la signature, appelez l’algorithme HMAC-SHA256 sur la chaîne de signature encodée en UTF-8 et encodez le résultat en Base64. Utilisez le format suivant (représenté par un pseudo-code) :
Signature=Base64(HMAC-SHA256(UTF8(StringToSign)))
Corps de la requête
Corps du message envoyé au point de terminaison.
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
}
Vous pouvez regrouper plusieurs messages du même type dans un seul corps de demande.
[
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
},
{
"key1": "value5",
"key2": "value6",
"key3": "value7",
"key4": "value8"
}
]
Limites des données
Il existe certaines contraintes concernant les données publiées dans l’API de collecte de données Log Analytics.
- Maximum de 30 Mo par publication à l’API du collecteur de données Log Analytics. Il s’agit d’une limite de taille pour une publication unique. Si les données d’un seul article dépassent 30 Mo, vous devez diviser les données en morceaux de plus petite taille et les envoyer simultanément.
- Maximum de 32 Ko pour les valeurs de champ. Si la valeur du champ est supérieure à 32 Ko, les données sont tronquées.
- Le nombre maximal recommandé de champs pour un type donné est 50. Il s’agit d’une limite pratique du point de vue de l’utilisation et de l’expérience de recherche.