Apache CouchDB

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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.

# Configures Ops Agent to collect telemetry from the app and restart Ops Agent.

set -e

# Create a back up of the existing file so existing configurations are not lost.
sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak

# Configure the Ops Agent.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
metrics:
  receivers:
    couchdb:
      type: couchdb
      username: admin
      password: otelp
  service:
    pipelines:
      couchdb:
        receivers:
          - couchdb

logging:
  receivers:
    couchdb:
      type: couchdb
  service:
    pipelines:
      couchdb:
        receivers:
          - couchdb
EOF

sudo service google-cloud-ops-agent restart
sleep 30

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
GAUGEINT64
gce_instance
 
workload.googleapis.com/couchdb.database.operations
CUMULATIVE, INT64
gce_instance
operation
workload.googleapis.com/couchdb.file_descriptor.open
GAUGEINT64
gce_instance
 
workload.googleapis.com/couchdb.httpd.bulk_requests
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/couchdb.httpd.requests
CUMULATIVE, INT64
gce_instance
http_method
workload.googleapis.com/couchdb.httpd.responses
CUMULATIVEINT64
gce_instance
http_status_code
workload.googleapis.com/couchdb.httpd.views
CUMULATIVEINT64
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.