> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/server/fr/knowledge-base/how-to-articles/send-devolutions-server-logs-to-azure-log-analytics.md).

# Envoyer les journaux de Devolutions Server à Azure Log Analytics

Ce guide fournit des instructions pour créer et configurer tous les composants nécessaires à l'envoi des journaux de Devolutions Server vers Azure Log Analytics.

{% hint style="info" %}
Devolutions Server transfère uniquement les journaux de connexion **Activité** et **Administration** vers Azure Log Analytics, et non tous les types de journaux. Si vous avez des exigences d'audit, confirmez que ce sous-ensemble couvre vos besoins avant de vous y fier comme unique piste d'audit.
{% endhint %}

### Créer une nouvelle inscription d'application

1. Ouvrez le portail Azure et naviguez vers ***App Registrations***.
2. Cliquez sur ***New Registration***.
3. Donnez un nom à votre application et cliquez sur ***Register*** (aucune URL de redirection n'est nécessaire).
4. Sous ***Supported account types***, sélectionnez ***Accounts in this organizational directory only***.

### Récupérer l'ID client et l'ID de locataire

Après l'inscription, repérez le ***Client ID*** et le ***Tenant ID*** sous la section ***Overview***. Ceux-ci seront requis plus tard.

### Créer un secret client

1. Naviguez vers ***Certificates & secrets***.
2. Cliquez sur ***New client secret*** pour créer un secret.
3. Conservez la valeur du secret en toute sécurité, car elle sera utilisée plus tard dans Devolutions Server.
4. Une fois le secret expiré, vous devez le renouveler et le mettre à jour dans Devolutions Server; sinon, l'ingestion des journaux s'arrêtera.

### Configurer un Data Collection Endpoint (DCE)

Créez un Data Collection Endpoint (DCE) dans Azure pour recevoir les requêtes de Devolutions Server.

{% hint style="info" %}
Dans Devolutions Server, cela correspond au champ ***Azure Endpoint***.
{% endhint %}

### Créer une table Azure Log Analytics

La création de la table à partir du flux de données d'exemple générique de Microsoft créera des colonnes plates qui ne correspondent pas à cette structure, et tous les champs au-delà de `ReportType` et `MachineName` arriveront vides. Créez plutôt la table manuellement avec le schéma ci-dessous. Créez la table avec les colonnes suivantes (toutes de type `string` sauf indication contraire) :

| Colonne            | Type     |
| ------------------ | -------- |
| TimeGenerated      | datetime |
| ReportType         | string   |
| MachineName        | string   |
| User               | string   |
| ConnectionName     | string   |
| ConnectionId       | string   |
| VaultName          | string   |
| VaultId            | string   |
| Message            | string   |
| LogDate            | string   |
| ConnectionType     | string   |
| ConnectionUsername | string   |
| Machine            | string   |
| Ticket             | string   |
| ActiveTime         | string   |
| OnOpenComment      | string   |
| OnCloseComment     | string   |

### Récupérer l'ID immuable et le nom du flux

Une fois la table ***Log analytics*** créée, repérez le ***Immutable ID*** et le ***Stream Name*** pour la diffusion des journaux.

### Configurer la transformation DCR

La transformation de la Data Collection Rule (`transformKql`) est ce qui mappe le JSON CLEF entrant sur le schéma de table ci-dessus. Sans elle, les champs ne seront pas remplis même si la table et les permissions sont par ailleurs correctes. Définissez la transformation comme suit :

```kql
| extend TimeGenerated = todatetime(['@t'])
| extend p = parse_json(tostring(Properties))
| project TimeGenerated, ReportType, MachineName,
    User = tostring(p.User),
    ConnectionName = tostring(p.ConnectionName),
    ConnectionId = tostring(p.ConnectionId),
    VaultName = tostring(p.VaultName),
    VaultId = tostring(p.VaultId),
    Message = tostring(p.Message),
    LogDate = tostring(p.LogDate),
    ConnectionType = tostring(p.ConnectionType),
    ConnectionUsername = tostring(p.ConnectionUsername),
    Machine = tostring(p.Machine),
    Ticket = tostring(p['Ticket#']),
    ActiveTime = tostring(p.ActiveTime),
    OnOpenComment = tostring(p.OnOpenComment),
    OnCloseComment = tostring(p.OnCloseComment)
```

### **Attribuer des permissions à la Data Collection Rule (DCR)**

1. Depuis la DCR dans Azure, allez à ***Access Control (IAM)*** – ***Add role assignment***.
2. Sélectionnez ***Monitoring Metrics Publisher***, puis ***Next***.
3. Cochez ***User, group, or service principal***, et cliquez sur ***Select members***.
4. Cliquez sur l'application créée lors de l'inscription. Cliquez sur ***Review + assign*** pour vous assurer que tout est en ordre avant d'enregistrer.

{% hint style="info" %}
Consultez la [documentation Microsoft](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/tutorial-logs-ingestion-api?utm_source=chatgpt.com\&tabs=dcr#assign-permissions-to-a-dcr) pour plus de détails sur la Data Collection Rule (DCR).
{% endhint %}

### Tester et activer la journalisation

Cliquez sur ***Test Connection*** pour vérifier vos identifiants, puis générez une activité de connexion dans Devolutions Server et confirmez que la ligne correspondante apparaît dans Log Analytics avec ses champs remplis.

{% hint style="warning" %}
***Test Connection*** valide uniquement les identifiants utilisés pour joindre le terminal, il n'envoie pas une véritable entrée de journal. Un résultat vert confirme la connectivité, mais non que l'ingestion ou la transformation est correctement configurée. Vérifiez toujours ensuite avec un événement réel.
{% endhint %}

### Configuration de Devolutions Server

1. Ouvrez le service web de Devolutions Server.
2. Allez à ***Administration - Paramètres du serveur - Journalisation***.
3. Saisissez les informations.

![](https://cdnweb.devolutions.net/docs/DVLS6035_2025_3.png)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/server/fr/knowledge-base/how-to-articles/send-devolutions-server-logs-to-azure-log-analytics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
