IIS

L'integrazione di Internet Information Services raccoglie dati di telemetria dai server web IIS. Le metriche forniscono informazioni sulla connessione e anche dati sui byte trasferiti. L'integrazione raccoglie anche le informazioni dai log di accesso.

Per ulteriori informazioni su IIS, consulta la documentazione di Internet Information Services.

Prima di iniziare

La versione 2.15.0 dell'agente operativo introduce il supporto per un nuovo set di metriche IIS che utilizza il prefisso workload.googleapis.com/. Devi configurare l'agente per raccogliere queste metriche, come descritto nella sezione Configurazione di esempio.

L'agente operativo ha sempre supportato un insieme limitato di metriche IIS; queste metriche utilizzano il prefisso agent.googleapis.com/iis/. Per raccogliere queste metriche sulle VM Windows non è necessaria alcuna configurazione aggiuntiva.

Questo documento fa riferimento alle metriche con prefisso agent come metriche v1 e alle metriche con prefisso workload come metriche v2. Per tabelle di queste metriche, consulta l'articolo Che cosa viene monitorato.

A partire dall'agente operativo versione 2.15.0, puoi configurare l'agente per raccogliere metriche v1, metriche v2 o entrambe.

Prerequisiti

Per raccogliere la telemetria IIS, devi installare l'agente operativo:

  • Per le metriche v1, installa la versione 1.0.0 o successiva.
  • Per le metriche v2, installa la versione 2.15.0 o successiva
  • Per i log, installa la versione 2.14.0 o successiva.

Questa integrazione supporta IIS 8.5 e 10.0.

Configurare l'agente operativo per IIS

Segui la guida per configurare l'agente operativo, aggiungere gli elementi richiesti per raccogliere la telemetria dalle istanze IIS e riavviare l'agente.

Esempio di configurazione

Il comando seguente crea la configurazione per raccogliere e importare la telemetria per IIS e riavvia l'agente operativo.

# This config gets merged with the built-in Ops Agent config, which already
# includes the v1 receiver in the default pipeline.
# Because the v2 receiver here uses a unique ID, it does not overwrite
# the default receiver and so both receivers will be active simultaneously
# during the test.

Add-Content 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' "
metrics:
  receivers:
    iis_v2:
      type: iis
      receiver_version: 2
  service:
    pipelines:
      iispipeline:
        receivers:
          - iis_v2
logging:
  receivers:
    iis_access:
      type: iis_access
  service:
    pipelines:
      iis:
        receivers:
        - iis_access
"

Stop-Service google-cloud-ops-agent -Force
Start-Service google-cloud-ops-agent* 

Questo ricevitore supporta solo il formato di logging W3C predefinito.

Configura la raccolta dei log

Per importare i log degli accessi da IIS, devi creare i ricevitori per i log e quindi creare una pipeline per i nuovi ricevitori.

Per configurare un ricevitore per i log iis_access, specifica i seguenti campi:

Campo predefinita Descrizione
exclude_paths [] Un elenco di pattern di percorsi del file system da escludere dal set corrispondente a include_paths.
include_paths ['C:\inetpub\logs\LogFiles\W3SVC1\u_ex*'] Un elenco di percorsi di file system da leggere aggiungendo una coda a ciascun file. È possibile utilizzare un carattere jolly (*) nei percorsi, ad esempio C:\inetpub\logs\LogFiles\W3SVC1\u_ex*.
type Il valore deve essere iis_access.
wildcard_refresh_interval 60s L'intervallo con cui vengono aggiornati i percorsi dei file con caratteri jolly in include_paths. Specificato come intervallo di tempo analizzabile da time.ParseDuration, ad esempio 30 o 2 m. Questa proprietà potrebbe essere utile con velocità effettiva di logging elevate in cui i file di log vengono ruotati più rapidamente dell'intervallo predefinito.

Cosa viene registrato

