Gatekeeper

Supported OS Linux

통합 버전1.0.0

개요

이 점검에서는 OPA Gatekeepr에서 메트릭을 수집합니다.

Gatekeeper 개요 대시보드

설정

아래 지침을 따라 쿠버네티스 클러스터에서 실행되는 에이전트에 이 점검을 설치하고 설정하세요. 지침을 적용하는 데 가이드가 필요하면 자동탐지 통합 템플릿을 참고하세요.

설치

에이전트 버전 >=7.26.0 또는 >=6.26.0

Docker 에이전트를 사용하는 integrations-extra에서 통합을 사용하려면 통합을 설치한 상태에서 에이전트를 구축하기를 권고합니다. 다음 Dockerfile을 사용해 integrations-extras에서 gatekeeper 통합을 포함하고 업데이트된 에이전트를 구축하세요.

FROM gcr.io/datadoghq/agent:latest
RUN agent integration install -r -t datadog-gatekeeper==<INTEGRATION_VERSION>

에이전트 버전 <7.26.0 또는 <6.26.0

쿠버네티스 클러스터에서 gatekeeper 점검 설치하는 방법:

  1. 개발자 툴킷을 설치합니다.

  2. integrations-extras 리포지토리를 복제합니다.

    git clone https://github.com/DataDog/integrations-extras.git.
    
  3. integrations-extras/ 경로로 ddev config을 업데이트합니다.

    ddev config set extras ./integrations-extras
    
  4. gatekeeper 패키지를 구축하려면 다음을 실행하세요.

    ddev -e release build gatekeeper
    
  5. 에이전트 매니페스트를 다운로드해 Datadog 에이전트를 DaemonSet으로 설치합니다.

  6. PersistentVolumeClaim을 두 개 생성합니다. 하나는 점검 코드용, 다른 하나는 구성용입니다.

  7. 생성한 두 파일을 에이전트 포드 템플릿에 볼륨으로 추가하고 내 점검과 구성에 사용하세요.

         env:
           - name: DD_CONFD_PATH
             value: "/confd"
           - name: DD_ADDITIONAL_CHECKSD
             value: "/checksd"
       [...]
         volumeMounts:
           - name: agent-code-storage
             mountPath: /checksd
           - name: agent-conf-storage
             mountPath: /confd
       [...]
       volumes:
         - name: agent-code-storage
           persistentVolumeClaim:
             claimName: agent-code-claim
         - name: agent-conf-storage
           persistentVolumeClaim:
             claimName: agent-conf-claim
    
  8. Datadog 에이전트를 쿠버네티스 클러스터에 배포합니다.

    kubectl apply -f agent.yaml
    
  9. 통합 아티팩트 .whl 파일을 내 쿠버네티스 노드에 복사하거나 공용 URL에 업로드합니다.

  10. 다음 명령을 실행해 통합 에이전트와 통합 휠을 설치하세요.

    kubectl exec ds/datadog -- agent integration install -w <PATH_OF_GATEKEEPER_ARTIFACT_>/<GATEKEEPER_ARTIFACT_NAME>.whl
    
  11. 다음 명령을 실행해 점검과 구성을 복사해 해당 PVC로 붙여넣으세요.

    kubectl exec ds/datadog -- sh
    # cp -R /opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/* /checksd
    # cp -R /etc/datadog-agent/conf.d/* /confd
    
  12. Datadog 에이전트 포드를 재시작하세요.

구성

  1. 에이전트 포드에 추가한 /confd 폴더에 있는 gatekeeper/conf.yaml 파일을 편집해 gatekeeper 성능 데이터 수집을 시작하세요. 사용할 수 있는 구성 옵션을 모두 보려면 샘플 gatekeeper/conf.yaml을 참고하세요.

  2. 에이전트를 다시 시작합니다.

검증

에이전트 상태 하위 명령을 실행하고 Checks 섹션 아래 gatekeeper를 찾으세요.

수집한 데이터

메트릭

gatekeeper.audit.duration.seconds.sum
(count)
Latency of audit operation in seconds
Shown as second
gatekeeper.audit.duration.seconds.count
(count)
Latency of audit operation in seconds
Shown as second
gatekeeper.audit.last_run_time
(gauge)
Timestamp of last audit operation
gatekeeper.constraint_template_ingestion.duration.seconds.sum
(count)
Distribution of how long it took to ingest a constraint template in seconds
Shown as second
gatekeeper.constraint_template_ingestion.duration.seconds.count
(count)
Distribution of how long it took to ingest a constraint template in seconds
Shown as second
gatekeeper.constraint_template_ingestion.count
(count)
Total number of constraint template ingestion actions
gatekeeper.violations
(gauge)
Total number of violations per constraint
gatekeeper.constraints
(gauge)
Current number of known constraints
gatekeeper.constraint_templates
(gauge)
Number of observed constraint templates
gatekeeper.request.duration.seconds.sum
(count)
[Deprecated since Gatekeeper v3.4.0] The response time in seconds
Shown as second
gatekeeper.request.duration.seconds.count
(count)
[Deprecated since Gatekeeper v3.4.0] The response time in seconds
Shown as second
gatekeeper.request.count
(count)
[Deprecated since Gatekeeper v3.4.0] Total number of requests that are routed to webhook
gatekeeper.sync
(gauge)
Total number of resources of each kind being cached
gatekeeper.sync.duration.seconds.sum
(count)
Latency of sync operation in seconds
Shown as second
gatekeeper.sync.duration.seconds.count
(count)
Latency of sync operation in seconds
Shown as second
gatekeeper.sync.last_run_time
(gauge)
Timestamp of last sync operation
gatekeeper.watch.intended
(gauge)
The total number of Group/Version/Kinds that the watch manager has instructions to watch
gatekeeper.watch.watched
(gauge)
The total number of Group/Version/Kinds currently watched by the watch manager
gatekeeper.validation.request.count
(count)
The number of requests that are routed to validation webhook
gatekeeper.validation.request.duration.seconds.sum
(count)
The response time in second
Shown as second
gatekeeper.validation.request.duration.seconds.count
(count)
The response time in second
Shown as second
gatekeeper.mutator.ingestion.count
(count)
Total number of Mutator ingestion actions
gatekeeper.mutator.ingestion.duration.seconds.sum
(count)
The distribution of Mutator ingestion durations
Shown as second
gatekeeper.mutator.ingestion.duration.seconds.count
(count)
The distribution of Mutator ingestion durations
Shown as second
gatekeeper.mutators
(gauge)
The current number of Mutator objects
gatekeeper.mutator.conflicting.count
(gauge)
The current number of conflicting Mutator objects

이벤트

Gatekeeper에는 이벤트가 포함되어 있지 않습니다.

서비스 점검

gatekeeper.prometheus.health
Returns CRITICAL if the agent fails to connect to the Prometheus metrics endpoint, otherwise OK.
Statuses: ok, critical

gatekeeper.health
Returns CRITICAL if the agent fails to connect to the gatekeeper health endpoint, OK if it returns 200, WARNING otherwise.
Statuses: ok, warning, critical

트러블슈팅

도움이 필요하신가요? Datadog 고객 지원팀에 문의하세요.