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
|
|
GAUGE , INT64 gce_instance |
state
data_source
|
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
|
|
CUMULATIVE , INT64 gce_instance |
state
listener
server
|
workload.googleapis.com/wildfly.request.count
|
|
CUMULATIVE , INT64 gce_instance |
listener
server
|
workload.googleapis.com/wildfly.request.server_error
|
|
CUMULATIVE , INT64 gce_instance |
listener
server
|
workload.googleapis.com/wildfly.request.time
|
|
CUMULATIVE , DOUBLE 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