

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Monitora gli eventi di servizio
<a name="CloudWatch-Application-Signals-ServiceEvents"></a>

Service Events offre un'osservabilità approfondita automatizzata per i servizi monitorati con Application Signals. CloudWatch Acquisisce metriche di errore, dati sulle prestazioni a livello di funzione, istantanee degli incidenti (quando le richieste superano le soglie di latenza o generano eccezioni) ed eventi di implementazione, senza ulteriori modifiche al codice.

## Come funzionano gli eventi di servizio
<a name="Application-Signals-ServiceEvents-HowItWorks"></a>

Service Events raccoglie i seguenti tipi di segnali dai vostri servizi strumentati:
+ **Metriche degli** errori: conteggi e tassi di Per-exception-type errore per ogni operazione, che consentono di identificare le eccezioni più frequenti e di tendenza.
+ **Function-call metriche**: numero di chiamate, durata e tassi di errore per le singole funzioni all'interno del codice dell'applicazione.
+ **Istantanee degli incidenti**: acquisizioni dettagliate attivate quando una richiesta supera una soglia di latenza o genera un'eccezione, tra cui tracce dello stack, alberi delle chiamate, dettagli del chiamante e contesto operativo.
+ **Eventi di distribuzione**: indicatori emessi all'avvio dell'applicazione e ogni 24 ore che mettono in relazione le distribuzioni di codice con i cambiamenti nel comportamento del servizio. L'applicazione emette automaticamente gli eventi di distribuzione. La fornitura di metadati di distribuzione (git commit, deployment ID) arricchisce questi eventi con un contesto aggiuntivo.

