RabbitMQ

L'integrazione RabbitMQ raccoglie metriche dei messaggi, come il numero di messaggi consegnati, pubblicati e eliminati. L'integrazione raccoglie anche i log di RabbitMQ e li analizza in un payload JSON. Il risultato include ID processo, livello e messaggio.

Per ulteriori informazioni su RabbitMQ, consulta rabbitmq.com/.

Prerequisiti

Per raccogliere e importare log e metriche RabbitMQ, devi installare l'agente operativo versione 2.12.0 o successiva.

Questo ricevitore supporta le versioni 3.8 e 3.9 di RabbitMQ.

Devi attivare il plug-in di gestione RabbitMQ seguendo le istruzioni iniziative.

Devi configurare un utente con il tag monitoring.

Configurazione dell'agente operativo per RabbitMQ

Segui la guida per configurare l'agente operativo, aggiungi gli elementi obbligatori per raccogliere metriche dalle tue istanze RabbitMQ e riavvia l'agente.

Configurazione di esempio

Il comando seguente crea il file di configurazione per raccogliere e importare metriche per RabbitMQ e riavvia l'agente operativo su Linux.

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    rabbitmq:
      type: rabbitmq
  service:
    pipelines:
      rabbitmq:
        receivers:
        - rabbitmq
metrics:
  receivers:
    rabbitmq:
      type: rabbitmq
      password: pwd
      username: usr
  service:
    pipelines:
      rabbitmq:
        receivers:
          - rabbitmq
EOF
sudo service google-cloud-ops-agent restart

Per connetterti all'istanza RabbitMQ con una connessione TCP con un nome utente e una password, specifica il nome utente e la password nel ricevitore delle metriche. Ad esempio:

metrics:
  receivers:
    rabbitmq:
      type: rabbitmq
      password: pwd
      username: usr
      insecure: false
      insecure_skip_verify: false
      cert_file: /path/to/cert
      ca_file: /path/to/ca
  service:
    pipelines:
      rabbitmq:
        receivers:
          - rabbitmq

Configura la raccolta dei log

Per importare i log da RabbitMQ, devi creare destinatari per i log prodotti da RabbitMQ e quindi creare una pipeline per i nuovi destinatari. Per configurare un ricevitore per i log rabbitmq, specifica i seguenti campi:

Campo predefinita Descrizione
type Questo valore deve essere rabbitmq.
include_paths [/var/log/rabbitmq/rabbit*.log] Un elenco di percorsi di filesystem da leggere mettendo in coda ogni file. Nei percorsi è possibile utilizzare un carattere jolly (*), ad esempio /var/log/rabbitmq/*.log.
exclude_paths [] Un elenco di pattern di file system da escludere dall'insieme corrispondente da include_paths.
wildcard_refresh_interval 60s L'intervallo a cui vengono aggiornati i percorsi dei file con caratteri jolly in include_paths. È indicato come durata, ad esempio 30s o 2m. Questa proprietà potrebbe essere utile in presenza di velocità effettiva di logging elevate, in cui i file di log vengono ruotati più rapidamente rispetto all'intervallo predefinito.

Che cosa viene registrato

I logName dei log rabbitmq sono ricavati dagli ID destinatario specificati nella configurazione. Di seguito sono riportati i campi dettagliati all'interno di LogEntry.

Campo Tipo Descrizione
jsonPayload.process_id string L'ID del processo che emette il log.
jsonPayload.message string Messaggio di log.
severity stringa (LogSeverity) Livello di voce di log (tradotto).
timestamp stringa (Timestamp) L'ora in cui la voce è stata registrata.

Configurazione della raccolta di metriche

Per raccogliere metriche da RabbitMQ, devi creare un ricevitore per le metriche RabbitMQ e quindi creare una pipeline per il nuovo destinatario. Per configurare un ricevitore per le metriche RabbitMQ, specifica i seguenti campi:

Campo predefinita Descrizione
type Questo valore deve essere rabbitmq.
endpoint http://localhost:15672 L'URL del nodo da monitorare.
collection_interval 60s Un valore time.Duration, ad esempio 30s o 5m.
username Il nome utente utilizzato per la connessione al server.
password La password utilizzata per la connessione al server.
insecure true Consente di stabilire se utilizzare o meno una connessione TLS sicura. Se questo criterio viene impostato su false, TLS viene attivato.
insecure_skip_verify Consente di scegliere se saltare o meno la verifica del certificato. Se insecure è impostato su true, il valore di insecure_skip_verify non viene utilizzato.
cert_file Percorso del certificato TLS da utilizzare per le connessioni TLS richieste.
key_file Percorso della chiave TLS da utilizzare per le connessioni TLS richieste.
ca_file Percorso del certificato CA. In qualità di client, verifica il certificato del server. Se vuoto, il destinatario utilizza la CA radice del sistema.

Che cosa viene monitorato

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

Tipo di metrica
Tipo, tipo
Risorse monitorate
Etichette
workload.googleapis.com/rabbitmq.consumer.count
GAUGE, INT64
gce_instance
 
workload.googleapis.com/rabbitmq.message.current
GAUGE, INT64
gce_instance
state

Dashboard di esempio

Puoi visualizzare le metriche di questa integrazione utilizzando una dashboard di Cloud Monitoring di esempio. Completa le procedure Installazione di dashboard di esempio per importare la dashboard Panoramica di RabbitMQ GCE dalla libreria di esempio e visualizza i grafici che mostrano le metriche RabbitMQ.

Verificare la configurazione

Puoi utilizzare Esplora log e Esplora metriche per verificare di aver configurato correttamente il ricevitore RabbitMQ. L'avvio della raccolta di log e metriche da parte dell'agente operativo potrebbe richiedere uno o due minuti.

Per verificare l'importazione dei log, vai a Esplora log ed esegui la query seguente per visualizzare i log di RabbitMQ:

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

Per verificare l'importazione delle metriche, accedi a Metrics Explorer ed esegui la query seguente nella scheda MQL.

fetch gce_instance
| metric 'workload.googleapis.com/rabbitmq.message.delivered'
| align rate(1m)
| every 1m

Passaggi successivi

Per una panoramica su come utilizzare Ansible per installare l'agente operativo, configurare un'applicazione di terze parti e installare una dashboard di esempio, guarda il video dedicato a l'agente operativo per risolvere i problemi delle applicazioni di terze parti.