L'integrazione Apache HBase raccoglie metriche relative ai cluster da master
e dai server di
area geografica. Le metriche del server di area geografica sono correlate all'archiviazione, nonché alla richiesta e alla latenza. L'integrazione raccoglie anche i log del server master
e dell'area geografica e li analizza in un payload JSON. Il risultato include campi per l'origine, il livello e il messaggio.
Per ulteriori informazioni su HBase, consulta hbase.apache.org/.
Prerequisiti
Per raccogliere e importare log e metriche HBase, devi installare l'agente operativo versione 2.11.0 o successiva.
Questo ricevitore supporta le versioni Apache HBase 1.7.x, 2.3.x e 2.4.x.
Configura la tua istanza di HBase
Per esporre un endpoint JMX, devi impostare la proprietà di sistema com.sun.management.jmxremote.port
all'avvio della JVM. Ti consigliamo inoltre di impostare la
proprietà del sistema com.sun.management.jmxremote.rmi.port
sulla stessa porta. Per
esporre un endpoint JMX da remoto, devi anche impostare la proprietà
di sistema java.rmi.server.hostname
.
Per impostazione predefinita, queste proprietà vengono impostate in un file hbase-env.sh
di deployment di HBase.
Per impostare le proprietà di sistema utilizzando argomenti della riga di comando, anteponi il nome della proprietà a -D
all'avvio di JVM. Ad esempio, per impostare
com.sun.management.jmxremote.port
sulla porta 10101
, specifica quanto segue all'avvio di
JVM:
-Dcom.sun.management.jmxremote.port=10101
Configurazione dell'agente operativo per HBase
Segui la guida per configurare l'agente operativo, aggiungi gli elementi necessari per raccogliere log e metriche dalle istanze HBase e riavvia l'agente.
Configurazione di esempio
Il comando seguente crea il file di configurazione per raccogliere e importare log e metriche per HBase e riavvia l'agente operativo su Linux.
sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
receivers:
hbase_system:
type: hbase_system
service:
pipelines:
hbase:
receivers:
- hbase_system
metrics:
receivers:
hbase:
type: hbase
service:
pipelines:
hbase:
receivers:
- hbase
EOF
sudo service google-cloud-ops-agent restart
Configura la raccolta dei log
Per importare i log da HBase, devi creare dei destinatari per i log prodotti da HBase, quindi creare una pipeline per i nuovi destinatari.
Per configurare un ricevitore per i log hbase_system
, specifica i seguenti campi:
Campo | predefinita | Descrizione |
---|---|---|
type |
Questo valore deve essere hbase_system . |
|
include_paths |
[/opt/hbase/logs/hbase-*-regionserver-*.log, /opt/hbase/logs/hbase-*-master-*.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/hbase*/*.log . |
collect_jvm_metrics |
true |
Consente di configurare il destinatario in modo che raccolga anche le metriche JVM supportate. |
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_path. Specificato come intervallo di tempo analizzabile da time.ParseDuration. Deve essere un multiplo di 1 s. |
Che cosa viene registrato
I logName
dei log hbase_system
sono ricavati dagli ID destinatario specificati nella configurazione. Di seguito sono riportati i campi dettagliati all'interno di LogEntry
.
Campo | Tipo | Descrizione |
---|---|---|
timestamp |
stringa (Timestamp ) |
Ora in cui è stata ricevuta la richiesta. |
jsonPayload.module |
string | Modulo di hbase da cui ha origine il log. |
jsonPayload.source |
string | L'origine del log. |
jsonPayload.message |
string | Messaggio di log, inclusa l'analisi dello stack dettagliata, se fornita. |
severity |
stringa (LogSeverity ) |
Livello di voce di log (tradotto). |
Configurazione della raccolta di metriche
Per raccogliere metriche da HBase, devi creare un ricevitore per le metriche HBase e quindi creare una pipeline per il nuovo destinatario. Per configurare un ricevitore per le metriche HBase, specifica i seguenti campi:
Campo | predefinita | Descrizione |
---|---|---|
type |
Questo valore deve essere hbase . |
|
endpoint |
localhost:10101 |
URL del servizio JMX oppure host e porta utilizzati per creare l'URL del servizio. Deve essere service:jmx:<protocol>:<sap> o host:port . I valori nel modulo host:port verranno utilizzati per creare un URL di servizio per service:jmx:rmi:///jndi/rmi://<host>:<port>/jmxrmi . |
collect_jvm_metrics |
true | Consente di configurare il destinatario in modo che raccolga anche le metriche JVM supportate. |
username |
Il nome utente configurato se JMX è configurato in modo da richiedere l'autenticazione. | |
password |
La password configurata se JMX è configurato per richiedere l'autenticazione. | |
collection_interval |
60s |
Un valore time.Duration, ad esempio 30s o 5m . |
Che cosa viene monitorato
La seguente tabella fornisce l'elenco delle metriche che l'agente operativo raccoglie dall'istanza HBase.
Tipo di metrica | |
---|---|
Tipo, tipo Risorse monitorate |
Etichette |
workload.googleapis.com/hbase.master.region_server.count
|
|
GAUGE , INT64 gce_instance |
state
|
workload.googleapis.com/hbase.master.regions_in_transition.count
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/hbase.master.regions_in_transition.oldest_age
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/hbase.master.regions_in_transition.over_threshold
|
|
GAUGE , INT64 gce_instance |
|
workload.googleapis.com/hbase.region_server.active_handler.count
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.authentication.count
|
|
GAUGE , INT64 gce_instance |
state
region_server
|
workload.googleapis.com/hbase.region_server.block_cache.operation.count
|
|
GAUGE , INT64 gce_instance |
state
region_server
|
workload.googleapis.com/hbase.region_server.blocked_update.time
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.disk.store_file.count
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.disk.store_file.size
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.files.local
|
|
GAUGE , DOUBLE gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.gc.old_gen.time
|
|
CUMULATIVE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.gc.time
|
|
CUMULATIVE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.gc.young_gen.time
|
|
CUMULATIVE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.open_connection.count
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.append.latency.max
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.append.latency.mean
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.append.latency.median
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.append.latency.min
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.append.latency.p99
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.delete.latency.max
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.delete.latency.mean
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.delete.latency.median
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.delete.latency.min
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.delete.latency.p99
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.get.latency.max
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.get.latency.mean
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.get.latency.median
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.get.latency.min
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.get.latency.p99
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.increment.latency.max
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.increment.latency.mean
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.increment.latency.median
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.increment.latency.min
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.increment.latency.p99
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.put.latency.max
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.put.latency.mean
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.put.latency.median
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.put.latency.min
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.put.latency.p99
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.replay.latency.max
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.replay.latency.mean
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.replay.latency.median
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.replay.latency.min
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operation.replay.latency.p99
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.operations.slow
|
|
GAUGE , INT64 gce_instance |
operation
region_server
|
workload.googleapis.com/hbase.region_server.queue.length
|
|
GAUGE , INT64 gce_instance |
state
region_server
|
workload.googleapis.com/hbase.region_server.queue.request.count
|
|
GAUGE , INT64 gce_instance |
state
region_server
|
workload.googleapis.com/hbase.region_server.region.count
|
|
GAUGE , INT64 gce_instance |
region_server
|
workload.googleapis.com/hbase.region_server.request.count
|
|
GAUGE , INT64 gce_instance |
state
region_server
|
workload.googleapis.com/hbase.region_server.write_ahead_log.count
|
|
GAUGE , INT64 gce_instance |
region_server
|
Verificare la configurazione
Puoi utilizzare Esplora log e Esplora metriche per verificare di aver configurato correttamente il ricevitore HBase. 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 HBase:
resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/hbase_system")
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/hbase.region_server.request.count'
| align rate(1m)
| every 1m