

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à.

# Esplorazione dei dati con CloudWatch gli strumenti e l'interfaccia di interrogazione di Internet Monitor
<a name="CloudWatch-IM-view-cw-tools"></a>

Oltre a visualizzare le prestazioni e la disponibilità dell'applicazione con il pannello di controllo di Monitor Internet, esistono diversi metodi che possono essere utilizzati per avere più informazioni sui dati generati da Monitor Internet. Questi metodi includono l'utilizzo di CloudWatch strumenti con dati di Internet Monitor archiviati nei file di CloudWatch registro e l'utilizzo dell'interfaccia di interrogazione di Internet Monitor. Gli strumenti che puoi utilizzare includono CloudWatch Logs Insights, CloudWatch Metrics, CloudWatch Contributor Insights e Amazon Athena. È possibile utilizzare alcuni o tutti questi strumenti, oltre al pannello di controllo, per esplorare i dati di Monitor Internet in base alle proprie esigenze. 

Internet Monitor aggrega le CloudWatch metriche sul traffico verso la tua applicazione e verso ciascuna di esse e include dati come l'impatto totale sul traffico Regione AWS, la disponibilità e il tempo di andata e ritorno. Questi dati vengono pubblicati in CloudWatch Logs e possono essere utilizzati anche con l'interfaccia di interrogazione di Internet Monitor. I dettagli sulla geogranularità e altri aspetti delle informazioni che è possibile esplorare variano in base al tipo.

Monitor Internet pubblica i dati per il monitor a intervalli di cinque minuti, quindi li rende disponibili in diversi modi. La tabella seguente elenca gli scenari di accesso ai dati di Monitor Internet e descrive le funzionalità dei dati raccolti per ognuno di essi.


****  

