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