Monitora i processi sulle VM

Per impostazione predefinita, Ops Agent e l'agente Monitoring legacy sono configurati Raccogliere metriche che acquisiscono informazioni sui processi in esecuzione macchine virtuali (VM) Compute Engine. Puoi anche raccogliere queste metriche sulle VM Amazon Elastic Compute Cloud (EC2) utilizzando l'agente Monitoring. Questo insieme di metriche, chiamate metriche di processo, è identificabile il prefisso agent.googleapis.com/processes. Queste metriche non vengono raccolti su Google Kubernetes Engine (GKE).

A partire dal 6 agosto 2021, verranno introdotti alcuni addebiti per questi come descritto in Metriche addebitabili. L'insieme di metriche di processo è classificato come addebitabile, ma gli addebiti hanno non sono mai stati implementati.

Questo documento descrive gli strumenti per visualizzare le metriche di processo, come determinare la quantità di dati che si importano da queste metriche e come ridurre al minimo i relativi addebiti.

Utilizzo delle metriche di processo

Puoi visualizzare i dati delle metriche di processo con i grafici creati utilizzando Metrics Explorer o dashboard personalizzate. Per ulteriori informazioni, vedi Utilizzo di dashboard e grafici. Inoltre, Cloud Monitoring include i dati delle metriche di processo in due dashboard predefinite:

  • Dashboard delle istanze VM in Monitoring
  • Dashboard dei dettagli delle istanze VM in Compute Engine

Nelle sezioni seguenti vengono descritte queste dashboard.

Monitoraggio: visualizza metriche di processo aggregate

Per visualizzare le metriche di processo aggregate all'interno di un ambito delle metriche, vai a Nella scheda Processi della dashboard Istanze VM:

  1. Nella console Google Cloud, vai alla pagina Dashboard :

    Vai a Dashboard

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.

  2. Seleziona la dashboard Istanze VM dall'elenco.

  3. Fai clic su Processi.

Il seguente screenshot mostra un esempio Pagina Processi:

La pagina **Processi** in Monitoring mostra i processi aggregati
metrics.

Puoi utilizzare i grafici nella scheda Processi per identificare i i processi nell'ambito delle metriche che consumano di CPU e memoria e che presentano l'utilizzo più elevato del disco.

Compute Engine: visualizza le metriche sulle prestazioni delle VM che consumano più risorse

Per visualizzare i grafici delle prestazioni che mostrano le cinque VM che utilizzano più di un risorsa del tuo progetto Google Cloud, vai alla scheda Observabilità le tue istanze VM:

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai a Istanze VM

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.

  2. Fai clic su Osservabilità.

Lo screenshot seguente mostra un esempio di Compute Engine Pagina Osservabilità.

La pagina **Observabilità** di Compute Engine mostra
ovvero le prime cinque VM
che consumano una determinata risorsa.

Per informazioni sull'utilizzo di queste metriche per diagnosticare problemi relativi a VM, consulta Risoluzione dei problemi di prestazioni delle VM.

Compute Engine: visualizza metriche di processo per VM

Per visualizzare un elenco dei processi in esecuzione su un singolo Compute Engine: macchina virtuale (VM) e grafici per i processi con la risorsa più elevata , vai alla scheda Osservabilità per la VM:

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai a Istanze VM

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.

  2. Nella scheda Istanze, fai clic sul nome di una VM da ispezionare.

  3. Fai clic su Osservabilità per visualizzare le metriche per questa VM.

  4. Nel riquadro di navigazione della scheda Osservabilità, seleziona Processi.

Lo screenshot seguente mostra un esempio di Compute Engine Pagina Processi:

La pagina **Processi** in Compute Engine mostra il processo per VM
metrics.

Le metriche di processo vengono conservate per un massimo di 24 ore, in modo da poterli utilizzare per cercare indietro nel tempo e attribuire le anomalie nel consumo di risorse a specifiche o di identificare i consumer delle risorse più costosi. Ad esempio, il grafico seguente mostra i processi che utilizzano con le più alte percentuali di risorse CPU. Puoi utilizzare il selettore dell'intervallo di tempo modificare l'intervallo di tempo del grafico. Il selettore dell'intervallo di tempo offre come l'ora più recente, nonché inserire un intervallo di tempo personalizzato.

Puoi utilizzare le metriche di processo per identificare i processi che utilizzano
la maggior parte di una risorsa.

La tabella Processi in esecuzione fornisce un elenco del consumo delle risorse in modo analogo all'output del comando Linux top. Per impostazione predefinita, la tabella mostra un'istantanea dei dati più recenti. Tuttavia, se selezioni un intervallo di tempo su un grafico che termina nel passato, la tabella mostra i processi in esecuzione alla fine di quell'intervallo.

