> 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/it/knowledge-base/how-to-articles/send-devolutions-server-logs-to-azure-log-analytics.md).

# Inviare i log di Devolutions Server ad Azure Log Analytics

Configuri Devolutions Server per inoltrare i log di attività e amministrazione ad Azure Log Analytics utilizzando una registrazione dell'app, un DCE e una trasformazione DCR.

Questa guida fornisce le istruzioni per creare e configurare tutti i componenti necessari per inviare i log di Devolutions Server ad Azure Log Analytics.

{% hint style="info" %}
Devolutions Server inoltra ad Azure Log Analytics solo i log di **Attività** e **Amministrazione** delle connessioni, non tutti i tipi di log. Se ha requisiti di audit, verifichi che questo sottoinsieme copra le sue esigenze prima di affidarsi a esso come unica traccia di audit.
{% endhint %}

### Creare una nuova registrazione dell'app

1. Apra il portale di Azure e vada a ***App Registrations***.
2. Clicchi su ***New Registration***.
3. Assegni un nome alla sua app e clicchi su ***Register*** (non è necessario alcun Redirect URL).
4. In ***Supported account types***, selezioni ***Accounts in this organizational directory only***.

### Recuperare il client ID e il tenant ID

Dopo la registrazione, individui ***Client ID*** e ***Tenant ID*** nella sezione ***Overview***. Saranno necessari successivamente.

### Creare un client secret

1. Vada a ***Certificates & secrets***.
2. Clicchi su ***New client secret*** per creare un secret.
3. Salvi il valore del secret in modo sicuro, poiché verrà utilizzato successivamente in Devolutions Server.
4. Una volta scaduto il secret, deve rinnovarlo e aggiornarlo in Devolutions Server; in caso contrario, l'acquisizione dei log si interromperà.

### Configurare un Data Collection Endpoint (DCE)

Crei un Data Collection Endpoint (DCE) in Azure per ricevere le richieste da Devolutions Server.

{% hint style="info" %}
In Devolutions Server, questo corrisponde al campo ***Azure Endpoint***.
{% endhint %}

### Creare una tabella di Azure Log Analytics

Creare la tabella a partire dal flusso di dati di esempio generico di Microsoft genererà colonne piatte che non corrispondono a questa struttura, e tutti i campi oltre a `ReportType` e `MachineName` risulteranno vuoti. Crei invece la tabella manualmente con lo schema seguente. Crei la tabella con le colonne seguenti (tutte `string` salvo diversa indicazione):

| Colonna            | Tipo     |
| ------------------ | -------- |
| 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   |

### Recuperare l'immutable ID e lo stream name

Una volta creata la tabella ***Log analytics***, individui l'***Immutable ID*** e lo ***Stream Name*** per lo streaming dei log.

### Configurare la trasformazione DCR

La trasformazione della Data Collection Rule (`transformKql`) è ciò che mappa il JSON CLEF in ingresso sullo schema della tabella sopra indicato. Senza di essa, i campi non verranno popolati anche se la tabella e le autorizzazioni sono per il resto corrette. Imposti la trasformazione su:

```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)
```

### **Assegnare le autorizzazioni alla Data Collection Rule (DCR)**

1. Dalla DCR in Azure, vada su ***Access Control (IAM)*** – ***Add role assignment***.
2. Selezioni ***Monitoring Metrics Publisher***, poi ***Next***.
3. Selezioni ***User, group, or service principal*** e clicchi su ***Select members***.
4. Clicchi sull'applicazione creata durante la registrazione. Clicchi su ***Review + assign*** per assicurarsi che tutto sia in ordine prima di salvare.

{% hint style="info" %}
Consulti la [documentazione 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) per maggiori dettagli sulla Data Collection Rule (DCR).
{% endhint %}

### Testare e attivare la registrazione dei log

Clicchi su ***Test Connection*** per verificare le sue credenziali, quindi generi un'attività di connessione in Devolutions Server e confermi che la riga corrispondente appaia in Log Analytics con i suoi campi popolati.

{% hint style="warning" %}
***Test Connection*** convalida solo le credenziali utilizzate per raggiungere l'endpoint, non invia una voce di log effettiva. Un risultato verde conferma la connettività, non che l'acquisizione o la trasformazione siano configurate correttamente. Verifichi sempre in seguito con un evento reale.
{% endhint %}

### Configurazione di Devolutions Server

1. Apra il servizio web di Devolutions Server.
2. Vada su ***Administration - Server settings - Logging***.
3. Inserisca le informazioni.


---

# 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/it/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.