| Funzionalità | CloudWatch Registri | Esportazione in S3 | Interfaccia di interrogazione | CloudWatch cruscotto | 
| --- | --- | --- | --- | --- | 
| Abilitata per default | Sì | No | Sì | Sì | 
| Numero di reti urbane per le quali vengono raccolti i dati | Prime 500 (vedi nota sotto) | Tutti | Tutti | Tutti | 
| Conservazione dei dati | Controllato dall'utente | Controllato dall'utente | 30 giorni | 30 giorni | 
| Geogranularità per cui vengono raccolti i dati | Tutti (rete urbana, rete metropolitana, rete regionale, rete nazionale) | Rete urbana | Tutti (rete urbana, rete metropolitana, rete regionale, rete nazionale) | Tutti (rete urbana, rete metropolitana, rete regionale, rete nazionale) | 
| Come interrogare e filtrare i dati | [Usa CloudWatch Logs Insights per esplorare le misurazioni di Internet Monitor](CloudWatch-IM-view-cw-tools-logs-insights.md) | [Utilizzo di Amazon Athena per eseguire query delle misurazioni Internet nei file di log di Amazon S3](CloudWatch-IM-view-cw-tools.S3_athena.md) | [Utilizzo dell'interfaccia di interrogazione di Monitor Internet](CloudWatch-IM-view-cw-tools-cwim-query.md) | [Monitoraggio e ottimizzazione con il pannello di controllo di Monitor Internet](CloudWatch-IM-monitor-and-optimize.md) | 

Nota: per le reti urbane vengono acquisite le prime 500 misurazioni, per le reti metropolitane le prime 250, per le reti regionali le prime 100 e per le reti nazionali le prime 50.

Questo capitolo descrive come interrogare ed esplorare i dati utilizzando CloudWatch gli strumenti o l'interfaccia di interrogazione di Internet Monitor, insieme ad esempi per ogni metodo. 

**Topics**
+ [CloudWatch Logs Insights](CloudWatch-IM-view-cw-tools-logs-insights.md)
+ [CloudWatch Contributor Insights](CloudWatch-IM-view-cw-tools-contributor-insights.md)
+ [CloudWatch Metriche](CloudWatch-IM-view-cw-tools-metrics-dashboard.md)
+ [Athena con log S3](CloudWatch-IM-view-cw-tools.S3_athena.md)
+ [Interfaccia di interrogazione di Monitor Internet](CloudWatch-IM-view-cw-tools-cwim-query.md)

# Usa CloudWatch Logs Insights per esplorare le misurazioni di Internet Monitor
<a name="CloudWatch-IM-view-cw-tools-logs-insights"></a>

È possibile utilizzare le query di CloudWatch Logs Insights per filtrare un sottoinsieme di log per una città o un'area geografica specifica (posizione del client), l'ASN (ISP) del client e la posizione di origine. AWS Internet Monitor pubblica misurazioni granulari della disponibilità e del tempo di andata e ritorno su Logs che puoi esplorare utilizzando Logs Insights. CloudWatch CloudWatch 

Per ulteriori informazioni sulla precisione della posizione dei client in Monitor Internet, consulta [Informazioni e precisione sulla geolocalizzazione in Monitor Internet](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

Gli esempi in questa sezione possono aiutarti a creare query CloudWatch Logs Insights per saperne di più sulle misurazioni e le metriche del traffico delle tue applicazioni. Se utilizzi questi esempi in CloudWatch Logs Insights, sostituiscili *monitorName* con il nome del tuo monitor.

**Visualizzazione dei suggerimenti di ottimizzazione del traffico**

Nella scheda **Informazioni sul traffico** di Monitor Internet, puoi visualizzare i suggerimenti per l'ottimizzazione del traffico, filtrati per posizione. Per visualizzare le stesse informazioni visualizzate nella sezione **Suggerimenti per l'ottimizzazione del traffico** di quella scheda, ma senza il filtro di granularità della posizione, puoi utilizzare la seguente query di CloudWatch Logs Insights. 

1. In Console di gestione AWS, accedi a Logs Insights. CloudWatch 

1. Per **Log Group** (Gruppo di log), seleziona `/aws/internet-monitor/monitorName/byCity` e `/aws/internet-monitor/monitorName/byCountry`, quindi specifica un intervallo di tempo. 

1. Aggiungi la query seguente, quindi eseguila. 

```
fields @timestamp, 
clientLocation.city as @city, clientLocation.subdivision as @subdivision, clientLocation.country as @country,
`trafficInsights.timeToFirstByte.currentExperience.serviceName` as @serviceNameField,
concat(@serviceNameField, ` (`, `serviceLocation`, `)`) as @currentExperienceField,
concat(`trafficInsights.timeToFirstByte.ec2.serviceName`, ` (`, `trafficInsights.timeToFirstByte.ec2.serviceLocation`, `)`) as @ec2Field,
`trafficInsights.timeToFirstByte.cloudfront.serviceName` as @cloudfrontField,
concat(`clientLocation.networkName`, ` (AS`, `clientLocation.asn`, `)`) as @networkName
| filter ispresent(`trafficInsights.timeToFirstByte.currentExperience.value`)
| stats avg(`trafficInsights.timeToFirstByte.currentExperience.value`) as @averageTTFB,
avg(`trafficInsights.timeToFirstByte.ec2.value`) as @ec2TTFB,
avg(`trafficInsights.timeToFirstByte.cloudfront.value`) as @cloudfrontTTFB,
sum(`bytesIn` + `bytesOut`) as @totalBytes,
latest(@ec2Field) as @ec2,
latest(@currentExperienceField) as @currentExperience,
latest(@cloudfrontField) as @cloudfront,
count(*) by @networkName, @city, @subdivision, @country
| display @city, @subdivision, @country, @networkName, @totalBytes, @currentExperience, @averageTTFB, @ec2, @ec2TTFB, @cloudfront, @cloudfrontTTFB
| sort @totalBytes desc
```

**Visualizza la disponibilità di Internet e RTT (p50, p90 e p95)**

Per visualizzare la disponibilità di Internet e l'orario di andata e ritorno (p50, p90 e p95) per il traffico, puoi utilizzare la seguente query di Logs Insights. CloudWatch 

**Area geografica dell'utente finale:** Chicago, IL, Stati Uniti

**Rete per utenti finali (ASN):** AS7018 

**AWS sede del servizio:** regione Stati Uniti orientali (Virginia settentrionale)

Per visualizzare i log, procedi come indicato di seguito:

1. Nella Console di gestione AWS, accedi a CloudWatch Logs Insights.

1. Per **Log Group** (Gruppo di log), seleziona `/aws/internet-monitor/monitorName/byCity` e `/aws/internet-monitor/monitorName/byCountry`, quindi specifica un intervallo di tempo. 

1. Aggiungi la query seguente, quindi eseguila. 

La query restituisce tutti i dati sulle prestazioni degli utenti che si connettono da AS7018 Chicago, IL, verso la regione degli Stati Uniti orientali (Virginia settentrionale) nel periodo di tempo selezionato.

```
fields @timestamp, 
internetHealth.availability.experienceScore as availabilityExperienceScore, 
internetHealth.availability.percentageOfTotalTrafficImpacted as percentageOfTotalTrafficImpacted,
internetHealth.performance.experienceScore as performanceExperienceScore,
internetHealth.performance.roundTripTime.p50 as roundTripTimep50, 
internetHealth.performance.roundTripTime.p90 as roundTripTimep90, 
internetHealth.performance.roundTripTime.p95 as roundTripTimep95
 | filter clientLocation.country == `United States` 
 and clientLocation.city == `Chicago` 
 and serviceLocation == `us-east-1` 
 and clientLocation.asn == 7018
```

Per ulteriori informazioni, vedere [Analisi dei dati di registro con CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) Insights.

# Usa Contributor Insights per identificare le sedi principali e ISPs
<a name="CloudWatch-IM-view-cw-tools-contributor-insights"></a>

CloudWatch Contributor Insights può aiutarti a identificare le sedi principali dei clienti e ASNs (in genere, i provider di servizi Internet ISPs) più adatti alla tua AWS applicazione. Utilizza le seguenti regole di esempio di Contributor Insights per iniziare a usare le regole utili in Monitor Internet. Per ulteriori informazioni, consulta [Crea una regola Contributor Insights in CloudWatch](ContributorInsights-CreateRule.md).

Per ulteriori informazioni sulla precisione della posizione dei client in Monitor Internet, consulta [Informazioni e precisione sulla geolocalizzazione in Monitor Internet](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

**Nota**  
Monitor Internet archivia i dati delle misurazioni Internet ogni cinque minuti, quindi dopo aver configurato una regola di Contributor Insights, è necessario impostare il periodo su cinque minuti per visualizzarne il grafico.

**Visualizza le sedi principali e quelle ASNs interessate da un impatto sulla disponibilità**

Per visualizzare le sedi principali dei clienti ASNs interessate da un calo della disponibilità, puoi utilizzare la seguente regola Contributor Insights nell'editor di sintassi. Sostituiscila *monitor-name* con il nome del tuo monitor.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.availability.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Visualizza le principali ubicazioni dei clienti e ASNs quelle interessate dall'impatto sulla latenza**

Per visualizzare le sedi principali dei clienti ASNs interessate da un aumento del tempo di andata e ritorno (latenza), puoi utilizzare la seguente regola di Contributor Insights nell'editor di sintassi. Sostituiscilo con il tuo nome *monitor-name* di monitor.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.performance.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Visualizza le principali sedi dei clienti e ASNs quelle influenzate dalla percentuale totale di traffico**

Per visualizzare le principali ubicazioni dei clienti e ASNs quelle interessate dalla percentuale totale di traffico, puoi utilizzare la seguente regola Contributor Insights nell'editor di sintassi. Sostituiscila *monitor-name* con il nome del tuo monitor.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.percentageOfTotalTraffic"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

# Visualizza le metriche di Internet Monitor o imposta gli allarmi in Metriche CloudWatch
<a name="CloudWatch-IM-view-cw-tools-metrics-dashboard"></a>

È possibile visualizzare o impostare allarmi sulle metriche di Internet Monitor utilizzando CloudWatch allarmi e CloudWatch metriche nella console. CloudWatch Monitor Internet pubblica metriche sul tuo account, tra cui metriche di prestazioni, disponibilità, tempo di andata e ritorno, e throughput (byte al secondo). Per trovare tutte le metriche per il tuo monitor, nella dashboard CloudWatch Metrics, consulta lo spazio dei nomi personalizzato. `AWS/InternetMonitor` 

Per esempi di utilizzo di diverse metriche per determinare i valori da scegliere per il limite massimo delle reti urbane per il monitor, consulta [Scelta di un valore massimo per la rete urbana](IMCityNetworksMaximum.md). Per ulteriori informazioni sull'impostazione degli allarmi per Monitor Internet, consulta [Creazione di allarmi con Monitor Internet](CloudWatch-IM-create-alarm.md).

Le metriche vengono aggregate su tutto il traffico Internet diretto ai Network Load Balancer VPCs, alle CloudFront distribuzioni o alle WorkSpaces directory presenti nel monitor e su tutto il traffico verso ogni edge location Internet monitorata. Regione AWS Le regioni sono definite dalla posizione del servizio, che può essere costituita da tutte le posizioni o da una regione specifica, ad esempio `us-east-1`. 

Nota: *le reti urbane sono* coppie di ubicazioni dei clienti utilizzate dai client (in genere provider di ASNs servizi Internet o). ISPs

Monitor Internet fornisce i seguenti parametri.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-metrics-dashboard.html)

Per ulteriori informazioni, consulta [Metriche in Amazon CloudWatch](working_with_metrics.md).

# Utilizzo di Amazon Athena per eseguire query delle misurazioni Internet nei file di log di Amazon S3
<a name="CloudWatch-IM-view-cw-tools.S3_athena"></a>

Puoi usare Amazon Athena per interrogare e visualizzare le misurazioni Internet che Monitor Internet pubblica su un bucket Amazon S3. In Internet Monitor è disponibile un'opzione per pubblicare le misurazioni Internet relative alla tua applicazione in un bucket S3 per il traffico connesso a Internet per le reti urbane monitorate (sedi dei clienti e ASNs, in genere, provider di servizi Internet o). ISPs Indipendentemente dal fatto che tu scelga di pubblicare le misurazioni su S3, Internet Monitor pubblica automaticamente le misurazioni Internet su CloudWatch Logs ogni cinque minuti per le prime 500 reti urbane (per volume di traffico) per ogni monitor. 

Questo capitolo include i passaggi su come creare una tabella in Athena per le misurazioni su Internet che si trova in un file di log S3, quindi fornisce [query di esempio](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries) per visualizzare diverse visualizzazioni delle misurazioni. Ad esempio, puoi interrogare le 10 reti urbane più colpite dall'impatto sulla latenza. 

## Utilizzo di Amazon Athena per creare una tabella per le misurazioni Internet in Monitor Internet
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-queries"></a>

Per iniziare a utilizzare Athena con i file di log di S3 per Monitor Internet, devi prima creare una tabella per le misurazioni Internet.

Segui i passaggi di questa procedura per creare una tabella in Athena basata sui file di log di S3. Quindi, puoi eseguire query Athena sulla tabella, come [questi esempi di query di misurazione su Internet](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries), per ottenere informazioni sulle tue misurazioni.

**Creazione di una tabella Athena**

1. Apri la console Athena all'indirizzo [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. Nell'editor di query Athena, inserisci un'istruzione di query per generare una tabella con le misurazioni Internet di Monitor Internet. Sostituisci il valore del parametro LOCATION con la posizione del bucket S3 in cui sono archiviate le misurazioni Internet di Monitor Internet. 

   ```
   CREATE EXTERNAL TABLE internet_measurements (
       version INT,
       timestamp INT,
       clientlocation STRING,
       servicelocation STRING,
       percentageoftotaltraffic DOUBLE,
       bytesin INT,
       bytesout INT,
       clientconnectioncount INT,
       internethealth STRING,
       trafficinsights STRING
   )
   PARTITIONED BY (year STRING, month STRING, day STRING)
   ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
   LOCATION
   's3://amzn-s3-demo-bucket/bucket_prefix/AWSLogs/account_id/internetmonitor/AWS_Region/'
   TBLPROPERTIES ('skip.header.line.count' = '1');
   ```

1. Inserisci una istruzione per creare una partizione per leggere i dati. Ad esempio, la seguente query crea una singola partizione per una data e una posizione specificate:

   ```
   ALTER TABLE internet_measurements
   ADD PARTITION (year = 'YYYY', month = 'MM', day = 'dd')
   LOCATION
   's3://amzn-s3-demo-bucket/bucket_prefix/AWSLogs/account_id/internetmonitor/AWS_Region/YYYY/MM/DD';
   ```

1. Scegli **Esegui**.

**Esempi di istruzioni Athena per misurazioni Internet**

Di seguito è riportato un esempio di istruzione per generare una tabella:

```
CREATE EXTERNAL TABLE internet_measurements (
    version INT,
    timestamp INT,
    clientlocation STRING,
    servicelocation STRING,
    percentageoftotaltraffic DOUBLE,
    bytesin INT,
    bytesout INT,
    clientconnectioncount INT,
    internethealth STRING,
    trafficinsights STRING
)
PARTITIONED BY (year STRING, month STRING, day STRING)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/'
TBLPROPERTIES ('skip.header.line.count' = '1');
```

Di seguito è riportato un esempio di istruzione per creare una partizione per leggere i dati:

```
ALTER TABLE internet_measurements
ADD PARTITION (year = '2023', month = '04', day = '07')
LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/2023/04/07/'
```

## Esempi di query Amazon Athena da utilizzare con le misurazioni Internet in Monitor Internet
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries"></a>

Questa sezione include query di esempio che puoi utilizzare con Amazon Athena per ottenere informazioni sulle misurazioni Internet della tua applicazione pubblicate su Amazon S3.

**Interroga le 10 sedi dei clienti maggiormente interessate (in termini di percentuale totale di traffico) e ASNs**

Esegui questa query Athena per restituire le 10 principali reti urbane interessate (in termini di percentuale totale di traffico), ovvero le sedi dei clienti e, in genere, i provider di servizi Internet. ASNs 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(percentageoftotaltraffic) as percentageoftotaltraffic
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageoftotaltraffic desc
limit 10
```

**Interroga le 10 sedi dei clienti maggiormente interessate (in base alla disponibilità) e ASNs **

Esegui questa query Athena per restituire le 10 principali reti urbane interessate (in termini di percentuale totale di traffico), ovvero le sedi dei clienti e, in genere, i provider di servizi Internet. ASNs 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(
        cast(
            json_extract_scalar(
                internetHealth,
                '$.availability.percentageoftotaltrafficimpacted'
            )
        as double ) 
    ) as percentageOfTotalTrafficImpacted
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageOfTotalTrafficImpacted desc
limit 10
```

**Interroga le 10 sedi dei clienti più colpite (in base alla latenza) e ASNs **

Esegui questa query Athena per restituire le 10 principali reti urbane interessate (in base all'impatto sulla latenza), ovvero le sedi dei clienti e, in genere, i provider di servizi Internet. ASNs 

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.networkname') as networkName,
    sum(
        cast(
            json_extract_scalar(
                internetHealth,
                '$.performance.percentageoftotaltrafficimpacted'
            )
        as double ) 
    ) as percentageOfTotalTrafficImpacted
FROM internet_measurements
GROUP BY json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.networkname')
ORDER BY percentageOfTotalTrafficImpacted desc
limit 10
```

**Esamina i punti salienti del traffico relativi alle sedi dei tuoi clienti e ASNs **

Esegui questa query Athena per restituire i dati salienti del traffico, tra cui il punteggio di disponibilità, il punteggio delle prestazioni e il time-to-first byte per le reti cittadine, ovvero le ubicazioni dei clienti e, in genere, i provider di servizi Internet. ASNs

```
SELECT json_extract_scalar(clientLocation, '$.city') as city,
    json_extract_scalar(clientLocation, '$.subdivision') as subdivision,
    json_extract_scalar(clientLocation, '$.country') as country,
    avg(cast(json_extract_scalar(internetHealth, '$.availability.experiencescore') as double)) as availabilityScore,
    avg(cast(json_extract_scalar(internetHealth, '$.performance.experiencescore') as double)) performanceScore,
    avg(cast(json_extract_scalar(trafficinsights, '$.timetofirstbyte.currentexperience.value') as double)) as averageTTFB,
    sum(bytesIn) as bytesIn,
    sum(bytesOut) as bytesOut,
    sum(bytesIn + bytesOut) as totalBytes
FROM internet_measurements
where json_extract_scalar(clientLocation, '$.city') != 'N/A'
GROUP BY 
json_extract_scalar(clientLocation, '$.city'),
    json_extract_scalar(clientLocation, '$.subdivision'),
    json_extract_scalar(clientLocation, '$.country')
ORDER BY totalBytes desc
limit 100
```

Per ulteriori informazioni sull'utilizzo di Athena, consulta la [Guida per l'utente di Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/).

# Utilizzo dell'interfaccia di interrogazione di Monitor Internet
<a name="CloudWatch-IM-view-cw-tools-cwim-query"></a>

*Un'opzione per comprendere meglio il traffico Internet dell' AWS applicazione consiste nell'utilizzare l'interfaccia di interrogazione di Internet Monitor.* Per utilizzare l'interfaccia di interrogazione, crei una query con filtri di dati a tua scelta, quindi esegui la query per restituire un sottoinsieme dei dati di Monitor Internet. L'esplorazione dei dati restituiti dalla query può fornire informazioni sulle prestazioni dell'applicazione su Internet.

È possibile interrogare ed esplorare tutti i parametri acquisiti da Monitor Internet con il monitor, tra cui i punteggi di disponibilità e prestazioni, i byte trasferiti, i tempi di andata e ritorno e il time to first byte (TTFB). 

Monitor Internet utilizza l'interfaccia di interrogazione per fornire i dati che è possibile esplorare nel pannello di controllo della console di Monitor Internet. Utilizzando le opzioni di ricerca nel pannello di controllo, nella pagina **Analizza** o **Ottimizza**, puoi interrogare e filtrare i dati Internet per l'applicazione.

Se desideri una maggiore flessibilità per esplorare e filtrare i tuoi dati rispetto a quella fornita dalla dashboard, puoi utilizzare tu stesso l'interfaccia di interrogazione, utilizzando le operazioni dell'API Internet Monitor con AWS Command Line Interface o con un AWS SDK. Questa sezione presenta i tipi di query che puoi utilizzare con l'interfaccia di interrogazione e i filtri che puoi specificare per creare un sottoinsieme di dati al fine di ottenere approfondimenti sul traffico Internet per la tua applicazione.

**Topics**
+ [Come utilizzare l'interfaccia di interrogazione](#CloudWatch-IM-view-cw-tools-cwim-query-use-query)
+ [Esempi di query](#CloudWatch-IM-view-cw-tools-cwim-query-example-queries)
+ [Ottenimento dei risultati della query](#CloudWatch-IM-view-cw-tools-cwim-query-get-data)
+ [Risoluzione dei problemi](#CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting)

## Come utilizzare l'interfaccia di interrogazione
<a name="CloudWatch-IM-view-cw-tools-cwim-query-use-query"></a>

Per creare una query con l'interfaccia di interrogazione, è possibile scegliere un *tipo di query* e quindi specificare i valori di filtro per restituire uno specifico sottoinsieme desiderato dei dati del file di log. È quindi possibile lavorare con il sottoinsieme di dati, filtrarlo e ordinarlo ulteriormente, creare report e così via.

Il processo di query avviene in questo modo:

1. Quando si esegue una query, Monitor Internet restituisce un `query ID` univoco per la query. Questa sezione descrive i tipi di query disponibili e le opzioni per filtrare i dati nelle query. Per capire come funziona, puoi anche consultare la sezione sugli [esempi di query](#IMQueryInterfaceExamples). 

1. Specificate l'ID della query con il nome del monitor con l'operazione [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html)API per restituire i risultati dei dati per la query. Ogni tipo di query restituisce un set diverso di campi di dati. Per ulteriori informazioni, consulta la sezione [Ottenimento dei risultati della query](#IMGetQueryData).

L'interfaccia di interrogazione fornisce i seguenti tipi di query. Ogni tipo di query restituisce un diverso set di informazioni sul traffico proveniente dai file di log, come illustrato.
+ **Misurazioni:** fornisce il punteggio di disponibilità, il punteggio delle prestazioni, il traffico totale e i tempi di andata e ritorno a intervalli di cinque minuti.
+ **Posizioni principali:** fornisce il punteggio di disponibilità, il punteggio delle prestazioni, il traffico totale e le informazioni TTFB per le migliori combinazioni di posizione e rete che stai monitorando, in base al volume di traffico.
+ **Dettagli sulle sedi principali:** fornisce TTFB per Amazon CloudFront, la tua configurazione attuale e la configurazione Amazon EC2 con le migliori prestazioni, a intervalli di 1 ora.
+ **Suggerimenti generali sul traffico:** fornisce TTFB, utilizzando una media ponderata di 30 giorni, per tutto il traffico in ogni località monitorata. AWS 
+ **Dettagli complessivi sui suggerimenti sul traffico:** fornisce TTFB, utilizzando una media ponderata di 30 giorni, per ogni località principale, per una località proposta. AWS 
+ **Suggerimenti di routing:** fornisce il tempo medio di andata e ritorno (RTT) previsto da un prefisso IP verso una posizione per un resolver DNS. AWS L'RTT viene calcolato a intervalli di un'ora, su un periodo di un'ora.

È possibile filtrare ulteriormente i dati mediante l'utilizzo di criteri specifici. Con la maggior parte dei tipi di query, ad eccezione dei suggerimenti di routing, è possibile filtrare specificando uno o più dei seguenti criteri:
+ **AWS posizione:** per la AWS posizione, è possibile specificare o, ad esempio. CloudFront Regione AWS`us-east-2`
+ **ASN:** specifica l'Autonomous System Number (ASN) di un resolver DNS (generalmente un ISP), ad esempio 4225.
+ **Posizione del client:** per l'ubicazione, specifica una città, un'area metropolitana, una regione o un paese.
+ ** AWS Ubicazione proposta:** specificare una Regione AWS, ad esempio`us-east-2`, o una zona AWS locale. Puoi utilizzare questo filtro con il tipo di query relativo ai dettagli dei suggerimenti sul traffico complessivo.
+ **Geo:** specifica `geo` per alcune query. È necessario per le query che utilizzano il tipo di query `Top locations`, ma non è consentito per altri tipi di query. Per capire quando specificare `geo` per i parametri del filtro, consulta la sezione sugli [esempi di query](#IMQueryInterfaceExamples).

Per il tipo di query dei suggerimenti di routing, puoi filtrare ulteriormente i dati specificando uno o più dei seguenti criteri:
+ ** AWS Ubicazione corrente:** Specificare un Regione AWS, ad esempio`us-east-2`.
+ ** AWS Ubicazione proposta:** specificare una Regione AWS, ad esempio`us-east-2`, o una zona AWS locale.
+ **IPv4 prefisso:** Specificare un IPv4 prefisso nel formato standard, simile a. `192.0.2.0/24`
+ **ARN del monitor:** specifica l'ARN per un monitor specifico.
+ **IP del resolver DNS:** specifica l'indirizzo IP di un resolver DNS.
+ **ISP del resolver DNS:** specifica il nome di un resolver DNS (generalmente un ISP), ad esempio `Cloudflare`.
+ **ASN del resolver DNS:** specifica l'Autonomous System Number (ASN) di un resolver DNS, ad esempio 4225.

Gli operatori che è possibile utilizzare per filtrare i dati sono `EQUALS` e `NOT_EQUALS`. Per i dettagli sui parametri di filtraggio, consulta il funzionamento dell'[FilterParameter](https://docs.aws.amazon.com/internet-monitor/latest/api/API_FilterParameter.html)API.

Per informazioni dettagliate sulle operazioni dell'interfaccia di interrogazione, consulta le seguenti operazioni API nella Guida di riferimento alle API di Monitor Internet:
+ Per creare ed eseguire una query, consulta il funzionamento dell'[StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html)API. 
+ Per interrompere una query, consulta l'operazione [StopQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StopQuery.html)API. 
+ Per restituire i dati per una query che hai creato, consulta il funzionamento dell'[GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html)API. 
+ Per recuperare lo stato di una query, consulta l'operazione [GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html)API. 

## Esempi di query
<a name="CloudWatch-IM-view-cw-tools-cwim-query-example-queries"></a>

Per creare una query da utilizzare per recuperare un set di dati filtrato dal file di registro del monitor, si utilizza l'[StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html)operazione API. È possibile specificare un tipo di query e i parametri di filtro per la query. Quindi, quando si utilizza l'operazione API dell'interfaccia di interrogazione di Monitor Internet per ottenere i risultati delle query utilizzando la query, verrà recuperato il sottoinsieme di dati con cui si desidera lavorare. 

Per comprendere come funzionano i tipi di query e i parametri di filtro, vediamo alcuni esempi.

**Esempio 1**

Supponiamo che tu voglia recuperare tutti i dati del file di log del monitor per un paese specifico, ad eccezione di una città. L'esempio seguente mostra i parametri di filtro per una query che è possibile creare con l'operazione `StartQuery` per questo scenario.

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "MEASUREMENTS"
   FilterParameters: [
      {
       Field: "country",
       Operator: "EQUALS",
       Values: ["Germany"]
      },
      {
       Field: "city",
       Operator: "NOT_EQUALS",
       Values: ["Berlin"]
      },
    ]
}
```

**Esempio 2**

Come altro esempio, supponiamo che tu voglia visualizzare le posizioni principali per area metropolitana. È possibile utilizzare la seguente query di esempio per questo scenario.

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATIONS"
   FilterParameters: [
      {
       Field: "geo",
       Operator: "EQUALS",
       Values: ["metro"]
      },
    ]
}
```

**Esempio 3**

Supponiamo ora che tu voglia vedere le migliori combinazioni di rete urbana nell'area metropolitana di Los Angeles. Per fare ciò, specifica `geo=city` e quindi imposta `metro` su Los Angeles. Ora, la query restituisce le principali reti urbane dell'area metropolitana di Los Angeles anziché le principali reti metropolitane in generale.

Ecco la query di esempio che puoi usare:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATIONS"
   FilterParameters: [
      {
       Field: "geo",
       Operator: "EQUALS",
       Values: ["city"]
      },
      {
       Field: "metro",
       Operator: "EQUALS",
       Values: ["Los Angeles"]
      }
    ]
}
```

**Esempio 4**

Supponiamo anche che tu voglia recuperare i dati TTFB per una regione specifica (ad esempio, uno stato degli Stati Uniti).

Di seguito è riportato un esempio di query per questo scenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "TOP_LOCATION_DETAILS"
   FilterParameters: [
      {
       Field: "subdivision",
       Operator: "EQUALS",
       Values: ["California"]
      },
    ]
}
```

**Esempio 5**

Supponiamo ora che tu voglia recuperare i dati TTFB per ogni posizione in cui l'applicazione presenta traffico del client.

Di seguito è riportato un esempio di query per questo scenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "OVERALL_TRAFFIC_SUGGESTIONS"
   FilterParameters: []
}

Results:
[us-east-1, 40, us-west-2, 30],
[us-east-1, 40, us-west-1, 35],
[us-east-1, 40, us-east-1, 44],
[us-east-1, 40, CloudFront, 22],
...
[us-east-2, 44, us-west-2, 30],
[us-east-2, 44, us-west-1, 35],
...
```

**Esempio 6**

Supponiamo che tu voglia recuperare i dati TTFB per un nuovo prodotto specifico. Regione AWS

Di seguito è riportato un esempio di query per questo scenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "OVERALL_TRAFFIC_SUGGESTIONS_DETAILS"
   FilterParameters: [
      {
       Field: "proposed_aws_location",
       Operator: "EQUALS",
       Values: ["us-west-2"]
      },
   ]
}

