3.7. 감사 로그 수집


개별 사용자, 관리자 또는 시스템의 기타 구성 요소가 시스템에 영향을 준 활동 순서를 문서화하는 보안 관련 레코드 세트인 감사 로그를 수집할 수 있습니다.

예를 들어, 감사 로그는 자동 확장 요청이 어디에서 오는지 파악하는 데 도움이 될 수 있습니다. 이는 사용자 애플리케이션에서 보낸 자동 확장 요청으로 백엔드가 과부하될 때 중요한 정보이며, 어느 애플리케이션이 문제가 있는지 확인해야 합니다.

3.7.1. 감사 로깅 구성

KedaController 사용자 정의 리소스를 편집하여 사용자 정의 메트릭 자동 확장기 연산자에 대한 감사를 구성할 수 있습니다. 로그는 KedaController CR의 영구 볼륨 클레임을 사용하여 보안된 볼륨의 감사 로그 파일에 전송됩니다.

사전 요구 사항

  • Custom Metrics Autoscaler Operator를 설치해야 합니다.

프로세스

  1. KedaController 사용자 정의 리소스를 편집하여 auditConfig 스탠자를 추가합니다.

    kind: KedaController
    apiVersion: keda.sh/v1alpha1
    metadata:
      name: keda
      namespace: openshift-keda
    spec:
    # ...
      metricsServer:
    # ...
        auditConfig:
          logFormat: "json" 
    1
    
          logOutputVolumeClaim: "pvc-audit-log" 
    2
    
          policy:
            rules: 
    3
    
            - level: Metadata
            omitStages: "RequestReceived" 
    4
    
            omitManagedFields: false 
    5
    
          lifetime: 
    6
    
            maxAge: "2"
            maxBackup: "1"
            maxSize: "50"
    Copy to Clipboard Toggle word wrap
    1
    감사 로그의 출력 형식을 레거시 또는 JSON으로 지정합니다.
    2
    로그 데이터를 저장하기 위한 기존 영구 볼륨 클레임을 지정합니다. API 서버로 들어오는 모든 요청은 이 영구 볼륨 클레임에 기록됩니다. 이 필드를 비워두면 로그 데이터가 stdout으로 전송됩니다.
    3
    어떤 이벤트를 기록해야 하는지, 어떤 데이터를 포함해야 하는지 지정합니다.
    • None: 이벤트를 기록하지 마십시오.
    • Metadata: 사용자, 타임스탬프 등과 같은 요청에 대한 메타데이터만 기록합니다. 요청 텍스트와 응답 텍스트를 기록하지 마십시오. 이는 기본값입니다.
    • Request: 메타데이터와 요청 텍스트만 기록하지만 응답 텍스트는 기록하지 않습니다. 이 옵션은 리소스가 아닌 요청에는 적용되지 않습니다.
    • RequestResponse: 이벤트 메타데이터, 요청 텍스트 및 응답 텍스트입니다. 이 옵션은 리소스가 아닌 요청에는 적용되지 않습니다.
    4
    이벤트가 생성되지 않는 단계를 지정합니다.
    5
    요청 및 응답 본문의 관리되는 필드를 API 감사 로그에 기록하지 않을지 여부를 지정합니다. true 로 설정하면 필드를 생략하고 false로 설정하면 필드를 포함합니다.
    6
    감사 로그의 크기와 수명을 지정합니다.
    • maxAge : 파일 이름에 인코딩된 타임스탬프를 기준으로 감사 로그 파일을 보관하는 최대 일수입니다.
    • maxBackup : 보관할 감사 로그 파일의 최대 수. 모든 감사 로그 파일을 보존하려면 0 으로 설정합니다.
    • maxSize : 감사 로그 파일이 순환되기 전의 최대 크기(MB)입니다.

