WildFly 통합은 WildFly 로그를 수집하고 이를 JSON 페이로드로 파싱합니다. 결과에는 소스, 메시지 코드, 수준, 메시지가 포함됩니다.
WildFly에 대한 자세한 내용은 wildfly.org/를 참조하세요.
기본 요건
WildFly 로그를 수집하고 처리하려면 작업 에이전트 버전 2.12.0 이상을 설치해야 합니다.
이 수신자는 WildFly 버전 25.x 및 26.x를 지원합니다.
WildFly 인스턴스 구성
JMX 엔드포인트를 원격으로 노출하려면 jboss.bind.address.management
시스템 속성을 설정해야 합니다. 기본적으로 이 속성은 WildFly's 구성에 설정됩니다. 기본 WildFly 설치에는 JMX가 127.0.0.1:9990
에서 로컬로 노출되는 JMX 인증이 필요하지 않습니다.
세션 측정항목을 수집하기 위해서는 JBoss CLI를 사용해서 다음 명령어를 실행하여 undertow 서브시스템에서 통계를 사용 설정해야 합니다.
/subsystem=undertow:write-attribute(name=statistics-enabled,value=true)
WildFly용 작업 에이전트 구성
작업 에이전트 구성 가이드에 따라 WildFly 인스턴스에서 로그를 수집하는 데 필요한 요소를 추가하고 에이전트를 다시 시작합니다.
구성 예시
다음 명령어는 WildFly에서 로그를 수집 및 처리하고 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
로그 수집 구성
WildFly에서 로그를 수집하려면 WildFly로 생성되는 로그의 수신자를 만든 후 새 수신자의 파이프라인을 만들어야 합니다. wildfly_system
로그의 수신자를 구성하려면 다음 필드를 지정합니다.
필드 | 기본값 | 설명 |
---|---|---|
type |
값은 wildfly_system 여야 합니다. |
|
include_paths |
[/opt/wildfly/standalone/log/server.log, /opt/wildfly/domain/servers/*/log/server.log] |
각 파일을 테일링하여 읽을 파일 시스템 경로의 목록입니다. 와일드 카드(* )를 경로에 사용할 수 있습니다(예: /var/log/wildfly*/*.log ). |
exclude_paths |
include_paths 중에서 일치하는 집합에서 제외할 파일 시스템 경로 패턴의 목록입니다. |
|
wildcard_refresh_interval |
60s |
include_paths 의 와일드 카드 파일 경로가 새로 고쳐지는 간격입니다. 기간(예: 30s 또는 2m )으로 지정됩니다. 이 속성은 로그 파일이 기본 간격보다 빠르게 순환되는 높은 로깅 처리량에서 유용할 수 있습니다. 1의 배수여야 합니다. |
로깅되는 내용
wildfly_system
로그의 logName
은 구성에 지정된 수신자 ID에서 파생됩니다. LogEntry
내의 자세한 필드는 다음과 같습니다.
필드 | 유형 | 설명 |
---|---|---|
timestamp |
문자열(Timestamp ) |
요청이 수신된 시간입니다. |
jsonPayload.thread |
문자열 | 로그가 시작된 스레드입니다. |
jsonPayload.source |
문자열 | 로그가 시작된 소스입니다. |
jsonPayload.messageCode |
문자열 | 로그 앞에 있는 Wildfly 관련 메시지 코드입니다(해당하는 경우). |
jsonPayload.message |
문자열 | 로그 메시지입니다. |
severity |
문자열(LogSeverity ) |
로그 항목 수준입니다(번역됨). |
로그 항목에는 비어 있거나 누락된 필드가 포함되지 않습니다.
측정항목 수집 구성
WildFly에서 측정항목을 수집하려면 WildFly 측정항목의 수신자를 만든 후 새 수신자의 파이프라인을 만들어야 합니다. WildFly 측정항목의 수신자를 구성하려면 다음 필드를 지정합니다.
필드 | 기본값 | 설명 |
---|---|---|
type |
값은 wildfly 여야 합니다. |
|
endpoint |
service:jmx:remote+http://localhost:9990 |
서비스 URL을 구성하는 데 사용되는 JMX 서비스 URL 또는 호스트 및 포트입니다. 이 값은 service:jmx:remote+http://<host>:<port>/jmxrmi 의 서비스 URL을 만들기 위해 사용되는 host:port 형식이어야 합니다. |
username |
JMX가 인증을 요구하도록 구성된 경우 구성된 사용자 이름입니다. | |
password |
JMX가 인증을 요구하도록 구성된 경우 구성된 비밀번호입니다. | |
collection_interval |
60s |
time.Duration 값(예: 30s 또는 5m )입니다. |
additional_jars |
/opt/wildfly/bin/client/jboss-client.jar |
JMX를 통해 WildFly를 모니터링하는 데 필요한 jboss-client.jar 파일의 경로입니다. |
모니터링 대상
다음 표에서는 작업 에이전트가 WildFly 인스턴스에서 수집하는 측정항목의 목록을 보여줍니다.
측정항목 유형 | |
---|---|
종류, 유형 모니터링 리소스 |
라벨 |
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
|
샘플 대시보드
샘플 Cloud Monitoring 대시보드를 사용하여 이 통합의 측정항목을 확인할 수 있습니다. 샘플 대시보드 설치 절차를 완료하여 샘플 라이브러리에서 WildFly GCE 개요 대시보드를 가져오고 WildFly 측정항목을 표시하는 차트를 확인하세요.구성 확인
로그 탐색기와 측정항목 탐색기를 사용하여 WildFly 수신자를 올바르게 구성했는지 확인할 수 있습니다. 작업 에이전트가 로그 및 측정항목 수집을 시작하려면 1~2분 정도 걸릴 수 있습니다.
로그가 수집되었는지 확인하려면 로그 탐색기로 이동하고 다음 쿼리를 실행하여 WildFly 로그를 봅니다.
resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/wildfly_system")
측정항목이 수집되었는지 확인하려면 측정항목 탐색기로 이동하고 MQL 탭에서 다음 쿼리를 실행합니다.
fetch gce_instance
| metric 'workload.googleapis.com/wildfly.request.count'
| align rate(1m)
| every 1m