3.4. Thanos Querier에 대한 쿼리 로깅 활성화

openshift-monitoring 프로젝트에서 기본 플랫폼 모니터링의 경우 Cluster Monitoring Operator가 Thanos Querier에서 실행하는 모든 쿼리를 로깅할 수 있습니다.

중요

로그 순환은 지원되지 않으므로 문제를 해결해야 하는 경우에만 이 기능을 일시적으로 활성화합니다. 문제 해결을 마친 후 ConfigMap 오브젝트로 변경한 사항을 되돌려서 쿼리 로깅을 비활성화하여 기능을 활성화합니다.

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • cluster-admin 클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다.
  • cluster-monitoring-config ConfigMap 오브젝트를 생성하셨습니다.

절차

openshift-monitoring 프로젝트에서 Thanos Querier에 대한 쿼리 로깅을 활성화할 수 있습니다.

  1. openshift-monitoring 프로젝트에서 cluster-monitoring-config ConfigMap 오브젝트를 편집합니다.

    $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
  2. data/config.yaml 아래에 thanosQuerier 섹션을 추가하고 다음 예와 같이 값을 추가합니다.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cluster-monitoring-config
      namespace: openshift-monitoring
    data:
      config.yaml: |
        thanosQuerier:
          enableRequestLogging: <value> 1
          logLevel: <value> 2
    1
    로깅을 활성화하려면 값을 true 로 설정하고 로깅을 활성화하려면 false 를 설정합니다. 기본값은 false입니다.
    2
    값을 debug,info,warn, error 로 설정합니다. logLevel 에 값이 없는 경우 로그 수준은 기본적으로 오류 입니다.
  3. 파일을 저장하여 변경 사항을 적용합니다.

    주의

    모니터링 구성 맵에 대한 변경 사항을 저장하면 관련 프로젝트의 Pod 및 기타 리소스가 재배포될 수 있습니다. 해당 프로젝트에서 실행 중인 모니터링 프로세스도 다시 시작할 수 있습니다.

검증

  1. Thanos Querier Pod가 실행 중인지 확인합니다. 다음 샘플 명령은 openshift-monitoring 프로젝트의 Pod 상태를 나열합니다.

    $ oc -n openshift-monitoring get pods
  2. 다음 샘플 명령을 모델로 사용하여 테스트 쿼리를 실행합니다.

    $ token=`oc sa get-token prometheus-k8s -n openshift-monitoring`
    $ oc -n openshift-monitoring exec -c prometheus prometheus-k8s-0 -- curl -k -H "Authorization: Bearer $token" 'https://thanos-querier.openshift-monitoring.svc:9091/api/v1/query?query=cluster_version'
  3. 다음 명령을 실행하여 쿼리 로그를 읽습니다.

    $ oc -n openshift-monitoring logs <thanos_querier_pod_name> -c thanos-query
    참고

    thanos-querier Pod는 고가용성(HA) Pod이므로 하나의 Pod에서만 로그를 볼 수 있습니다.

  4. 기록된 쿼리 정보를 검사한 후 구성 맵에서 enableRequestLogging 값을 false 로 변경하여 쿼리 로깅을 비활성화합니다.

추가 리소스