로그 사용 문제 해결

배포 백업에서 발견된 OCI 로깅 및 로그를 사용하여 일반적인 문제를 해결하고, OCI GoldenGate 배포에서 진단을 수집하는 방법을 알아봅니다.

프로세스 및 오류 로그

OCI Logging을 OCI GoldenGate과 통합하여 GoldenGate 프로세스 및 오류 로그를 활성화, 관리 및 검색할 수 있습니다. 로깅 서비스와의 통합은 선택 사항입니다.

  • 오류 로그: GoldenGate에서 생성된 처리 이벤트, 메시지, 오류 및 경고를 기록하는 ggserr.log 파일의 콘텐츠를 포함합니다.
  • 프로세스 로그: 관리 서비스, 배포 서비스, 성과 측정 단위 서비스, 수신기 서비스 및 추출/복제 이벤트에 대한 여러 로그 파일의 콘텐츠를 포함합니다.

OCI 로깅 사용을 시작하기 전에 다음을 수행합니다.

  • OCI 로깅 서비스에서 사용되는 기본 개념 및 용어를 익힙니다. OCI 로깅 설명서의 로깅 개요를 참조하십시오.
  • 로그 그룹 및 로그 콘텐츠에 대한 액세스를 관리할 그룹을 생성합니다. OCI IAM 설명서에서 그룹 작업을 참조하십시오.
  • OCI GoldenGate에 대한 퍼블릭 로깅을 사용으로 설정하는 정책을 추가합니다.

주:

OCI GoldenGate에서 자동으로 생성되는 로그를 비롯하여 로그의 수명 주기를 관리합니다. 작업 및 작업 실행이 삭제될 때 로그가 삭제되지 않습니다. 관찰가능성 및 관리 가격에 대해 자세히 알아보십시오.

OCI와 함께 OCI 로깅을 사용하기 위한 정책 추가 GoldenGate

서비스 로그를 사용으로 설정하려면 사용자에게 로그 그룹에 대한 관리 액세스 권한 및 리소스에 대한 액세스 권한을 부여해야 합니다. 로그 및 로그 그룹은 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 콘솔을 사용하여 로깅 사용

  1. 배포 페이지에서 로깅을 사용으로 설정할 배포를 선택합니다.
  2. 배치 세부정보 페이지에서 모니터링을 선택합니다.
  3. Monitoring 페이지에서 Logs로 이동합니다.
  4. 로그 테이블의 로그 중 하나의 작업 메뉴에서 로그 사용을 선택합니다.
  5. 로그 사용 패널의 컴파트먼트 드롭다운에서 컴파트먼트를 선택합니다.
  6. 로그 그룹의 경우 다음을 수행할 수 있습니다.
    • 드롭다운에서 그룹을 선택하십시오.
    • 새 그룹을 생성합니다
    • 비워 두면 기본 그룹이 자동으로 지정됩니다.
  7. 로그 이름에 이름을 입력합니다.
  8. Log retention의 경우 드롭다운에서 개월 수를 선택합니다.
  9. 로그 사용을 누릅니다.

상태가 활성이 될 때까지 기다립니다. 활성화된 후에는 프로세스 및 오류 로그에 대해 진단 로그 기능이 설정됩니다. 프로세스 및 오류 로그는 기술적으로 '서비스 로그'이며 OCI GoldenGate와 같은 Oracle Cloud Infrastructure 네이티브 서비스에서 제공됩니다.

CLI를 사용하여 OCI 로깅 사용

  1. 로그 그룹을 생성합니다.

    요청

    oci --profile <profile_name> logging log-group create --compartment-id <compartment_ocid>
          --display-name <display_name>

    응답

    { "opc-work-request-id": "<log-workrequest-ocid>" }
  2. 로그 그룹 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"  
        }
    }
  3. 로그 객체 생성/사용

    요청

    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_file

    JSON 요청 페이로드

    {  
        "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>"
    }
  4. 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>"
    }
  5. 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    
            }  
        }
    }
  6. 로그 상태 가져오기

    요청

    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"
    }
  7. 로그 삭제

    요청

    oci --profile <profile_name> logging log delete --log-group-id <log-group-ocid> --log-id <log-ocid>

    응답

    {  
        "opc-work-request-id": "<log-workrequest-ocid>"
    }
  8. 로그 그룹을 삭제합니다.

    요청

    oci --profile GGSTEST logging log-group delete --log-group-id <log-group-ocid>

    응답

    {  
        "opc-work-request-id": "<log-workrequest-ocid>"
    }

OCI 로깅 서비스에서 OCI GoldenGate에 대한 로깅 사용