Per informazioni sull'utilizzo di queste metriche per diagnosticare problemi relativi a VM, consulta Risoluzione dei problemi di prestazioni delle VM.

Metriche di processo raccolte dall'agente

Gli agenti Linux raccolgono tutte le metriche elencate nella tabella seguente. dai processi in esecuzione sulle VM di Compute Engine e, Agente Monitoring, Amazon Elastic Compute VM Cloud (EC2). Puoi disabilitare la raccolta di Ops Agent (versioni 2.0.0 e versioni successive) e dall'agente Monitoring legacy.

Puoi anche disattivare la raccolta di metriche di processo per Ops Agent (versioni 2.0.0 e successive) in esecuzione su VM Windows.

Per ulteriori informazioni, consulta la sezione Disattivare le metriche di processo.

Se vuoi disabilitare la raccolta di queste metriche su Windows, ti consigliamo di eseguire l'upgrade alla versione 2.0.0 di Ops Agent in alto. Per ulteriori informazioni, consulta la sezione Installazione di Ops Agent.

Tabella delle metriche di processo

Il "tipo di metrica" le stringhe in questa tabella devono essere precedute dal prefisso con agent.googleapis.com/processes/. Il prefisso è stato omesso dalle voci nella tabella. Quando esegui una query su un'etichetta, utilizza il prefisso metric.labels.; della ad esempio metric.labels.LABEL="VALUE".

Tipo di metrica Fase di lancio
Nome visualizzato
Tipo, Tipo, Unità
Risorse monitorate
Descrizione
Etichette
count_by_state GA
Processi
GAUGEDOUBLE1
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Conteggio dei processi in un determinato stato. Solo per Linux. Campionamento eseguito ogni 60 secondi.
state: Correre, dormire, zombie ecc.
cpu_time GA
CPU di processo
CUMULATIVEINT64us{CPU}
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Tempo CPU del processo specificato. Campionamento eseguito ogni 60 secondi.
process: Nome del processo.
user_or_syst: Indica se un processo utente o di sistema.
command: Elabora il comando.
command_line: Riga di comando del processo, massimo 1024 caratteri.
owner: Proprietario del processo.
pid: ID processo.
disk/read_bytes_count GA
Elabora I/O lettura disco
CUMULATIVEINT64By
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Elabora I/O di lettura del disco. Solo per Linux. Campionamento eseguito ogni 60 secondi.
process: Nome del processo.
command: Elabora il comando.
command_line: Riga di comando del processo, massimo 1024 caratteri.
owner: Proprietario del processo.
pid: ID processo.
disk/write_bytes_count GA
Elabora I/O su disco
CUMULATIVEINT64By
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Elabora I/O di scrittura su disco. Solo per Linux. Campionamento eseguito ogni 60 secondi.
process: Nome del processo.
command: Elabora il comando.
command_line: Riga di comando del processo, massimo 1024 caratteri.
owner: Proprietario del processo.
pid: ID processo.
fork_count GA
Numero di fork
CUMULATIVEINT641
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Numero totale di processi creati con fork. Solo per Linux. Campionamento eseguito ogni 60 secondi.
rss_usage GA
Memoria residente del processo
GAUGEDOUBLEBy
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Memoria utilizzata da parte dei residenti per il processo in questione. Solo per Linux. Campionamento eseguito ogni 60 secondi.
process: Nome del processo.
command: Elabora il comando.
command_line: Riga di comando del processo, massimo 1024 caratteri.
owner: Proprietario del processo.
pid: ID processo.
vm_usage GA
Elabora memoria virtuale
GAUGEDOUBLEBy
aws_ec2_instance
baremetalsolution.googleapis.com/Instance
gce_instance
Utilizzo VM del processo specificato. Campionamento eseguito ogni 60 secondi.
process: Nome del processo.
command: Elabora il comando.
command_line: Riga di comando del processo, massimo 1024 caratteri.
owner: Proprietario del processo.
pid: ID processo.

Tabella generata il 1° febbraio 2024 alle ore 18:05:28 UTC.

Determinazione dell'importazione attuale