검증

  1. 감사 로그 파일을 직접 확인하세요.

    1. keda-metrics-apiserver-* pod의 이름을 얻습니다.

      oc get pod -n openshift-keda
      Copy to Clipboard Toggle word wrap

      출력 예

      NAME                                                  READY   STATUS    RESTARTS   AGE
      custom-metrics-autoscaler-operator-5cb44cd75d-9v4lv   1/1     Running   0          8m20s
      keda-metrics-apiserver-65c7cc44fd-rrl4r               1/1     Running   0          2m55s
      keda-operator-776cbb6768-zpj5b                        1/1     Running   0          2m55s
      Copy to Clipboard Toggle word wrap

    2. 다음과 유사한 명령을 사용하여 로그 데이터를 확인하세요.

      $ oc logs keda-metrics-apiserver-<hash>|grep -i metadata 
      1
      Copy to Clipboard Toggle word wrap
      1
      선택 사항: grep 명령을 사용하여 표시할 로그 수준을 지정할 수 있습니다: Metadata , Request , RequestResponse .

      예를 들면 다음과 같습니다.

      $ oc logs keda-metrics-apiserver-65c7cc44fd-rrl4r|grep -i metadata
      Copy to Clipboard Toggle word wrap

      출력 예

       ...
      {"kind":"Event","apiVersion":"audit.k8s.io/v1","level":"Metadata","auditID":"4c81d41b-3dab-4675-90ce-20b87ce24013","stage":"ResponseComplete","requestURI":"/healthz","verb":"get","user":{"username":"system:anonymous","groups":["system:unauthenticated"]},"sourceIPs":["10.131.0.1"],"userAgent":"kube-probe/1.28","responseStatus":{"metadata":{},"code":200},"requestReceivedTimestamp":"2023-02-16T13:00:03.554567Z","stageTimestamp":"2023-02-16T13:00:03.555032Z","annotations":{"authorization.k8s.io/decision":"allow","authorization.k8s.io/reason":""}}
       ...
      Copy to Clipboard Toggle word wrap

  2. 또는 특정 로그를 볼 수 있습니다.

    1. 다음과 유사한 명령을 사용하여 keda-metrics-apiserver-* 포드에 로그인합니다.

      $ oc rsh pod/keda-metrics-apiserver-<hash> -n openshift-keda
      Copy to Clipboard Toggle word wrap

      예를 들면 다음과 같습니다.

      $ oc rsh pod/keda-metrics-apiserver-65c7cc44fd-rrl4r -n openshift-keda
      Copy to Clipboard Toggle word wrap
    2. /var/audit-policy/ 디렉토리로 변경:

      sh-4.4$ cd /var/audit-policy/
      Copy to Clipboard Toggle word wrap
    3. 사용 가능한 로그를 나열하세요.

      sh-4.4$ ls
      Copy to Clipboard Toggle word wrap

      출력 예

      log-2023.02.17-14:50  policy.yaml
      Copy to Clipboard Toggle word wrap

    4. 필요에 따라 로그를 확인하세요.

      sh-4.4$ cat <log_name>/<pvc_name>|grep -i <log_level> 
      1
      Copy to Clipboard Toggle word wrap
      1
      선택 사항: grep 명령을 사용하여 표시할 로그 수준을 지정할 수 있습니다: Metadata , Request , RequestResponse .

      예를 들면 다음과 같습니다.

      sh-4.4$ cat log-2023.02.17-14:50/pvc-audit-log|grep -i Request
      Copy to Clipboard Toggle word wrap

      출력 예

       ...
      {"kind":"Event","apiVersion":"audit.k8s.io/v1","level":"Request","auditID":"63e7f68c-04ec-4f4d-8749-bf1656572a41","stage":"ResponseComplete","requestURI":"/openapi/v2","verb":"get","user":{"username":"system:aggregator","groups":["system:authenticated"]},"sourceIPs":["10.128.0.1"],"responseStatus":{"metadata":{},"code":304},"requestReceivedTimestamp":"2023-02-17T13:12:55.035478Z","stageTimestamp":"2023-02-17T13:12:55.038346Z","annotations":{"authorization.k8s.io/decision":"allow","authorization.k8s.io/reason":"RBAC: allowed by ClusterRoleBinding \"system:discovery\" of ClusterRole \"system:discovery\" to Group \"system:authenticated\""}}
       ...
      Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat