4.18. 브로커의 로깅 구성
AMQ Broker는 Log4j 2 로깅 유틸리티를 사용하여 메시지 로깅을 제공합니다. 브로커를 배포할 때 기본 Log4j 2 구성을 사용합니다. 기본 구성을 변경하려면 시크릿 또는 configMap에 새 Log4j 2 구성을 생성해야 합니다. secret 또는 configMap의 이름을 기본 브로커 CR(사용자 정의 리소스)에 추가한 후 Operator는 Operator가 각 Pod에 마운트하는 파일에 저장된 새 로깅 구성을 사용하도록 각 브로커를 구성합니다.
사전 요구 사항
- Log4j 2 구성 옵션에 대해 잘 알고 있습니다.
프로세스
AMQ Broker에서 사용할 log4j 2 구성이 포함된 파일을 준비합니다.
브로커가 사용하는 기본 Log4j 2 구성 파일은 각 브로커 Pod의
/home/jboss/amq-broker/etc/log4j2.properties파일에 있습니다. 기본 구성 파일의 내용을 시크릿 또는 configMap에 새 Log4j 2 구성을 생성하는 기준으로 사용할 수 있습니다. 기본 Log4j 2 구성 파일의 내용을 가져오려면 다음 단계를 완료합니다.OpenShift Container Platform 웹 콘솔 사용:
-
를 클릭합니다. - ex-aao-ss s Pod를 클릭합니다.
- 터미널 탭을 클릭합니다.
-
cat명령을 사용하여 브로커 포드에/home/jboss/amq-broker/etc/log4j2.properties파일의 내용을 표시하고 콘텐츠를 복사합니다. -
OpenShift Container Platform CLI가 설치된 로컬 파일에 콘텐츠를 붙여넣고 파일을
logging.properties로 저장합니다.
-
OpenShift 명령줄 인터페이스 사용:
배포에서 Pod 이름을 가져옵니다.
oc get pods -o wide NAME STATUS IP amq-broker-operator-54d996c Running 10.129.2.14 ex-aao-ss-0 Running 10.129.2.15
$ oc get pods -o wide NAME STATUS IP amq-broker-operator-54d996c Running 10.129.2.14 ex-aao-ss-0 Running 10.129.2.15Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc cp명령을 사용하여 Pod에서 로컬 디렉터리로 로그 구성 파일을 복사합니다.oc cp <pod name>:/home/jboss/amq-broker/etc/log4j2.properties logging.properties -c <name>-container
$ oc cp <pod name>:/home/jboss/amq-broker/etc/log4j2.properties logging.properties -c <name>-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서 <name> 부분은 컨테이너 이름의
-ss문자열 앞에 있는 접두사입니다. 예를 들면 다음과 같습니다.oc cp ex-aao-ss-0:/home/jboss/amq-broker/etc/log4j2.properties logging.properties -c ex-aao-container
$ oc cp ex-aao-ss-0:/home/jboss/amq-broker/etc/log4j2.properties logging.properties -c ex-aao-containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고파일에서 configMap 또는 보안을 생성할 때 configMap 또는 secret의 키는 파일 이름으로 기본 설정되고 값은 파일 콘텐츠로 설정됩니다.
logging.properties라는 파일에서 보안을 생성하면 새 로깅 구성에 필요한 키가 secret 또는 configMap에 삽입됩니다.
logging.properties파일을 편집하고 AMQ Broker에서 사용할 Log4j 2 구성을 생성합니다.예를 들어 기본 구성을 사용하면 AMQ Broker는 메시지를 콘솔에만 기록합니다. AMQ Broker가 디스크에 메시지를 기록하도록 구성을 업데이트할 수 있습니다.
업데이트된 Log4j 2 구성을 시크릿 또는 ConfigMap에 추가합니다.
브로커 배포를 위해 프로젝트에서 시크릿 또는 ConfigMap을 생성할 수 있는 권한이 있는 사용자로 OpenShift에 로그인합니다.
oc login -u <user> -p <password> --server=<host:port>
oc login -u <user> -p <password> --server=<host:port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 시크릿에 로그 설정을 구성하려면
oc create secret명령을 사용합니다. 예를 들면 다음과 같습니다.oc create secret generic newlog4j-logging-config --from-file=logging.properties
oc create secret generic newlog4j-logging-config --from-file=logging.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap에서 로그 설정을 구성하려면
oc create configmap명령을 사용합니다. 예를 들면 다음과 같습니다.oc create configmap newlog4j-logging-config --from-file=logging.properties
oc create configmap newlog4j-logging-config --from-file=logging.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Operator에 새 로깅 구성이 포함되어 있음을 인식할 수 있도록 configMap 또는 시크릿 이름의 접미사가
-logging-config여야 합니다.
브로커 배포의 CR(사용자 정의 리소스) 인스턴스에 시크릿 또는 ConfigMap을 추가합니다.
OpenShift 명령줄 인터페이스 사용:
브로커 배포를 위해 프로젝트에 CR을 배포할 수 있는 권한이 있는 사용자로 OpenShift에 로그인합니다.
oc login -u <user> -p <password> --server=<host:port>
oc login -u <user> -p <password> --server=<host:port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow CR을 편집합니다.
oc edit ActiveMQArtemis <CR instance name> -n <namespace>
oc edit ActiveMQArtemis <CR instance name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Container Platform 웹 콘솔 사용:
- 브로커 배포를 위해 프로젝트에 CR을 배포할 권한이 있는 사용자로 콘솔에 로그인합니다.
-
왼쪽 창에서
를 클릭합니다. - Red Hat Integration - AMQ Broker for RHEL 8 (Multiarch) Operator를 클릭합니다.
- AMQ Broker 탭을 클릭합니다.
- ActiveMQArtemis 인스턴스 이름을 클릭합니다.
YAML 탭을 클릭합니다.
콘솔에서 YAML 편집기가 열리고 CR 인스턴스를 구성할 수 있습니다.
Log4j 2 로깅 구성이 포함된 secret 또는 configMap을 CR에 추가합니다. 다음 예제에서는 CR에 추가된 보안 및 configMap을 보여줍니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- CR을 저장합니다.
각 브로커 Pod에서 Operator는 생성한 시크릿 또는 configMap에 로깅 구성이 포함된 logging.properties 파일을 마운트합니다. 또한 Operator는 기본 로그 구성 파일 대신 마운트된 로그 구성 파일을 사용하도록 각 브로커를 구성합니다.
configMap 또는 시크릿에서 로깅 구성을 업데이트하면 각 브로커는 업데이트된 로깅 구성을 자동으로 사용합니다.