Puoi utilizzare Metrics Explorer per vedere quanti dati stai attualmente importare le metriche di processo. Segui questa procedura:

  1. Nella console Google Cloud, vai alla Pagina Esplora metriche:

    Vai a Esplora metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.

  2. Nella barra degli strumenti della riquadro Query Builder, seleziona il pulsante con  MQL o  PromQL.

  3. Verifica che sia selezionato MQL con l'opzione Lingua. Il pulsante di attivazione/disattivazione della lingua si trova nella stessa barra degli strumenti. consente di formattare la query.

  4. Per vedere il numero totale di punti della metrica di processo per le risorse gce_instance e aws_ec2_instance, segui questi passaggi:

    1. Inserisci la seguente query:

      def tagged_process_metric name = metric 'agent.googleapis.com/processes/'$name
      | add [metric_suffix: $name];
      
      def process_metrics resource_type = fetch $resource_type
      | { @tagged_process_metric 'cpu_time'
        ; @tagged_process_metric 'disk/read_bytes_count'
        ; @tagged_process_metric 'disk/write_bytes_count'
        ; @tagged_process_metric 'rss_usage'
        ; @tagged_process_metric 'vm_usage'
        ; @tagged_process_metric 'count_by_state'
        ; @tagged_process_metric 'fork_count' }
      | within 1d
      | group_by [metric_suffix], 1m, [row_count: row_count()]
      | union;
      
      { @process_metrics 'gce_instance'
      ; @process_metrics 'aws_ec2_instance' }
      | outer_join 0, 0
      | { rename [], [out: val(0)] | add [resource_type: 'gce_instance']
        ; rename [], [out: val(1)] | add [resource_type: 'aws_ec2_instance'] }
      | union
      | group_by drop[metric_suffix], 1d, .sum
      
    2. Fai clic su Esegui query. Il grafico risultante mostra i valori per per ogni tipo di risorsa.

Stima del costo delle metriche

Gli esempi di prezzi di Monitoring illustrano come stimare il costo dell'importazione delle metriche. Questi esempi possono essere applicati alle metriche di processo.

  • Tutte le metriche dei processi vengono campionate ogni 60 secondi scrivere punti dati che vengono conteggiati come otto byte ai fini della determinazione del prezzo.

  • Il prezzo per le metriche di processo è impostato su 5% del volume standard utilizzato negli esempi di prezzi. Pertanto, se presupponi che tutte le negli scenari descritti in questi esempi sono metriche di processo, puoi utilizzare il 5% del costo totale per ogni scenario come stima del costo delle metriche di processo.

Disabilita la raccolta di metriche di processo

Esistono diversi modi per disattivare la raccolta di queste metriche da Ops Agent (versioni 2.0.0 e successive) e dall'agente Monitoring legacy su Linux.

Gli agenti vengono eseguiti solo su VM di Compute Engine e, per l'agente Monitoring, VM Amazon Elastic Compute Cloud (EC2); queste procedure si applicano solo su queste piattaforme.

Non puoi disabilitare la raccolta da Ops Agent se esegui versioni meno di 2.0.0 o dell'agente Monitoring legacy su Windows. Se vuoi disabilitare la raccolta di queste metriche su Windows, ti consigliamo di eseguire l'upgrade alla versione 2.0.0 di Ops Agent in alto. Per ulteriori informazioni, consulta la sezione Installazione di Ops Agent.

La procedura generale è simile alla seguente:

  1. Connettiti alla VM.

  2. Crea una copia del file di configurazione esistente come backup. Negozio la copia di backup esterna alla directory di configurazione dell'agente, quindi non tenta di caricare entrambi i file. Ad esempio, il seguente comando crea una copia del file di configurazione per l'agente Monitoring su Linux:

    cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
    
  3. Modificare la configurazione utilizzando una delle opzioni descritte in seguenti:

  4. Riavvia l'agente per acquisire la nuova configurazione:

    • Agente di monitoraggio: sudo service stackdriver-agent restart
    • Agente operativo: sudo service google-cloud-ops-agent restart
  5. Verifica che le metriche di processo non vengano più raccolte per questo VM:

    1. Seleziona Esplora metriche.

    2. Fai clic su MQL.

    3. Per una risorsa gce_instance, inserisci la seguente query, sostituendo VM_NAME con il nome di questa VM:

      fetch gce_instance
      | metric 'agent.googleapis.com/processes/cpu_time'
      | filter (metadata.system_labels.name == 'VM_NAME')
      | align rate(1m)
      | every 1m
      

      Per una risorsa aws_ec2_instance, sostituisci gce_instance nel query.

    4. Fai clic su Esegui query.

Ops Agent su Linux o Windows

La posizione del file di configurazione per Ops Agent dipende da Sistema operativo:

  • Per Linux: /etc/google-cloud-ops-agent/config.yaml
  • Per Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

Per disabilitare la raccolta di tutte le metriche di processo da parte di Ops Agent, aggiungi quanto segue al tuo file config.yaml:

