Farfalla

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

L'integrazione di WildFly raccoglie i log di WildFly e li analizza in un payload JSON. Il risultato include origine, codice del messaggio, livello e messaggio.

Per ulteriori informazioni su WildFly, consulta la documentazione di WildFly.

Prerequisiti

Per raccogliere la telemetria di WildFly, devi installare l'agente Ops:

  • Per le metriche, installa la versione 2.12.0 o successive.
  • Per i log, installa la versione 2.11.0 o successive.

Questa integrazione supporta WildFly versioni 26.xe 25.x.

Configura la tua istanza di WildFly

Per esporre l'endpoint JMX da remoto, devi impostare la proprietà di sistema jboss.bind.address.management. Per impostazione predefinita, questa proprietà è impostata nella configurazione di WildFly. L'installazione predefinita di WildFly non richiede l'autenticazione JMX con JMX esposta localmente su 127.0.0.1:9990.

Per raccogliere le metriche della sessione, devi abilitare le statistiche sul sottosistema underw eseguindo il seguente comando utilizzando l'interfaccia a riga di comando JBoss:

/subsystem=undertow:write-attribute(name=statistics-enabled,value=true)

Configurare l'agente Ops per WildFly

Seguendo la guida per la configurazione dell'agente Ops, aggiungi gli elementi richiesti per raccogliere la telemetria dalle istanze WildFly e riavvia l'agente.

Configurazione di esempio

Il comando seguente crea la configurazione per raccogliere e importare la telemetria di WildFly 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:
    wildfly:
      type: wildfly
      endpoint: localhost:9990
  service:
    pipelines:
      wildfly:
        receivers:
          - wildfly

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

sudo service google-cloud-ops-agent restart

Configura raccolta di log

Per importare i log da WildFly, devi creare destinatari per i log generati da WildFly e quindi creare una pipeline per i nuovi ricevitori.

Per configurare un destinatario per i log wildfly_system, specifica i seguenti campi:

Campo Predefinito Descrizione
exclude_paths Un elenco di pattern di percorsi del file system da escludere dal set corrispondente da include_paths.
include_paths [/opt/wildfly/standalone/log/server.log, /opt/wildfly/domain/servers/*/log/server.log] Un elenco di percorsi del filesystem da leggere aggiungendo in coda ogni file. Nei percorsi è possibile utilizzare un carattere jolly (*), ad esempio /var/log/wildfly/.log.
record_log_file_path false Se è impostato su true, il percorso del file specifico da cui è stato ottenuto il record di log 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 wildfly_system.
wildcard_refresh_interval 60s L'intervallo con cui vengono aggiornati i percorsi dei file con caratteri jolly in include_paths. Specificato come durata temporale analizzabile da time.ParseDuration, ad esempio 30s o 2m. Questa proprietà potrebbe essere utile in velocità effettiva di logging elevata in cui i file di log vengono ruotati più velocemente dell'intervallo predefinito. Deve essere un multiplo di 1.

Cosa viene registrato

logName deriva dagli ID ricevitore specificati nella configurazione. I campi dettagliati all'interno di LogEntry sono i seguenti.

I log wildfly_system contengono i seguenti campi in LogEntry:

Campo Tipo Descrizione
jsonPayload.level string Livello voce di log
jsonPayload.message string Messaggio di log
jsonPayload.messageCode string Ove applicabile, il codice specifico del messaggio Wildfly che precede il log
jsonPayload.source string Origine da cui ha avuto origine il log
jsonPayload.thread string Thread da cui ha origine il log
severity stringa (LogSeverity) Livello delle voci di log (tradotto).

Configurazione della raccolta di metriche

Per importare metriche da WildFly, devi creare destinatari per le metriche generate da WildFly e quindi creare una pipeline per i nuovi destinatari.

Per configurare un destinatario per le metriche wildfly, specifica i seguenti campi:

Campo Predefinito Descrizione
additional_jars /opt/wildfly/bin/client/jboss-client.jar Il percorso del file jboss-client.jar, necessario per monitorare WildFly tramite JMX.
collection_interval 60s Un valore di durata del tempo, come 30s o 5m.
endpoint service:jmx:remote+http://localhost:9990 L'URL o l'host del servizio JMX utilizzato per creare l'URL del servizio. Questo valore deve essere nel formato host:port e viene utilizzato per creare un URL di servizio pari a service:jmx:remote+http://<host>:<port>/jmxrmi.
password La password configurata se JMX è configurata per richiedere l'autenticazione.
type Questo valore deve essere wildfly.
username Il nome utente configurato se JMX è configurato per richiedere l'autenticazione.

Che cosa viene monitorato

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

Tipo di metrica
Tipo, tipo
Risorse monitorate
Etichette
workload.googleapis.com/wildfly.jdbc.connection.open
GAUGEINT64
gce_instance
data_source
state
workload.googleapis.com/wildfly.jdbc.request.wait
CUMULATIVE, INT64
gce_instance
data_source
workload.googleapis.com/wildfly.jdbc.rollback.count
CUMULATIVE, INT64
gce_instance
cause
workload.googleapis.com/wildfly.jdbc.transaction.count
CUMULATIVE, INT64
gce_instance
 
workload.googleapis.com/wildfly.network.io
CUMULATIVEINT64
gce_instance
listener
server
state
workload.googleapis.com/wildfly.request.count
CUMULATIVEINT64
gce_instance
listener
server
workload.googleapis.com/wildfly.request.server_error
CUMULATIVE, INT64
gce_instance
listener
server
workload.googleapis.com/wildfly.request.time
CUMULATIVE, INT64
gce_instance
listener
server
workload.googleapis.com/wildfly.session.active
GAUGEINT64
gce_instance
deployment
workload.googleapis.com/wildfly.session.count
CUMULATIVE, INT64
gce_instance
deployment
workload.googleapis.com/wildfly.session.expired
CUMULATIVE, INT64
gce_instance
deployment
workload.googleapis.com/wildfly.session.rejected
CUMULATIVE, INT64
gce_instance
deployment

Dashboard di esempio

Per visualizzare le metriche di WildFly, devi configurare un grafico o una dashboard. Cloud Monitoring offre una libreria di dashboard di esempio per le integrazioni, che contengono grafici preconfigurati. Per informazioni sull'installazione di queste dashboard, consulta Installazione di dashboard di esempio.

Verificare la configurazione

Questa sezione descrive come verificare che tu abbia configurato correttamente il ricevitore WildFly. L'agente Ops potrebbe richiedere 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 WildFly:

resource.type="gce_instance"
log_id("wildfly_system")

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/wildfly.network.io'
| 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.