Service Events viene abilitato automaticamente quando abiliti CloudWatch Application Signals per il tuo servizio. Le metriche degli errori e il tracciamento delle eccezioni sono attivi immediatamente. Function-call le metriche richiedono una configurazione aggiuntiva: è necessario configurare i pacchetti sullo strumento prima che vengano raccolti i dati sulle chiamate di funzione (vedi). [Abilita la strumentazione delle funzioni](#Application-Signals-ServiceEvents-Configure-Function) Gli eventi di servizio possono essere disabilitati impostando. `OTEL_AWS_SERVICE_EVENTS_ENABLED=false` I dati fluiscono dall'ADOT SDK all' CloudWatch agente. L'agente pubblica gli eventi nei log (gruppi di CloudWatch `/aws/service-events/{{service-name}}` log) e nelle metriche. CloudWatch 

Linguaggi supportati: Java, Python e. Node.js

**Nota**  
Service Events viene disabilitato automaticamente negli ambienti Lambda.

## Archiviazione di dati
<a name="Application-Signals-ServiceEvents-DataStorage"></a>

Service Events archivia i dati nei CloudWatch registri. CloudWatch pubblica i dati degli eventi di servizio in un gruppo di log con il prefisso`/aws/application-signals/{{service-name}}`, dove {{service-name}} è il valore della variabile di ambiente. `OTEL_SERVICE_NAME` Viene creato un gruppo di log per servizio.

L'inserimento e l'archiviazione dei log vengono fatturati alle tariffe standard CloudWatch di Logs.

## Visualizza gli errori nella console
<a name="Application-Signals-ServiceEvents-Errors"></a>

Nella CloudWatch console, accedi ad **Application Signals**, scegli il tuo servizio, quindi scegli la scheda **Errori**. Questa scheda mostra le metriche delle eccezioni per il tuo servizio.

La scheda mostra:
+ Un grafico del conteggio delle eccezioni che mostra le tendenze degli errori nel tempo. Utilizzatelo per rilevare quali tipi di eccezioni sono cambiati di frequenza di recente.
+ Una tabella che elenca ogni tipo di eccezione, l'operazione in cui si è verificata, il numero di occorrenze e la modifica rispetto al periodo precedente.

Seleziona un'eccezione per approfondire i dettagli, tra cui lo stack trace, il messaggio di eccezione e un link alla traccia associata.

Gli errori sono raggruppati per operazione, tipo di eccezione e top stack frame. Viene mostrato solo il rappresentante più recente di ogni gruppo.

**Nota**  
Per visualizzare i dati di errore, è necessario che nell'account esista almeno un gruppo di `/aws/service-events/{{service-name}}` log. Se non esistono gruppi di log, nella scheda Errori viene visualizzata una richiesta di onboarding.

## Visualizza gli eventi di servizio nei registri
<a name="Application-Signals-ServiceEvents-Logs"></a>

I dati degli eventi di servizio vengono archiviati nei CloudWatch registri all'interno di gruppi di log con il prefisso. `/aws/service-events/{{service-name}}` È possibile interrogare questi dati direttamente utilizzando CloudWatch Logs Insights per creare viste personalizzate, creare dashboard o indagare su incidenti specifici.

Per interrogare gli eventi del servizio:

1. Apri la CloudWatch console e accedi a **Logs Insights.**

1. Seleziona il gruppo di log `/aws/service-events/{{service-name}}` per il tuo servizio.

1. Inserisci una query per filtrare e analizzare i dati degli eventi di servizio.

## Eventi di servizio nel server MCP (Model Context Protocol) di CloudWatch Application Signals
<a name="Application-Signals-ServiceEvents-MCP"></a>

I dati degli eventi di servizio sono accessibili tramite il server CloudWatch Application Signals MCP (Model Context Protocol), che consente agli assistenti e agli agenti di codifica AI di interrogare direttamente il comportamento di runtime del servizio.

**Risoluzione dei problemi**
+ Correla automaticamente gli errori nel codice con le istantanee degli incidenti di produzione, incluse le tracce complete dello stack e gli endpoint interessati.
+ Utilizza il contesto dell'incidente (tipi di eccezioni, percorsi di chiamata, ID di traccia) per suggerire correzioni mirate senza dover navigare manualmente nelle dashboard.
+ Recupera gli eventi di distribuzione per determinare se una versione recente ha introdotto una regressione.

**Miglioramento delle prestazioni**
+ Interroga i dati sulle prestazioni a livello di funzione per identificare i punti deboli durante l'analisi dei problemi di latenza.
+ Confronta la durata delle chiamate di funzione tra le implementazioni per individuare le regressioni delle prestazioni.

Per istruzioni di configurazione e utilizzo, consultate il server MCP [Application Signals sul sito Web](https://awslabs.github.io/mcp/servers/cloudwatch-applicationsignals-mcp-server). GitHub 

## Configura gli eventi di servizio
<a name="Application-Signals-ServiceEvents-Configure"></a>

### Prerequisiti
<a name="Application-Signals-ServiceEvents-Configure-Prerequisites"></a>

Per utilizzare gli eventi di servizio, assicurati di disporre delle versioni minime richieste dei seguenti componenti:

1. **Aggiorna l'SDK ADOT**: aggiorna l'SDK di strumentazione AWS Distro for OpenTelemetry (ADOT) alla versione più recente per il tuo linguaggio (Java, Python o). Node.js

1. **Aggiorna il componente aggiuntivo Amazon EKS (se applicabile)**: se utilizzi il componente aggiuntivo CloudWatch Observability Amazon EKS per strumentare le tue applicazioni, esegui l'aggiornamento alla versione più recente del componente aggiuntivo.

1. **Aggiorna l' CloudWatch agente: esegui** l'aggiornamento alla versione `1.300069.0` o successiva dell'agente. CloudWatch

Se usi Amazon EKS, consulta le istruzioni [Abilitazione delle applicazioni sui cluster Amazon EKS](CloudWatch-Application-Signals-Enable-EKS.md) per la configurazione dei componenti aggiuntivi.

### Funzionalità abilitate per impostazione predefinita
<a name="Application-Signals-ServiceEvents-Configure-Defaults"></a>

Se si utilizzano CloudWatch Application Signals, i seguenti segnali di eventi di servizio sono **abilitati per impostazione predefinita** senza che sia richiesta alcuna configurazione aggiuntiva:
+ Istantanee degli incidenti (attivate in caso di eccezioni e violazioni della soglia di latenza)
+ Metriche degli errori (conteggi degli errori per tipo di eccezione per operazione)
+ Eventi di distribuzione (emessi sempre; arricchiti quando si forniscono metadati di distribuzione)
+ Strumentazione delle funzioni (abilitata per impostazione predefinita, ma non produce parametri finché non si configurano i pacchetti per lo strumento)

Le seguenti funzionalità sono **opzionali e richiedono l'**impostazione di variabili di ambiente per produrre dati:
+ Function-level metriche (richiede la configurazione) `OTEL_AWS_SERVICE_EVENTS_PACKAGES_INCLUDE`
+ Filtraggio personalizzato degli endpoint
+ Per-endpoint soglie di latenza

### Impostazioni generali
<a name="Application-Signals-ServiceEvents-Configure-General"></a>


| Variabile di ambiente | Predefinita | Description | 
| --- | --- | --- | 
| OTEL\_AWS\_SERVICE\_EVENTS\_ENABLED | Segue i segnali dell'applicazione CloudWatch  | Attiva gli eventi di servizio. Service Events viene abilitato automaticamente quando CloudWatch Application Signals è abilitato. Imposta su per disabilitare false in modo esplicito. | 
| OTEL\_AWS\_SERVICE\_EVENTS\_SAMPLING\_MODE | always | Controlla la strategia di campionamento dei dati relativi alle chiamate di funzione. Valori: always (registra tutte le chiamate di funzione), auto (lascia che sia l'SDK a decidere in base al carico), never (disabilita la registrazione delle chiamate di funzione). Si applica solo quando i pacchetti di strumentazione funzionale sono configurati. | 

### Abilita la strumentazione delle funzioni
<a name="Application-Signals-ServiceEvents-Configure-Function"></a>

La strumentazione delle funzioni è abilitata per impostazione predefinita, ma non produce alcuna metrica finché non si configurano i pacchetti per strumento. Fornisci un elenco di pacchetti consentiti per iniziare a raccogliere la telemetria per funzione:


| Variabile di ambiente | Predefinita | Description | 
| --- | --- | --- | 
| OTEL\_AWS\_SERVICE\_EVENTS\_FUNCTION\_INSTRUMENT\_ENABLED | true | Abilita o disabilita la strumentazione a livello di funzione. Impostato su per disabilitare completamente. false | 
| OTEL\_AWS\_SERVICE\_EVENTS\_PACKAGES\_INCLUDE | Nessuno (richiesto per le metriche) | Comma-separated elenco dei prefissi dei pacchetti relativi allo strumento. Non è necessario alcun carattere jolly. Ad esempio: Java usacom.myapp, Python usamyapp, Node.js usa. src/myapp | 
| OTEL\_AWS\_SERVICE\_EVENTS\_PACKAGES\_EXCLUDE | Nessuno | Comma-separated elenco di sottopacchetti da escludere dalla strumentazione. L'esclusione ha sempre la precedenza sull'inclusione. Ad esempio, includi com.myapp ed escludi com.myapp.models per strumentare il codice dell'applicazione ma salta le classi del modello di dati. | 

### Filtraggio degli endpoint
<a name="Application-Signals-ServiceEvents-Configure-Endpoint"></a>

Il filtraggio degli endpoint controlla quali endpoint generano metriche di errore degli endpoint e istantanee degli incidenti. Queste impostazioni non influiscono sulla strumentazione delle funzioni.


| Variabile di ambiente | Predefinita | Description | 
| --- | --- | --- | 
| OTEL\_AWS\_SERVICE\_EVENTS\_ENDPOINT\_INCLUDE\_PATTERNS | Tutti gli endpoint | Comma-separated modelli a globo degli endpoint da includere. Abbinato a. METHOD /route | 
| OTEL\_AWS\_SERVICE\_EVENTS\_ENDPOINT\_EXCLUDE\_PATTERNS | Nessuno | Comma-separated modelli a globo degli endpoint da escludere. L'esclusione ha la precedenza quando un endpoint corrisponde a entrambi. | 

### Soglie di latenza
<a name="Application-Signals-ServiceEvents-Configure-Latency"></a>

Utilizza le seguenti variabili di ambiente per configurare le soglie di latenza per i trigger delle istantanee degli incidenti.


| Variabile di ambiente | Predefinita | Description | 
| --- | --- | --- | 
| OTEL\_AWS\_SERVICE\_EVENTS\_INCIDENT\_SNAPSHOT\_DURATION\_THRESHOLD\_MS | 5000 | Soglia di latenza globale in millisecondi. Le richieste che superano questa durata attivano un'istantanea dell'incidente. | 
| OTEL\_AWS\_SERVICE\_EVENTS\_LATENCY\_THRESHOLDS | Nessuno | Per-endpoint soglie di latenza che sostituiscono l'impostazione predefinita globale. Formato: METHOD /route:ms (ad esempio,). GET /health:200,POST /checkout:8000 | 

### Limitazione della velocità
<a name="Application-Signals-ServiceEvents-Configure-RateLimit"></a>

Utilizza le seguenti variabili di ambiente per controllare la velocità con cui i dati sugli eventi di servizio vengono raccolti e segnalati.


| Variabile di ambiente | Predefinita | Description | 
| --- | --- | --- | 
| OTEL\_AWS\_SERVICE\_EVENTS\_INCIDENT\_SNAPSHOT\_MAX\_PER\_MINUTE | 100 | Numero massimo di istantanee degli incidenti acquisite al minuto. | 
| OTEL\_AWS\_SERVICE\_EVENTS\_INCIDENT\_SNAPSHOT\_MAX\_SAME\_ERROR | 1 | Numero massimo di istantanee per lo stesso errore per finestra di acquisizione. | 

## Configura gli eventi di distribuzione
<a name="Application-Signals-ServiceEvents-DeploymentEvents"></a>

Gli eventi di distribuzione vengono sempre emessi all'avvio dell'applicazione e ogni 24 ore. La fornitura di metadati di distribuzione arricchisce questi eventi in modo da poter correlare gli incidenti e le modifiche delle prestazioni con implementazioni di codice specifiche.

Imposta le seguenti variabili di ambiente nei contenitori o nei processi dell'applicazione per fornire i metadati di distribuzione:


| Variabile di ambiente | Description | 
| --- | --- | 
| OTEL\_AWS\_SERVICE\_EVENTS\_GIT\_COMMIT\_SHA | Git commit SHA del codice distribuito. | 
| OTEL\_AWS\_SERVICE\_EVENTS\_GIT\_REPO\_URL | URL del repository Git. | 
| OTEL\_AWS\_SERVICE\_EVENTS\_DEPLOYMENT\_ID | Identificatore univoco per la distribuzione (ad esempio, un ID di esecuzione della CI/CD pipeline). | 
| OTEL\_AWS\_SERVICE\_EVENTS\_DEPLOYMENT\_TIMESTAMP | Timestamp ISO 8601 della distribuzione. | 
| OTEL\_AWS\_SERVICE\_EVENTS\_DEPLOYMENT\_URL | URL della build di distribuzione o dell'esecuzione della pipeline. | 

### Configura gli eventi di distribuzione con GitHub Actions
<a name="Application-Signals-ServiceEvents-DeploymentEvents-GitHub"></a>

Nel flusso di lavoro GitHub Actions, utilizza le variabili di ambiente integrate per compilare i metadati di distribuzione. Aggiungi quanto segue alla fase di distribuzione o all'ambiente contenitore:

```
env:
  OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: ${{ github.sha }}
  OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
  OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: ${{ github.run_id }}
  OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ)
  OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
```

Se distribuisci immagini di container, passa questi valori come variabili di ambiente nella definizione dell'attività o nelle specifiche del pod. Puoi incorporarle nell'immagine in fase di creazione o inserirle in fase di implementazione tramite la configurazione di distribuzione.

### Configura gli eventi di distribuzione con GitLab CI/CD
<a name="Application-Signals-ServiceEvents-DeploymentEvents-GitLab"></a>

Nella tua GitLab CI/CD pipeline, utilizza le CI/CD variabili predefinite per compilare i metadati di distribuzione. Aggiungi quanto segue al tuo processo di distribuzione:

```
deploy:
  variables:
    OTEL_AWS_SERVICE_EVENTS_GIT_COMMIT_SHA: $CI_COMMIT_SHA
    OTEL_AWS_SERVICE_EVENTS_GIT_REPO_URL: $CI_PROJECT_URL
    OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_ID: $CI_PIPELINE_ID
    OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_TIMESTAMP: $(date -u +%Y-%m-%dT%H:%M:%SZ)
    OTEL_AWS_SERVICE_EVENTS_DEPLOYMENT_URL: $CI_PIPELINE_URL
```

Passa queste variabili ai contenitori delle applicazioni in fase di implementazione tramite la tua piattaforma di orchestrazione dei container (ad esempio, come variabili di ambiente nella definizione delle attività di Amazon ECS o nel manifesto di distribuzione di Kubernetes).