Results:
[San Jose, San Jose-Santa Clara, California, United States, 7922, us-east-1, 40, 350, 350, us-west-2, 45]
[San Jose, San Jose-Santa Clara, California, United States, 7922, us-west-1, 35, 450, 450, us-west-2, 45]
```

**Esempio 7**

Un ultimo esempio consiste nel recuperare i dati per resolver DNS specifici.

Di seguito è riportato un esempio di query per questo scenario:

```
{
   MonitorName: "TestMonitor"
   StartTime: "2023-07-12T20:00:00Z"
   EndTime: "2023-07-12T21:00:00Z"
   QueryType: "ROUTING_SUGGESTIONS"
   FilterParameters: [
      {
       Field: "proposed_aws_location",
       Operator: "EQUALS",
       Values: ["us-east-1"]
      },
   ]
}

Results:
[162.158.180.245, 13335, Cloudflare, [5.4.0.0/14], us-east-2, 200.0, us-east-1, 160.0]
[162.158.180.243, 13313, Cloudflare, [5.4.0.0/10], us-east-2, 150.0, us-east-1, 125.0]
```

## Ottenimento dei risultati della query
<a name="CloudWatch-IM-view-cw-tools-cwim-query-get-data"></a>

Dopo aver definito una query, è possibile restituire una serie di risultati con la query eseguendo un'altra operazione dell'API Internet Monitor, [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html). Quando esegui `GetQueryResults`, specifichi l'ID della query per la query che hai definito, insieme al nome del monitor. `GetQueryResults` recupera i dati per la query specificata in un set di risultati.

Quando esegui una query, assicurati che l'esecuzione sia terminata prima di utilizzare `GetQueryResults` per rivedere i risultati. È possibile determinare se la query è stata completata utilizzando l'operazione [GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html)API. Quando il valore `Status` della query è `SUCCEEDED`, puoi procedere con la revisione dei risultati.

Una volta completata la query, è possibile utilizzare le informazioni seguenti per facilitare la revisione dei risultati. Ogni tipo di query utilizzato per creare una query include un set univoco di campi di dati dei file di log, come descritto nell'elenco seguente: 

**Misurazioni**  
Il tipo di query `measurements` restituisce i seguenti dati:  
`timestamp, availability, performance, bytes_in, bytes_out, rtt_p50, rtt_p90, rtt_p95`

**Posizioni migliori**  
Il tipo di query `top locations` raggruppa i dati per posizione e fornisce la media dei dati nel periodo di tempo. I dati restituiti includono quanto segue:  
`aws_location, city, metro, subdivision, country, asn, availability, performance, bytes_in, bytes_out, current_fbl, best_ec2, best_ec2_region, best_cf_fbl`  
Tieni presente che `city`, `metro` e `subdivision` vengono restituiti solo se scegli quel tipo di posizione per il campo `geo`. Vengono restituiti i seguenti campi di posizione, a seconda del tipo di posizione specificato per `geo`:  

```
city = city, metro, subdivision, country
metro = metro, subdivision, country
subdivision = subdivision, country
country = country
```

**Dettagli sulle posizioni migliori**  
Il tipo di query `top locations details` restituisce i dati raggruppati ora per ora. La query restituisce i seguenti dati:  
`timestamp, current_service, current_fbl, best_ec2_fbl, best_ec2_region, best_cf_fbl`

**Suggerimenti sul traffico in generale**  
Il tipo di query `overall traffic suggestions` restituisce i dati raggruppati ora per ora. La query restituisce i seguenti dati:  
`current_aws_location, proposed_aws_location, average_fbl, traffic, optimized_traffic_excluding_cf, optimized_traffic_including_cf`

**Dettagli sui suggerimenti sul traffico in generale**  
Il tipo di query `overall traffic suggestions details` restituisce i dati raggruppati ora per ora. La query restituisce i seguenti dati:  
`aws_location, city, metro, subdivision, country, asn, traffic, current_aws_location, fbl_data`

**Suggerimenti sul routing**  
Il tipo di query `routing suggestions` restituisce i dati raggruppati ora per ora. La query restituisce i seguenti dati:  
`dns_resolver_ip, dns_resolver_asn, dns_resolver_isp, ipv4_prefixes, current_aws_location, current_latency, proposed_aws_location, proposed_latency`

Quando si esegue l'operazione API `GetQueryResults`, Monitor Internet restituisce quanto segue nella risposta:
+ Un *array di stringhe di dati* che contiene i risultati restituiti dalla query. Le informazioni vengono restituite in array allineati con il campo `Fields`, anch'essi restituiti dalla chiamata API. Utilizzando il campo `Fields`, è possibile analizzare le informazioni dal repository `Data` e quindi filtrarle o ordinarle ulteriormente per i propri scopi.
+ Un *array di campi* che elenca i campi per i quali la query ha restituito i dati (nella risposta del campo `Data`). Ogni elemento dell'array è una coppia nome-tipo di dati, ad esempio `availability_score`-`float`. 

## Risoluzione dei problemi
<a name="CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting"></a>

Se vengono restituiti errori quando utilizzi le operazioni API dell'interfaccia di interrogazione, verifica di disporre delle autorizzazioni necessarie per utilizzare Monitor Internet. In particolare, accertati di disporre delle seguenti autorizzazioni:

```
internetmonitor:StartQuery
internetmonitor:GetQueryStatus
internetmonitor:GetQueryResults
internetmonitor:StopQuery
```

Queste autorizzazioni sono incluse nella AWS Identity and Access Management politica consigliata per l'utilizzo della dashboard di Internet Monitor nella console. Per ulteriori informazioni, consulta [AWS politiche gestite per Internet Monitor](CloudWatch-IM-permissions.md).