Il logName viene ricavato dagli ID destinatario specificati nella configurazione. I campi dettagliati all'interno della LogEntry sono i seguenti.

I log iis_access contengono i seguenti campi in LogEntry:

Campo Tipo Descrizione
httpRequest.referer string Contenuti dell'intestazione Referer
httpRequest.remoteIp string IP del client che ha effettuato la richiesta
httpRequest.requestMethod string Metodo HTTP
httpRequest.requestUrl string URL della richiesta (in genere solo la parte dell'URL del percorso)
httpRequest.serverIp string L'IP e la porta del server richiesti
httpRequest.status number Codice di stato HTTP
httpRequest.userAgent string Contenuti dell'intestazione User-Agent
jsonPayload.sc_substatus number Il codice di errore dello stato secondario
jsonPayload.sc_win32_status number Il codice di stato di Windows
jsonPayload.time_taken number Il periodo di tempo, espresso in millisecondi, che ha intrapreso l'azione.
jsonPayload.user string Nome utente autenticato per la richiesta
timestamp stringa (Timestamp) L'ora in cui è stata ricevuta la richiesta

Configura la raccolta delle metriche v1

L'agente operativo su una VM Microsoft Windows raccoglie automaticamente le metriche IIS v1. Non è richiesta alcuna configurazione aggiuntiva. Per informazioni sulla raccolta solo delle metriche v2, consulta Configurare la raccolta delle metriche v2.

Dopo aver configurato una nuova istanza IIS, questo potrebbe non registrare alcuna metrica immediatamente. Se utilizzi la console di Gestione server installata su Windows Server, potresti notare che lo stato del server è Online - Contatori prestazioni non avviati nella colonna Gestione.

Un modo per consentire a IIS di generare metriche è fare clic con il pulsante destro del mouse sul server IIS nella console di Gestione server e selezionare Avvia contatori del rendimento. Il tuo server deve iniziare a inviare metriche all'agente operativo.

Configura la raccolta delle metriche v2

Per importare metriche v2 da IIS, devi creare destinatari per le metriche che IIS produce e poi creare una pipeline per i nuovi destinatari.

Per configurare un ricevitore per le metriche iis, specifica i seguenti campi:

Campo predefinita Descrizione
collection_interval Anni '60 Un valore Time.Duration, ad esempio 30s o 5m.
receiver_version Versione delle metriche raccolte; utilizza 2 per raccogliere le metriche v2.
type Questo valore deve essere iis.

Per impostazione predefinita, le metriche v1 vengono raccolte automaticamente. Puoi ampliare le metriche v1 raccogliendo anche le metriche v2, oppure puoi sostituire le metriche v1 per raccogliere solo le metriche v2.

  • Per raccogliere solo le metriche v2, segui questi passaggi:

    • Assegna al destinatario il nome iis.
    • Imposta il campo type su iis.
    • Imposta il campo receiver_version su 2.
    • Utilizza questo ricevitore nella tua pipeline default_pipeline. Questa configurazione sostituisce la configurazione integrata del ricevitore iis.
  • Per raccogliere le metriche v1 e v2, procedi nel seguente modo:

    • Assegna al destinatario un nome diverso da iis, ad esempio iis_v2.
    • Imposta il campo type su iis.
    • Imposta receiver_version su 2.
    • Usa questo ricevitore nella nuova pipeline. Questa configurazione aggiunge un ricevitore v2 anziché sostituire il ricevitore integrato. Lo script in Configurazione di esempio utilizza questo approccio.

Che cosa viene monitorato

A partire dalla versione 2.15.0, l'agente operativo può raccogliere due diversi set di metriche:

  • Le metriche v1: agent.googleapis.com/iis/.
  • Le metriche v2: workload.googleapis.com/.
Metriche V1

La seguente tabella fornisce l'elenco delle metriche v1 che l'agente operativo raccoglie dall'istanza IIS.

Le stringhe "un tipo di metrica" in questa tabella devono essere precedute dal carattere agent.googleapis.com/iis/. Il prefisso è stato omesso dalle voci nella tabella.

Tipo di metrica Fase di lancio
Nome visualizzazione
Tipo, Tipo, Unità
Risorse monitorate
Descrizione
Etichette
current_connections GA
Connessioni aperte IIS
GAUGE, DOUBLE, 1
aws_ec2_instance, gce_instance
Connessioni attualmente aperte a IIS. Campionato ogni 60 secondi.
network/transferred_bytes_count GA
byte trasferiti da IIS
CUMULATIVE, INT64, By
aws_ec2_instance, gce_instance
byte di rete trasferiti da IIS. Campionato ogni 60 secondi.
direction: Indicazioni stradali (inviate, ricevute)
new_connection_count GA
Connessioni IIS
CUMULATIVE, INT64, 1
aws_ec2_instance, gce_instance
Connessioni aperte a IIS. Campionato ogni 60 secondi.
request_count GA
Richieste IIS
CUMULATIVEINT641
aws_ec2_instance, gce_instance
Richieste inviate a IIS. Campionato ogni 60 secondi.
http_method: Metodo HTTP (post, put, get, delete, opzione, trace, head)

Tabella generata alle 13:49:31 UTC del 26/05/2022.

Metriche V2

La seguente tabella fornisce l'elenco delle metriche v2 che l'agente operativo raccoglie dall'istanza IIS.

Tipo di metrica
Tipo, Tipo
Risorse monitorate
Etichette
workload.googleapis.com/iis.request.count
CUMULATIVEINT64
gce_instance
request
workload.googleapis.com/iis.request.rejected
CUMULATIVE, INT64
gce_instance
 
workload.googleapis.com/iis.request.queue.count
GAUGE, INT64
gce_instance
 
workload.googleapis.com/iis.request.queue.age.max
GAUGE, INT64
gce_instance
 
workload.googleapis.com/iis.network.file.count
CUMULATIVEINT64
gce_instance
direction
workload.googleapis.com/iis.network.blocked
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.network.io
CUMULATIVEINT64
gce_instance
direction
workload.googleapis.com/iis.connection.attempt.count
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/iis.connection.active
GAUGE, INT64
gce_instance
 
workload.googleapis.com/iis.connection.anonymous
CUMULATIVE, INT64
gce_instance
 
workload.googleapis.com/iis.thread.active
GAUGEINT64
gce_instance
 
workload.googleapis.com/iis.uptime
GAUGE, INT64
gce_instance
 

Dashboard di esempio

Per visualizzare le metriche IIS, devi avere configurato un grafico o una dashboard. Cloud Monitoring offre una libreria di dashboard di esempio per le integrazioni, che contengono grafici preconfigurati. Per informazioni sull'installazione di queste dashboard, vedi Installare dashboard di esempio.

Verificare la configurazione

In questa sezione viene descritto come verificare la corretta configurazione del ricevitore IIS. L'agente operativo potrebbe impiegare uno o due minuti per iniziare a raccogliere i dati di telemetria.

Per verificare che i log siano importati, vai a Esplora log ed esegui la query seguente per visualizzare i log IIS:

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/iis_access")

Per verificare che le metriche siano importate, vai a Metrics Explorer ed esegui una delle seguenti query nella scheda MQL.

  • Per le metriche v1:

    fetch gce_instance
    | metric 'agent.googleapis.com/iis/request_count'
    | every 1m
    
  • Per le metriche v2:

    fetch gce_instance
    | metric 'workload.googleapis.com/iis.request.count'
    | every 1m
    

Passaggi successivi

Per una procedura dettagliata su come utilizzare Ansible per installare l'agente operativo, configurare un'applicazione di terze parti e installare una dashboard di esempio, guarda il video Installare l'agente operativo per la risoluzione dei problemi relativi alle applicazioni di terze parti.