L'integrazione di Apache CouchDB raccoglie metriche relative al traffico, come il numero di richieste a un nodo e le risposte dal nodo. Raccoglie inoltre metriche del database, ad esempio quante sono aperte e il numero di operazioni. L'integrazione raccoglie i log generali di CouchDB e di accesso e li analizza in un payload JSON. Il risultato include campi per utente, host, livello e messaggio.
Per ulteriori informazioni su CouchDB, consulta la documentazione di Apache CouchDB.
Prerequisiti
Per raccogliere la telemetria di CouchDB, devi installare l'agente operativo:
- Per le metriche, installa la versione 2.10.0 o successiva.
- Per i log, installa la versione 2.11.0 o successiva.
Questa integrazione supporta CouchDB 2.3.x e 3.1 e versioni successive.
Configurare l'agente Ops per CouchDB
Dopo la guida per la configurazione dell'agente operativo, aggiungi gli elementi richiesti per raccogliere la telemetria dalle istanze CouchDB e riavvia l'agente.
Esempio di configurazione
Il comando seguente crea la configurazione per raccogliere e importare la telemetria relativa a CouchDB e riavvia l'agente Ops.
Configura raccolta log
Per importare i log da CouchDB, devi creare i ricevitori per i log prodotti da CouchDB e quindi creare una pipeline per i nuovi ricevitori.
Per configurare un ricevitore per i log di couchdb
, specifica i campi seguenti:
Campo | Impostazione predefinita | Descrizione |
---|---|---|
exclude_paths |
Un elenco di pattern del percorso del file system da escludere dal set che corrisponde a include_paths . |
|
include_paths |
[/var/log/couchdb/couchdb.log] |
Un elenco di percorsi di file system da leggere accodando ogni file. Nei percorsi è possibile utilizzare un carattere jolly (* ), ad esempio /var/log/couchdb*/*.log . |
record_log_file_path |
false |
Se è impostato su true , il percorso del file specifico da cui è stato ottenuto il record viene visualizzato nella voce di log di output come valore dell'etichetta agent.googleapis.com/log_file_path . Quando utilizzi un carattere jolly, viene registrato solo il percorso del file da cui è stato ottenuto il record. |
type |
Il valore deve essere couchdb . |
|
wildcard_refresh_interval |
60s |
L'intervallo di aggiornamento dei percorsi dei file con caratteri jolly in include_paths . Specificato come durata, ad esempio 30s o 2m . Questa proprietà potrebbe essere utile con velocità effettiva di logging elevate in cui i file di log vengono ruotati più velocemente dell'intervallo predefinito. Deve essere un multiplo di 1. |
Che cosa viene registrato
logName
viene ricavato dagli ID ricevitore specificati nella configurazione. Di seguito sono riportati i campi dettagliati all'interno di LogEntry
.
I log couchdb
contengono i seguenti campi in LogEntry
:
Campo | Tipo | Descrizione |
---|---|---|
httpRequest |
oggetto | Leggi HTTPRequest |
jsonPayload.host |
string | Nome istanza host |
jsonPayload.level |
string | Livello voce di log |
jsonPayload.message |
string | Messaggio di log |
jsonPayload.node |
string | Nome istanza nodo |
jsonPayload.path |
string | Percorso richiesta |
jsonPayload.pid |
string | ID processo |
jsonPayload.remote_user |
string | Nome utente autenticato per la richiesta |
jsonPayload.status_message |
string | Messaggio codice di stato |
severity |
stringa (LogSeverity ) |
Livello voce di log (tradotto). |
Le voci di log non contengono campi vuoti o mancanti.
Configurazione della raccolta di metriche
Per importare metriche da CouchDB, devi creare ricevitori per le metriche generate da CouchDB e quindi creare una pipeline per i nuovi ricevitori.
Per configurare un ricevitore per le metriche couchdb
, specifica i seguenti campi:
Campo | Impostazione predefinita | Descrizione |
---|---|---|
collection_interval |
60s |
Un valore time.Duration, come 30s o 5m . |
password |
La password utilizzata per connettersi al server. | |
server_status_url |
http://localhost:5984 |
L'URL esposto da CouchDB. |
type |
Il valore deve essere couchdb . |
|
username |
Il nome utente utilizzato per la connessione al server. |
Che cosa viene monitorato
La tabella seguente fornisce l'elenco delle metriche raccolte dall'agente operativo dall'istanza di CouchDB.
Tipo di metrica | |
---|---|
Tipo, Tipo Risorse monitorate |
Etichette |
workload.googleapis.com/couchdb.average_request_time
|
|
GAUGE , DOUBLE gce_instance |
|
workload.googleapis.com/couchdb.database.open
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/couchdb.database.operations
|
|
CUMULATIVE , INT64 gce_instance |
operation
|
workload.googleapis.com/couchdb.file_descriptor.open
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/couchdb.httpd.bulk_requests
|
|
CUMULATIVE , INT64 gce_instance |
|
workload.googleapis.com/couchdb.httpd.requests
|
|
CUMULATIVE , INT64 gce_instance |
http_method
|
workload.googleapis.com/couchdb.httpd.responses
|
|
CUMULATIVE , INT64 gce_instance |
http_status_code
|
workload.googleapis.com/couchdb.httpd.views
|
|
CUMULATIVE , INT64 gce_instance |
view
|
Dashboard di esempio
Per visualizzare le metriche di CouchDB, devi avere configurato un grafico o una dashboard. Cloud Monitoring fornisce 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 CouchDB. L'agente operativo potrebbe impiegare uno o due minuti per iniziare a raccogliere la telemetria.
Per verificare che i log siano importati, vai a Esplora log ed esegui la query seguente per visualizzare i log di CouchDB:
resource.type="gce_instance"
log_id("couchdb")
Per verificare che le metriche siano importate, vai a Metrics Explorer ed esegui la seguente query nella scheda MQL:
fetch gce_instance
| metric 'workload.googleapis.com/couchdb.database.open'
| every 1m
Passaggi successivi
Per una procedura dettagliata su come utilizzare Ansible per installare l'agente Ops, configurare un'applicazione di terze parti e installare una dashboard di esempio, guarda il video Installare l'agente Ops per risolvere i problemi delle applicazioni di terze parti.