로그 그룹을 생성하고 아직 없는 경우 로깅 서비스에서 서비스 로그를 구성합니다.

  1. 탐색 메뉴를 열고 관찰 가능성 및 관리를 누릅니다. Logging Analytics에서 관리를 누릅니다.
  2. 관리 개요 페이지의 리소스에서 로그 그룹을 누릅니다.
  3. 작업 권한이 있는 구획을 선택하고 로그 그룹 생성을 누릅니다.

    Create Log Group(로그 그룹 만들기) 패널이 표시됩니다.

  4. 다음을 완료합니다.
    • 구획: 로그 그룹을 생성할 구획입니다. 이 필드는 선택한 컴파트먼트에 따라 미리 채워집니다.
    • 이름: 이 로그 그룹의 이름입니다. 로그 그룹 이름의 첫번째 문자는 문자여야 합니다. 자세한 내용은 Log and Log Group Names을 참조하십시오. 기밀 정보를 입력하지 마십시오.
    • 설명: 친숙한 설명입니다.
    • (선택 사항) 태그 정보를 입력합니다.
  5. 생성을 누릅니다.

    그러면 로그 그룹 세부 정보 페이지가 표시됩니다.

  6. 로그를 클릭합니다.
  7. 서비스 로그 사용을 누릅니다.
  8. 리소스 선택 아래에서
    1. 리소스 컴파트먼트에 대해 리소스의 컴파트먼트를 선택합니다.
    2. 서비스의 경우 드롭다운에서 GoldenGate을 선택합니다.
    3. 리소스의 경우 드롭다운에서 배치를 선택합니다.
  9. 로그 구성 아래에서
    1. 로그 범주의 경우 드롭다운에서 값을 선택합니다.
    2. 로그 이름에 대해 이름을 입력합니다.
  10. 고급 옵션 표시를 선택하고 로그 위치에서 다음을 수행합니다.
    1. 컴파트먼트의 경우 로그를 저장할 컴파트먼트를 선택합니다.
    2. 로그 그룹의 경우 드롭다운에서 로그 그룹을 선택하거나 새 그룹을 생성합니다.
  11. 로그 보존의 경우 로그를 보존할 기간(개월)을 선택합니다.
  12. 로그 사용을 누릅니다.

배치 백업 로그

OCI GoldenGate 배포를 Oracle Object Storage에 수동으로 백업한 다음 백업을 로컬로 다운로드할 수 있습니다. 그런 다음 배치 로그를 찾아 건전성 문제를 해결할 수 있습니다.

수동 백업을 생성하는 방법은 배포 백업 관리를 참조하십시오.

수동 배포 백업에는 전체 GoldenGate 배포 디렉토리 구조와 로그 및 추적 파일을 포함한 파일이 포함됩니다. 문제 해결에 유용한 디렉토리 및 파일은 다음과 같습니다.

  • /etc: 구성
    • /etc/ogg: 매개변수 파일
  • /var: 로그 파일, 체크포인트, 트레일 파일 등
    • /var/checkpt: 체크포인트
    • /var/data: 추적 파일
    • /var/report: 보고서 파일
    • /var/log: 로그 파일
      • ER-events.log
      • ggserr.log
      • restapi.log
      • adminsrvr.log
      • pmsrvr.log
      • distsrvr-stdout.log
      • recsrvr-stdout.log
      • distsrvr.log
      • recvsrvr.log
      • extract.log
      • replicat.log

진단 수집

진단을 수집하여 OCI GoldenGate 배치에 대한 정보를 분석하거나 공유합니다. 문제가 발생하면 수집된 정보를 My Oracle Support와 공유할 수 있습니다.

주:

이 기능은 데이터 복제 배치에만 적용됩니다.
진단을 수집하기 전에 OCI Object Storage 버킷을 생성해야 합니다.
배치 진단을 수집하려면 다음과 같이 하십시오.
  1. Deployments 페이지에서 진단을 수집할 배치를 선택합니다.
  2. 배치의 [세부 정보] 페이지의 [작업] 메뉴에서 진단 수집을 선택합니다.
  3. [진단 수집] 패널에서 다음 필드를 완료한 후 진단 수집을 누릅니다.
    1. 버킷 드롭다운에서 진단 파일을 저장할 버킷을 선택합니다. 다른 컴파트먼트에서 버킷을 선택하려면 컴파트먼트 변경을 누릅니다.
    2. 진단 이름 접두어의 경우 진단 파일 이름 앞에 짧은 이름 또는 몇 글자를 입력합니다.
    3. (옵션) 시스템 로그를 수집할 시작 날짜를 선택합니다.
    4. (선택 사항) 시스템 로그를 수집할 종료 날짜를 선택합니다.

      주:

      OCI GoldenGate 배치에 대해 수집된 진단에는 배치의 전체 수명에 대한 GoldenGate 로그가 포함되며 선택한 시작 및 종료 날짜와 무관합니다.
[진단 수집]을 누르면 [배치 정보 카드]의 GoldenGate 섹션 아래에 진단이라는 새 필드가 표시됩니다. 진단 zip 파일을 다운로드할 수 있으려면 몇 분 정도 걸릴 수 있습니다. 사용 가능한 경우 다운로드 링크가 나타납니다.