4.11. OpenShift Logging Operator를 사용하여 파이프라인 로그 보기

파이프라인 실행, 작업 실행, 이벤트 리스너로 생성된 로그는 해당 Pod에 저장됩니다. 문제 해결 및 감사를 위해 로그를 검토하고 분석하는 것이 유용합니다.

그러나 Pod를 무기한 유지하면 불필요한 리소스 소비 및 복잡한 네임스페이스가 발생합니다.

Pod에 대한 종속성을 제거하여 파이프라인 로그를 볼 수 있습니다. OpenShift Elasticsearch Operator 및 OpenShift Logging Operator를 사용하면 됩니다. 이러한 Operator는 로그가 포함된 Pod를 삭제한 후에도 Elasticsearch Kibana 스택을 사용하여 파이프라인 로그를 확인하는 데 도움이 됩니다.

4.11.1. 사전 요구 사항

Kibana 대시보드에서 파이프라인 로그를 보기 전에 다음을 확인하십시오.

  • 단계는 클러스터 관리자가 수행합니다.
  • 파이프라인 실행 및 작업 실행에 대한 로그를 사용할 수 있습니다.
  • OpenShift Elasticsearch Operator 및 OpenShift Logging Operator가 설치되어 있습니다.

4.11.2. Kibana에서 파이프라인 로그 보기

Kibana 웹 콘솔에서 파이프라인 로그를 보려면 다음을 수행합니다.

절차

  1. 클러스터 관리자로 OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. 메뉴 표시줄의 오른쪽 상단에서 grid 아이콘 → ObservabilityLogging 을 클릭합니다. Kibana 웹 콘솔이 표시됩니다.
  3. 인덱스 패턴을 생성합니다.

    1. Kibana 웹 콘솔의 왼쪽 탐색 패널에서 관리를 클릭합니다.
    2. 인덱스 패턴 생성을 클릭합니다.
    3. 2단계 중 1단계에서 2단계 인덱스 패턴인덱스 패턴을 정의하고 * 패턴을 입력하고 다음 단계를 클릭합니다.
    4. 다음 2단계: 설정 구성시간 필터 필드 이름, 드롭다운 메뉴에서 @timestamp 를 선택한 다음 인덱스 패턴 생성을 클릭합니다.
  4. 필터를 추가합니다.

    1. Kibana 웹 콘솔의 왼쪽 탐색 패널에서 Discover(검색 )를 클릭합니다.
    2. 필터 추가 → 쿼리 DSL 편집을 클릭합니다.

      참고
      • 다음 예제 필터 각각에 대해 쿼리를 편집하고 Save(저장 )를 클릭합니다.
      • 필터는 차례로 적용됩니다.
      1. 파이프라인과 관련된 컨테이너를 필터링합니다.

        파이프라인 컨테이너를 필터링하는 쿼리의 예

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "app_kubernetes_io/managed-by=tekton-pipelines",
            	"type": "phrase"
          	}
        	}
          }
        }

      2. place-tools 컨테이너가 아닌 모든 컨테이너를 필터링합니다. 쿼리 DSL을 편집하는 대신 그래픽 드롭다운 메뉴를 사용하는 의 그림으로 다음 접근 방식을 고려하십시오.

        그림 4.6. 드롭다운 필드를 사용한 필터링 예

        place-tools가 아닙니다
      3. 강조 표시를 위해 라벨에서 pipelinerun 을 필터링합니다.

        강조 표시를 위한 라벨에서 pipelinerun 을 필터링하는 쿼리의 예

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "tekton_dev/pipelineRun=",
            	"type": "phrase"
          	}
        	}
          }
        }

      4. 강조 표시를 위해 라벨에서 파이프라인을 필터링합니다.

        강조 표시를 위한 라벨에서 파이프라인을 필터링하는 쿼리의 예

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "tekton_dev/pipeline=",
            	"type": "phrase"
          	}
        	}
          }
        }

    3. Available field(사용 가능한 필드 ) 목록에서 다음 필드를 선택합니다.

      • kubernetes.flat_labels
      • message

        선택한 필드가 Selected field(선택한 필드) 목록에 표시되는지 확인합니다.

    4. 로그는 메시지 필드에 표시됩니다.

      그림 4.7. 필터링된 메시지

      필터링된 메시지

4.11.3. 추가 리소스