WildFly

A integração do WildFly coleta registros do WildFly e os analisa em um payload JSON. O resultado inclui origem, código, nível e mensagem da mensagem.

Para mais informações sobre o WildFly, consulte wildfly.org/.

Pré-requisitos

Para coletar e ingerir registros do WildFly, é necessário instalar o agente de operações versão 2.12.0 ou mais recente.

Esse receptor suporta as versões 25.x e 26.x do WildFly.

Configurar sua instância do WildFly

Para expor o endpoint JMX remotamente, defina a propriedade do sistema jboss.bind.address.management. Por padrão, essa propriedade é definida na configuração do WildFly. A instalação padrão do WildFly não exige autenticação JMX com o JMX exposto localmente em 127.0.0.1:9990.

Para coletar métricas da sessão, é necessário ativar as estatísticas no subsistema executado com o seguinte comando na CLI do JBoss:

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

Configure o agente de operações para o WildFly

Seguindo o guia para Configurar o agente de operações, adicione os elementos necessários para coletar registros das instâncias do WildFly e reinicie o agente.

Exemplo de configuração

O comando a seguir cria o arquivo de configuração para coletar e ingerir registros do WildFly e reinicia o agente de operações no Linux.

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    wildfly_system:
      type: wildfly_system
  service:
    pipelines:
      wildfly_system:
        receivers:
          - wildfly_system
metrics:
  receivers:
    wildfly:
      type: wildfly
  service:
    pipelines:
      wildfly:
        receivers:
          - wildfly
EOF
sudo service google-cloud-ops-agent restart

Configurar a coleta de registros

Para ingerir registros do WildFly, é preciso criar receptores para os registros que o WildFly produz e criar um pipeline para os novos receptores. Para configurar um receptor para os registros wildfly_system, especifique os seguintes campos:

Campo Padrão Descrição
type O valor precisa ser wildfly_system.
include_paths [/opt/wildfly/standalone/log/server.log, /opt/wildfly/domain/servers/*/log/server.log] Uma lista de caminhos do sistema de arquivos a serem lidos acompanhando cada arquivo. Um caractere curinga (*) pode ser usado nos caminhos. por exemplo, /var/log/wildfly*/*.log.
exclude_paths Uma lista de padrões de caminho do sistema de arquivos a serem excluídos do conjunto correspondente a include_paths.
wildcard_refresh_interval 60s O intervalo em que os caminhos de arquivos curinga no include_paths são atualizados. Dado como uma duração de tempo, por exemplo, 30s ou 2m. Essa propriedade pode ser útil com capacidades de registro altas em que os arquivos de registro são alternados mais rapidamente do que o intervalo padrão. Precisa ser múltiplo de 1s.

O que é registrado

Os registros logName de wildfly_system são derivados dos IDs do receptor especificados na configuração. Os campos detalhados dentro de LogEntry são os seguintes.

Campo Tipo Descrição
timestamp string (Timestamp) Hora em que a solicitação foi recebida.
jsonPayload.thread string Linha de execução de origem do registro.
jsonPayload.source string Origem de origem do registro.
jsonPayload.messageCode string O código de mensagem específico do WildFly antes do registro, quando aplicável.
jsonPayload.message string Mensagem de registro.
severity string (LogSeverity) Nível de entrada de registro (traduzido).

As entradas de registro não contêm campos em branco ou ausentes.

Configurar a coleta de métricas

Para coletar métricas do WildFly, é preciso criar um receptor para as métricas do WildFly e, em seguida, criar um pipeline para o novo receptor. Para configurar um receptor para suas métricas do WildFly, especifique os campos a seguir:

Campo Padrão Descrição
type Este valor precisa ser wildfly.
endpoint service:jmx:remote+http://localhost:9990 O URL do serviço JMX ou o host e a porta usados para criar o URL do serviço. Esse valor precisa estar no formato host:port, que é usado para criar um URL de serviço de service:jmx:remote+http://<host>:<port>/jmxrmi.
username O nome de usuário configurado se o JMX estiver configurado para exigir autenticação.
password Senha configurada se o JMX estiver configurado para exigir autenticação.
collection_interval 60s Um valor de time.Duration, como 30s ou 5m.
additional_jars /opt/wildfly/bin/client/jboss-client.jar O caminho para o arquivo jboss-client.jar, que é necessário para monitorar o WildFly usando o JMX.

O que é monitorado?

A tabela a seguir fornece a lista de métricas que o agente de operações coleta da instância do WildFly.

Tipo de métrica 
Tipo, tipo
Recursos monitorados
Rótulos
workload.googleapis.com/wildfly.jdbc.connection.open
GAUGEINT64
gce_instance
state
data_source
workload.googleapis.com/wildfly.jdbc.request.wait
CUMULATIVEINT64
gce_instance
data_source
workload.googleapis.com/wildfly.jdbc.rollback.count
CUMULATIVEINT64
gce_instance
cause
workload.googleapis.com/wildfly.jdbc.transaction.count
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/wildfly.network.io
CUMULATIVEINT64
gce_instance
state
listener
server
workload.googleapis.com/wildfly.request.count
CUMULATIVEINT64
gce_instance
listener
server
workload.googleapis.com/wildfly.request.server_error
CUMULATIVEINT64
gce_instance
listener
server
workload.googleapis.com/wildfly.request.time
CUMULATIVEDOUBLE
gce_instance
listener
server

Amostra de painel

Para visualizar as métricas dessa integração, use um exemplo de painel do Cloud Monitoring. Conclua os procedimentos de Como instalar painéis de amostra para importar o painel Visão geral do GCE do WildFly da Biblioteca de amostras e ver os gráficos que exibem as métricas do WildFly.

Verificar a configuração

Use o Explorador de registros e o Metrics Explorer para verificar se você configurou corretamente o receptor do WildFly. Pode levar um ou dois minutos para o agente de operações começar a coletar registros e métricas.

Para verificar se os registros são ingeridos, acesse o Explorador de registros e execute a seguinte consulta para ver os registros do WildFly:

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/wildfly_system")

Para verificar se as métricas são ingeridas, acesse o Metrics Explorer e execute a seguinte consulta na guia MQL.

fetch gce_instance
| metric 'workload.googleapis.com/wildfly.request.count'
| align rate(1m)
| every 1m

A seguir

Para ver um tutorial sobre como usar o Ansible para instalar o agente de operações, configurar um aplicativo de terceiros e instalar um painel de amostra, consulte o vídeo Instalação do agente de operações para resolver problemas de aplicativos de terceiros.