metrics:
  processors:
    metrics_filter:
      type: exclude_metrics
      metrics_pattern:
      - agent.googleapis.com/processes/*

In questo modo le metriche di processo vengono escluse dalla raccolta in metrics_filter di elaborazione applicabile alla pipeline predefinita nel servizio metrics.

Per ulteriori informazioni sulle opzioni di configurazione per Ops Agent, consulta Configurazione di Ops Agent.

Agente di monitoraggio su Linux

Per disattivare la raccolta dei processi, hai a disposizione le seguenti opzioni con l'agente Monitoring legacy:

Le seguenti sezioni descrivono ciascuna opzione ed elencano i vantaggi e i rischi associati a quell'opzione.

Modifica il file di configurazione dell'agente

Con questa opzione, puoi modificare direttamente il file di configurazione principale dell'agente, /etc/stackdriver/collectd.conf, per rimuovere le sezioni che consentono la raccolta di metriche di processo.

Procedura

Devi effettuare tre gruppi di eliminazioni File collectd.conf:

  1. Elimina la seguente istruzione e configurazione del plug-in LoadPlugin:

    LoadPlugin processes
    
    <Plugin "processes">
      ProcessMatch "all" ".*"
      Detail "ps_cputime"
      Detail "ps_disk_octets"
      Detail "ps_rss"
      Detail "ps_vm"
    </Plugin>
    
  2. Elimina la seguente istruzione PostCacheChain e la relativa configurazione della catena PostCache:

    PostCacheChain "PostCache"
    
    <Chain "PostCache">
      <Rule "processes">
        <Match "regex">
          Plugin "^processes$"
          Type "^(ps_cputime|disk_octets|ps_rss|ps_vm)$"
        </Match>
        <Target "jump">
          Chain "MaybeThrottleProcesses"
        </Target>
        Target "stop"
      </Rule>
    
      <Rule "otherwise">
        <Match "throttle_metadata_keys">
          OKToThrottle false
          HighWaterMark 5700000000  # 950M * 6
          LowWaterMark 4800000000  # 800M * 6
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
  3. Elimina la catena MaybeThrottleProcesses utilizzata dalla catena PostCache:

    <Chain "MaybeThrottleProcesses">
      <Rule "default">
        <Match "throttle_metadata_keys">
          OKToThrottle true
          TrackedMetadata "processes:pid"
          TrackedMetadata "processes:command"
          TrackedMetadata "processes:command_line"
          TrackedMetadata "processes:owner"
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
Vantaggi e rischi
  • Vantaggi
    • Riduci le risorse utilizzate dall'agente perché le metriche sono mai raccolti.
    • Se hai apportato altre modifiche al file collectd.conf, potresti riuscire a conservare facilmente le modifiche.
  • Rischi
    • Per modificare questo file di configurazione, devi utilizzare l'account root.
    • Rischio di introdurre errori tipografici nel file.

Sostituisci il file di configurazione dell'agente

Con questa opzione, sostituisci il file di configurazione principale dell'agente con una versione premodificata in cui sono state rimosse automaticamente le sezioni pertinenti.

Procedura
  1. Scarica il file premodificato, collectd-no-process-metrics.conf, dal repository GitHub alla directory /tmp, quindi esegui la seguenti:

    cd /tmp && curl -sSO https://raw.githubusercontent.com/Stackdriver/agent-packaging/master/collectd-no-process-metrics.conf
    
  2. Sostituisci il file collectd.conf esistente con il file precedentemente modificato:

    cp /tmp/collectd-no-process-metrics.conf /etc/stackdriver/collectd.conf
    
Vantaggi e rischi
  • Vantaggi
    • Riduci le risorse utilizzate dall'agente perché le metriche sono mai raccolti.
    • Non è necessario modificare manualmente il file come root.
    • Gli strumenti di gestione della configurazione possono sostituire facilmente un file.
  • Rischi
    • Se hai apportato altre modifiche al file collectd.conf, devi unire queste modifiche nel file sostitutivo.

Risoluzione dei problemi

Le procedure descritte in questo documento sono modifiche alla configurazione dell'agente, quindi è più probabile che si verifichino i seguenti problemi:

  • Privilegio insufficiente per modificare i file di configurazione. Configurazione i file devono essere modificati dall'account root.
  • Introduzione di errori tipografici nel file di configurazione, se lo modifichi direttamente.

Per informazioni sulla risoluzione di altri problemi, consulta la sezione Risoluzione dei problemi relativi al Agente Monitoring.

Agente di monitoraggio su Windows

Non puoi disabilitare la raccolta di metriche di processo da parte dell'agente Monitoring legacy in esecuzione sulle VM Windows. Questo agente non è configurabile. Se vuoi disabilitare la raccolta di queste metriche su Windows, ti consigliamo di eseguire l'upgrade alla versione 2.0.0 di Ops Agent in alto. Per ulteriori informazioni, consulta la sezione Installazione di Ops Agent.

Se esegui Ops Agent, consulta Ops Agent su Linux o Windows.