로그 사용 문제 해결
배포 백업에서 발견된 OCI 로깅 및 로그를 사용하여 일반적인 문제를 해결하고 OCI GoldenGate 배포에서 진단을 수집하는 방법을 알아봅니다.
프로세스 및 오류 로그
OCI 로깅을 OCI GoldenGate와 통합하여 GoldenGate 프로세스 및 오류 로그를 사용, 관리 및 검색할 수 있습니다. 로깅 서비스와의 통합은 선택 사항입니다.
-
오류 로그: GoldenGate에서 생성된 처리 이벤트, 메시지, 오류 및 경고를 기록하는
ggserr.log파일의 콘텐츠를 포함합니다. -
프로세스 로그: 관리 서비스, 배포 서비스, 성과 측정 단위 서비스, 수신기 서비스 및 추출/복제 이벤트에 대한 여러 로그 파일의 콘텐츠를 포함합니다.
OCI 로깅 사용을 시작하기 전에 다음을 수행합니다.
-
OCI 로깅 서비스에서 사용되는 기본 개념 및 용어를 익힙니다. OCI 로깅 설명서의 로깅 개요를 참조하십시오.
-
로그 그룹 및 로그 콘텐츠에 대한 액세스를 관리할 그룹을 생성합니다. OCI IAM 설명서에서 그룹 작업을 참조하십시오.
-
OCI GoldenGate에 대한 퍼블릭 로깅을 사용으로 설정하는 정책을 추가합니다.
참고: OCI GoldenGate에서 자동으로 생성되는 로그를 비롯하여 로그의 수명 주기를 관리합니다. 작업 및 작업 실행이 삭제될 때 로그가 삭제되지 않습니다. 관찰가능성 및 관리 가격에 대해 자세히 알아보십시오.
OCI GoldenGate에서 OCI 로깅을 사용할 정책 추가
서비스 로그를 사용으로 설정하려면 사용자에게 로그 그룹에 대한 관리 액세스 권한 및 리소스에 대한 액세스 권한을 부여해야 합니다. 로그 및 로그 그룹은 log-group 리소스 유형을 사용하지만 로그 내용을 검색하려면 log-content 리소스 유형을 사용해야 합니다. 다음 정책을 추가합니다.
allow group <group-name> to manage log-groups in compartment <compartment-name>
allow group <group-name> to manage log-content in compartment <compartment-name>
Oracle Cloud 콘솔을 사용하여 로깅 사용
-
배포 페이지에서 로깅을 사용으로 설정할 배포를 선택합니다.
-
배치 세부정보 페이지에서 모니터링을 선택합니다.
-
Monitoring 페이지에서 Logs로 이동합니다.
-
로그 테이블의 로그 중 하나의 작업 메뉴에서 로그 사용을 선택합니다.
-
로그 사용 패널의 컴파트먼트 드롭다운에서 컴파트먼트를 선택합니다.
-
로그 그룹에 대해 다음을 수행할 수 있습니다.
-
드롭다운에서 그룹을 선택하십시오.
-
새 그룹을 생성합니다
-
비워 두면 기본 그룹이 자동으로 지정됩니다.
-
-
로그 이름에 이름을 입력합니다.
-
Log retention의 경우 드롭다운에서 개월 수를 선택합니다.
-
로그 사용으로 설정을 선택합니다.
상태가 활성이 될 때까지 기다립니다. 활성화된 후에는 프로세스 및 오류 로그에 대해 진단 로그 기능이 설정됩니다. 프로세스 및 오류 로그는 기술적으로 '서비스 로그'이며 OCI GoldenGate와 같은 Oracle Cloud Infrastructure 네이티브 서비스에서 제공됩니다.
CLI를 사용하여 OCI 로깅 사용
-
로그 그룹을 생성합니다.
요청
oci --profile <profile_name> logging log-group create --compartment-id <compartment_ocid> --display-name <display_name>응답
{ "opc-work-request-id": "<log-workrequest-ocid>" } -
로그 그룹 ID 가져오기
요청
oci --profile <profile_name> logging work-request get --work-request-id <log-workrequest-ocid>응답
{ "data": { "compartment-id": "<compartment_ocid>", "id": "<log-workrequest-ocid>", "operation-type": "CREATE_LOG_GROUP", "percent-complete": 100.0, "resources": [ { "action-type": "CREATED", "entity-type": "loggroup", "entity-uri": "/logGroups/<log-group-ocid>", "identifier": "<log-group-ocid>" } ], " status": "SUCCEEDED", "time-accepted": "2023-05-09T05:57:09.641000+00:00", "time-finished": "2023-05-09T05:57:09.641000+00:00", "time-started": "2023-05-09T05:57:09.641000+00:00" } } -
로그 객체 생성/사용
요청
oci --profile <profile-name> logging log create --display-name <display-name> --log-group-id <log-group-ocid> --log-type SERVICE/CUSTOM --is-enabled true --configuration file://path_to_json_fileJSON 요청 페이로드
{ "compartment-id": "<compartment-ocid>", "source": { "resource": "<GoldenGate-deployment-ocid>", "service": "goldengate", "source-type": "OCISERVICE", "category": "error_logs/process_logs" } }응답
Response { "opc-work-request-id": "<log-workrequest-ocid>" } -
OCI 로깅 사용 안함
요청
oci --profile <profile_name> logging log update --is-enabled false --log-group-id <log-group-ocid> --log-id <log-ocid>응답
{ "opc-work-request-id": "<log-workrequest-ocid>" } -
OCI 로그 검색
요청
oci --profile <profile_name> logging-search search-logs --search-query "search "<compartment_ocid>/<log-group-ocid>/<log-ocid>"" --time-start '2023-05-09 09:54' --time-end '2023-05-09 09:55'응답
{ "data": { "fields": null, "results": [ { "data": { "datetime": 1683626095205, "logContent": { "data": { "level": "INFO", "message": "Executing command '{\n "name": "report",\n "reportType": "lag",\n "thresholds": [\n {\n "type": "info",\n "units": "seconds",\n "value": 0\n }\n ]\n}'", "processName": "adminsrvr", "resourceId": "<GoldenGate-deployment-ocid>" }, "id": "20230509095455.2051683626095", "oracle": { "compartmentid": "<compartment-ocid>", "ingestedtime": "2023-05-09T09:55:05.889Z", "loggroupid": "<log-group-ocid>", "logid": "<log-ocid>", "tenantid": "<tenant-ocid>" }, "source": "<GoldenGate-deployment-ocid>", "specversion": "1.0", "time": "2023-05-09T09:54:55.205Z", "type": "com.oraclecloud.goldengate.deployment.process_logs" } } } ], "summary": { "field-count": null, "result-count": 1 } } } -
로그 상태 가져오기
요청
oci --profile <profile_name> logging log get --log-group-id <log-group-ocid> --log-id <log-ocid>응답
{ "data": { "compartment-id": "<compartment-ocid>", "configuration": { "archiving": { "is-enabled": false }, "compartment-id": "<compartment-ocid>", "source": { "category": "process_logs", "parameters": {}, "resource": "<GoldenGate-deployment-ocid>", "service": "goldengate", "source-type": "OCISERVICE" } }, "defined-tags": { "Oracle-Tags": { "CreatedBy": "<creater_email_id>", "CreatedOn": "2023-05-09T06:24:30.279Z" } }, "display-name": "<display_name>", "freeform-tags": {}, "id": "<log-ocid>", "is-enabled": false, " lifecycle-state": "INACTIVE", "log-group-id": "<log-group-ocid>", "log-type": "SERVICE", "retention-duration": 30, "tenancy-id": "<tenancy-ocid>", "time-created": "2023-05-09T06:24:30.452000+00:00", "time-last-modified": "2023-05-09T06:30:17.345000+00:00" }, "etag": "cb5bb295-9954-4949-b33f-67d6da50f83f" } -
로그 삭제
요청
oci --profile <profile_name> logging log delete --log-group-id <log-group-ocid> --log-id <log-ocid>응답
{ "opc-work-request-id": "<log-workrequest-ocid>" } -
로그 그룹을 삭제합니다.
요청
oci --profile GGSTEST logging log-group delete --log-group-id <log-group-ocid>응답
{ "opc-work-request-id": "<log-workrequest-ocid>" }
OCI 로깅 서비스에서 OCI GoldenGate에 대한 로깅 사용
로그 그룹을 생성하고 아직 없는 경우 로깅 서비스에서 서비스 로그를 구성합니다.
-
탐색 메뉴를 열고 관찰 가능성 및 관리를 선택합니다. Logging Analytics에서 관리를 선택합니다.
-
관리 개요 페이지의 리소스에서 로그 그룹을 선택합니다.
-
작업 권한이 있는 컴파트먼트를 선택하고 로그 그룹 생성을 선택합니다.
Create Log Group(로그 그룹 만들기) 패널이 표시됩니다.
-
다음을 완료합니다.
-
구획: 로그 그룹을 생성할 구획입니다. 이 필드는 선택한 컴파트먼트에 따라 미리 채워집니다.
-
이름: 이 로그 그룹의 이름입니다. 로그 그룹 이름의 첫번째 문자는 문자여야 합니다. 자세한 내용은 Log and Log Group Names을 참조하십시오. 기밀 정보를 입력하지 마십시오.
-
설명: 친숙한 설명입니다.
-
(선택 사항) 태그 정보를 입력합니다.
-
-
생성을 선택합니다.
그러면 로그 그룹 세부 정보 페이지가 표시됩니다.
-
로그를 선택합니다.
-
서비스 로그 사용을 선택합니다.
-
리소스 선택에서 다음을 수행합니다.
-
리소스 컴파트먼트에서 리소스의 컴파트먼트를 선택합니다.
-
서비스의 경우 드롭다운에서 GoldenGate를 선택합니다.
-
리소스의 경우 드롭다운에서 배치를 선택합니다.
-
-
로그 구성에서 다음을 수행합니다.
-
로그 범주의 경우 드롭다운에서 값을 선택합니다.
-
로그 이름에 이름을 입력합니다.
-
-
고급 옵션 표시 및 로그 위치 아래에서 다음을 선택합니다.
-
컴파트먼트에서 로그를 저장할 컴파트먼트를 선택합니다.
-
로그 그룹의 경우 드롭다운에서 로그 그룹을 선택하거나 새 그룹을 생성합니다.
-
-
로그 보존의 경우 로그를 보존할 개월 수를 선택합니다.
-
로그 사용으로 설정을 선택합니다.
배치 백업 로그
OCI GoldenGate 배치를 Oracle Object Storage에 수동으로 백업한 다음 로컬에서 백업을 다운로드할 수 있습니다. 그런 다음 배치 로그를 찾아 건전성 문제를 해결할 수 있습니다.
수동 백업을 생성하는 방법은 배포 백업 관리를 참조하십시오.
수동 배치 백업에는 전체 GoldenGate 배치 디렉토리 구조와 로그 및 추적 파일을 포함한 파일이 포함됩니다. 문제 해결에 유용한 디렉토리 및 파일은 다음과 같습니다.
-
/etc: 구성
- /etc/ogg: 매개변수 파일
-
/var: 로그 파일, 체크포인트, 트레일 파일 등
-
/var/checkpt: 체크포인트
-
/var/data: 추적 파일
-
/var/report: 보고서 파일
-
/var/log: 로그 파일
-
ER 이벤트 로그
-
사이트맵
-
레스타피 로그
-
관리자 관리 로그
-
pmsrvr.log
-
distsrvr-stdout.log
-
recsrvr-stdout.log
-
distsrvr.log
-
재고 관리
-
추출 로그
-
복제본.로그
-
-
진단 수집
진단을 수집하여 OCI GoldenGate 배치에 대한 정보를 분석하거나 공유합니다. 문제가 발생하면 수집된 정보를 My Oracle Support와 공유할 수 있습니다.
주: 이 기능은 데이터 복제 배치에만 적용됩니다.
진단을 수집하기 전에 Oracle Object Storage 버킷을 생성해야 합니다.
배치 진단을 수집하려면 다음과 같이 하십시오.
-
Deployments 페이지에서 진단을 수집할 배치를 선택합니다.
-
배치의 세부정보 페이지의 작업 메뉴에서 진단 수집을 선택합니다.
-
Collect diagnostics(진단 수집) 패널에서 다음 필드에 정보를 입력한 후 Collect diagnostics(진단 수집)를 선택합니다.
-
버킷 드롭다운에서 진단 파일을 저장할 버킷을 선택합니다. 다른 컴파트먼트에서 버킷을 선택하려면 컴파트먼트 변경을 선택합니다.
-
진단 이름 접두어의 경우 진단 파일 이름 앞에 짧은 이름 또는 몇 글자를 입력합니다.
-
(옵션) 시스템 로그를 수집할 시작 날짜를 선택합니다.
-
(선택 사항) 시스템 로그를 수집할 종료 날짜를 선택합니다.
주: OCI GoldenGate 배치에 대해 수집된 진단에는 배치의 전체 수명 동안 GoldenGate 로그가 포함되며 선택한 시작 및 종료 날짜와는 독립적입니다.
-
[진단 수집]을 선택하면 [배치 정보 카드]의 GoldenGate 섹션 아래에 진단이라는 새 필드가 표시됩니다. 진단 zip 파일을 다운로드할 수 있으려면 몇 분 정도 걸릴 수 있습니다. 사용 가능한 경우 다운로드 링크가 나타납니다.
다운로드가 완료되면 파일의 압축을 풀고 내용을 검토합니다.
-
/etc/ogg: 매개변수 파일 포함 -
/var/report: 보고서 및 폐기 파일 포함 -
/var/log: 로그 파일 포함 -
ER-events.log: Extract 및 Replicat 이벤트 포함 -
ggserr.log: OCI GoldenGate 오류 포함 -
restapi.log: REST API 로그 포함 -
adminsrvr.log: 관리 서비스 로그 포함 -
pmsrvr.log: 성능 측정항목 서비스 로그 포함 -
distsrvr.log: 배포 서비스 로그 포함 -
recvsrvr.log: 수신기 서비스 로그 포함 -
extract.log: 추출 프로세스 로그 포함 -
replicat.log: Replicat 프로세스 로그 포함