3.2. 모니터링 구성 요소에 대한 로그 수준 설정

Alertmanager, Prometheus Operator, Prometheus, Thanos Querier, Thanos Ruler의 로그 수준을 구성할 수 있습니다.

다음 로그 수준은 cluster-monitoring-configuser-workload-monitoring-config ConfigMap 오브젝트의 관련 구성 요소에 적용할 수 있습니다.

  • debug. 디버그, 정보, 경고 및 오류 메시지를 기록합니다.
  • info. 정보, 경고 및 오류 메시지를 기록합니다.
  • warn. 경고 및 오류 메시지만 기록합니다.
  • error. 오류 메시지만 기록합니다.

기본값 로그 수준은 info입니다.

사전 요구 사항

  • openshift-monitoring 프로젝트에서 Alertmanager, Prometheus Operator, Prometheus 또는 Thanos Querier의 로그 수준을 설정하는 경우:

    • cluster-admin 클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다.
    • cluster-monitoring-config ConfigMap 오브젝트를 생성하셨습니다.
  • openshift-user-workload-monitoring 프로젝트에서 Prometheus Operator, Prometheus 또는 Thanos Ruler의 로그 수준을 설정하는 경우:

    • cluster-admin 클러스터 역할의 사용자로 또는 openshift-user-workload-monitoring 프로젝트에서 user-workload-monitoring-config-edit 역할의 사용자로 클러스터에 액세스할 수 있습니다.
    • user-workload-monitoring-config ConfigMap 오브젝트가 생성되어 있습니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.

프로세스

  1. ConfigMap 오브젝트를 편집합니다.

    • openshift-monitoring 프로젝트에서 구성 요소의 로그 수준을 설정하려면 다음을 수행합니다.

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

        $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
      2. data/config.yaml 아래의 구성 요소에 logLevel: <log_level>을 추가합니다.

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: cluster-monitoring-config
          namespace: openshift-monitoring
        data:
          config.yaml: |
            <component>: 1
              logLevel: <log_level> 2
        1
        로그 수준을 설정하는 모니터링 스택 구성 요소입니다. 기본 플랫폼 모니터링의 경우 사용 가능한 구성 요소 값은 prometheusK8s,alertmanagerMain,prometheusOperator, thanosQuerier 입니다.
        2
        구성 요소에 설정할 로그 수준입니다. 사용 가능한 값은 error,warn,info, debug 입니다. 기본값은 info 입니다.
    • openshift-user-workload-monitoring 프로젝트에서 구성 요소의 로그 수준을 설정하려면 다음을 수행합니다.

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

        $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
      2. data/config.yaml 아래의 구성 요소에 logLevel: <log_level>을 추가합니다.

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: user-workload-monitoring-config
          namespace: openshift-user-workload-monitoring
        data:
          config.yaml: |
            <component>: 1
              logLevel: <log_level> 2
        1
        로그 수준을 설정하는 모니터링 스택 구성 요소입니다. 사용자 워크로드 모니터링의 경우 사용 가능한 구성 요소 값은 prometheus,prometheusOperator, thanosRuler 입니다.
        2
        구성 요소에 설정할 로그 수준입니다. 사용 가능한 값은 error,warn,info, debug 입니다. 기본값은 info 입니다.
  2. 파일을 저장하여 변경 사항을 적용합니다. 로그 수준 변경을 적용하면 구성 요소의 Pod가 자동으로 다시 시작됩니다.

    참고

    클러스터 관리자가 사용자 정의 프로젝트에 대한 모니터링을 활성화하지 않는 한 user-workload-monitoring-config ConfigMap 오브젝트에 적용되는 구성이 활성화되어 있지 않습니다.

    주의

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

  3. 관련 프로젝트의 배포 또는 Pod 구성을 검토하여 로그 수준이 적용되었는지 확인합니다. 다음 예제는 openshift-user-workload-monitoring 프로젝트의 prometheus-operator 배포에서 로그 수준을 확인합니다.

    $ oc -n openshift-user-workload-monitoring get deploy prometheus-operator -o yaml |  grep "log-level"

    출력 예

            - --log-level=debug

  4. 구성 요소의 Pod가 실행 중인지 확인합니다. 다음 예제는 openshift-user-workload-monitoring 프로젝트의 Pod 상태를 나열합니다.

    $ oc -n openshift-user-workload-monitoring get pods
    참고

    인식할 수 없는 Prometheus Operator loglevel 값이 ConfigMap에 포함된 경우 Pod 구성 요소가 성공적으로 다시 시작되지 않을 수 있습니다.