로깅


OpenShift Container Platform 4.17

OpenShift Container Platform에서 로깅 구성 및 사용

Red Hat OpenShift Documentation Team

초록

로깅을 사용하여 로그 데이터를 수집, 시각화, 전달 및 저장하여 문제를 해결하고 성능 병목 현상을 식별하고 OpenShift Container Platform에서 보안 위협을 감지합니다.

1장. Logging 6.2

1.1. 로깅 정보

클러스터 관리자는 OpenShift Container Platform 클러스터에 로깅을 배포하고, 이를 사용하여 노드 시스템 감사 로그, 애플리케이션 컨테이너 로그, 인프라 로그를 수집하고 집계할 수 있습니다.

로깅을 사용하여 다음 작업을 수행할 수 있습니다.

  • 클러스터 내 Red Hat 관리 로그 저장소를 포함하여 선택한 로그 출력으로 로그를 전달합니다.
  • OpenShift Container Platform 웹 콘솔에서 로그 데이터를 시각화합니다.
참고

OpenShift Container Platform과 다른 주기로 로깅 릴리스되므로 로깅 6 문서는 Red Hat OpenShift Logging 에 설정된 별도의 문서로 사용할 수 있습니다.

2장. 로깅 6.1

2.1. 로깅 정보

클러스터 관리자는 OpenShift Container Platform 클러스터에 로깅을 배포하고, 이를 사용하여 노드 시스템 감사 로그, 애플리케이션 컨테이너 로그, 인프라 로그를 수집하고 집계할 수 있습니다.

로깅을 사용하여 다음 작업을 수행할 수 있습니다.

  • 클러스터 내 Red Hat 관리 로그 저장소를 포함하여 선택한 로그 출력으로 로그를 전달합니다.
  • OpenShift Container Platform 웹 콘솔에서 로그 데이터를 시각화합니다.
참고

OpenShift Container Platform과 다른 주기로 로깅 릴리스되므로 로깅 6 문서는 Red Hat OpenShift Logging 에 설정된 별도의 문서로 사용할 수 있습니다.

3장. 로깅 6.0

3.1. 로깅 정보

클러스터 관리자는 OpenShift Container Platform 클러스터에 로깅을 배포하고, 이를 사용하여 노드 시스템 감사 로그, 애플리케이션 컨테이너 로그, 인프라 로그를 수집하고 집계할 수 있습니다.

로깅을 사용하여 다음 작업을 수행할 수 있습니다.

  • 클러스터 내 Red Hat 관리 로그 저장소를 포함하여 선택한 로그 출력으로 로그를 전달합니다.
  • OpenShift Container Platform 웹 콘솔에서 로그 데이터를 시각화합니다.
참고

OpenShift Container Platform과 다른 주기로 로깅 릴리스되므로 로깅 6 문서는 Red Hat OpenShift Logging 에 설정된 별도의 문서로 사용할 수 있습니다.

4장. Logging 5.8

4.1. Logging 5.8

참고

로깅은 코어 OpenShift Container Platform과 별도의 릴리스 사이클을 사용하여 설치 가능한 구성 요소로 제공됩니다. Red Hat OpenShift Container Platform 라이프 사이클 정책은 릴리스 호환성에 대해 간단히 설명합니다.

참고

stable 채널은 최신 로깅 릴리스에 대한 업데이트만 제공합니다. 이전 릴리스에 대한 업데이트를 계속 받으려면 서브스크립션 채널을 stable-x.y 로 변경해야 합니다. 여기서 x.y 는 설치한 로깅 및 마이너 버전을 나타냅니다. 예를 들면 stable-5.7 입니다.

4.1.1. 로깅 5.8.4

이 릴리스에는 OpenShift Logging 버그 수정 릴리스 5.8.4 가 포함되어 있습니다.

4.1.1.1. 버그 수정
  • 이번 업데이트 이전에는 개발자 콘솔의 로그에서 현재 네임스페이스를 고려하지 않아 클러스터 전체 로그 액세스 권한이 없는 사용자에게 쿼리 거부가 발생했습니다. 이번 업데이트를 통해 지원되는 모든 OCP 버전은 올바른 네임스페이스를 포함해야 합니다. (LOG-4905)
  • 이번 업데이트 이전에는 Cluster Logging Operator가 기본 로그 출력이 LokiStack인 경우에만 LokiStack 배포를 지원하는 ClusterRoles 를 배포했습니다. 이번 업데이트를 통해 역할은 읽기 및 쓰기의 두 그룹으로 나뉩니다. 쓰기 역할은 이전에 수행하는 데 사용되는 모든 역할과 마찬가지로 기본 로그 스토리지 설정을 기반으로 배포됩니다. 읽기 역할은 로깅 콘솔 플러그인이 활성화되어 있는지 여부에 따라 배포됩니다. (LOG-4987)
  • 이번 업데이트 이전에는 하나의 서비스에서 ownerReferences 를 변경하기 때문에 동일한 입력 수신자 이름을 정의하는 ClusterLogForwarders 가 서비스를 끝없이 조정했습니다. 이번 업데이트를 통해 각 수신자 입력은 < CLF.Name>-<input.Name> 규칙을 사용하여 이름이 지정된 자체 서비스를 갖습니다. (LOG-5009)
  • 이번 업데이트 이전에는 시크릿 없이 cloudwatch로 로그를 전달할 때 ClusterLogForwarder 에서 오류를 보고하지 않았습니다. 이번 업데이트를 통해 시크릿 없이 cloudwatch로 로그를 전달할 때 다음 오류 메시지가 표시됩니다. cloudwatch 출력에 시크릿을 제공해야 합니다. (LOG-5021)
  • 이번 업데이트 이전에는 log_forwarder_input_info애플리케이션,인프라감사 입력 메트릭 포인트가 포함되었습니다. 이번 업데이트를 통해 http 도 지표 지점으로 추가됩니다. (LOG-5043)
4.1.1.2. CVE

4.1.2. Logging 5.8.3

이 릴리스에는 로깅 버그 수정 5.8.3로깅 보안 수정 5.8.3이 포함되어 있습니다.

4.1.2.1. 버그 수정
  • 이번 업데이트 이전에는 사용자 정의 S3 인증 기관을 읽도록 구성된 경우 Loki Operator는 ConfigMap 이름 또는 콘텐츠가 변경된 경우 구성을 자동으로 업데이트하지 않습니다. 이번 업데이트를 통해 Loki Operator에서 ConfigMap에 대한 변경 사항을 조사하고 생성된 구성을 자동으로 업데이트합니다. (LOG-4969)
  • 이번 업데이트 이전에는 유효한 URL 없이 Loki 출력이 구성되어 수집기 Pod가 충돌했습니다. 이번 업데이트를 통해 출력에 URL 검증이 적용되어 문제를 해결합니다. (LOG-4822)
  • 이번 업데이트 이전에는 Cluster Logging Operator가 서비스 계정 전달자 토큰을 사용할 시크릿을 지정하지 않은 출력에 대한 수집기 구성 필드를 생성합니다. 이번 업데이트를 통해 출력에 인증이 필요하지 않아 문제를 해결합니다. (LOG-4962)
  • 이번 업데이트 이전에는 출력의 tls.insecureSkipVerify 필드가 보안을 정의하지 않고 true 값으로 설정되지 않았습니다. 이번 업데이트를 통해 이 값을 설정하는 데 더 이상 시크릿이 필요하지 않습니다. (LOG-4963)
  • 이번 업데이트 이전에는 출력 구성에서 비보안 (HTTP) URL과 TLS 인증의 조합을 허용했습니다. 이번 업데이트를 통해 TLS 인증을 위해 구성된 출력에 보안(HTTPS) URL이 필요합니다. (LOG-4893)
4.1.2.2. CVE

4.1.3. Logging 5.8.2

이 릴리스에는 OpenShift Logging 버그 수정 릴리스 5.8.2 가 포함되어 있습니다.

4.1.3.1. 버그 수정
  • 이번 업데이트 이전에는 LokiStack 규칙러 Pod에서 교차 Pod 통신에 사용되는 HTTP URL의 IPv6 Pod IP를 포맷하지 않아 Prometheus 호환 API를 통한 규칙 및 경고를 쿼리할 수 없었습니다. 이번 업데이트를 통해 LokiStack 룰러 Pod는 IPv6 포드 IP를 대괄호로 캡슐화하여 문제를 해결합니다. (LOG-4890)
  • 이번 업데이트 이전에는 개발자 콘솔 로그에서 현재 네임스페이스를 고려하지 않아 클러스터 전체 로그 액세스 권한이 없는 사용자에게 쿼리 거부가 발생했습니다. 이번 업데이트를 통해 네임스페이스 포함이 수정되어 문제를 해결합니다. (LOG-4947)
  • 이번 업데이트 이전에는 OpenShift Container Platform 웹 콘솔의 로깅 보기 플러그인에서 사용자 정의 노드 배치 및 허용 오차를 허용하지 않았습니다. 이번 업데이트를 통해 OpenShift Container Platform 웹 콘솔의 로깅 보기 플러그인에 사용자 정의 노드 배치 및 허용 오차가 추가되었습니다. (LOG-4912)
4.1.3.2. CVE

4.1.4. Logging 5.8.1

이 릴리스에는 OpenShift Logging 버그 수정 릴리스 5.8.1OpenShift Logging 버그 수정 릴리스 5.8.1 Kibana 가 포함되어 있습니다.

4.1.4.1. 기능 개선
4.1.4.1.1. 로그 컬렉션
  • 이번 업데이트를 통해 Vector를 수집기로 구성하는 동안 Red Hat OpenShift Logging Operator에 논리를 추가하여 서비스 계정과 연결된 토큰 대신 시크릿에 지정된 토큰을 사용할 수 있습니다. (LOG-4780)
  • 이번 업데이트를 통해 BoltDB shipper Loki 대시보드의 이름이 Index 대시보드로 변경되었습니다. (LOG-4828)
4.1.4.2. 버그 수정
  • 이번 업데이트 이전에는 롤오버 조건이 충족되지 않은 경우에도 ClusterLogForwarder 에서 JSON 로그의 구문 분석을 활성화한 후 빈 인덱스를 생성했습니다. 이번 업데이트를 통해 write-index 가 비어 있을 때 ClusterLogForwarder 에서 롤오버를 건너뜁니다. (LOG-4452)
  • 이번 업데이트 이전에는 벡터가 기본 로그 수준을 잘못 설정했습니다. 이번 업데이트를 통해 로그 수준 탐지를 위해 정규식 또는 regexp 의 향상된 기능을 개선하여 올바른 로그 수준이 설정됩니다. (LOG-4480)
  • 이번 업데이트 이전에는 인덱스 패턴을 생성하는 프로세스 중에 각 로그 출력의 초기 인덱스에서 기본 별칭이 누락되었습니다. 결과적으로 Kibana 사용자는 OpenShift Elasticsearch Operator를 사용하여 인덱스 패턴을 생성할 수 없었습니다. 이번 업데이트에서는 OpenShift Elasticsearch Operator에 누락된 별칭이 추가되어 문제를 해결합니다. Kibana 사용자는 {app,infra,audit}-000001 인덱스를 포함하는 인덱스 패턴을 생성할 수 있습니다. (LOG-4683)
  • 이번 업데이트 이전에는 IPv6 클러스터에서 Prometheus 서버가 바인딩되어 Fluentd 수집기 Pod가 CrashLoopBackOff 상태에 있었습니다. 이번 업데이트를 통해 수집기는 IPv6 클러스터에서 제대로 작동합니다. (LOG-4706)
  • 이번 업데이트 이전에는 ClusterLogForwarder 가 변경될 때마다 Red Hat OpenShift Logging Operator가 다양한 조정을 수행했습니다. 이번 업데이트를 통해 Red Hat OpenShift Logging Operator는 조정을 트리거한 수집기 데몬 세트의 상태 변경을 무시합니다. (LOG-4741)
  • 이번 업데이트 이전에는 IBM Power 머신의 Vector 로그 수집기 Pod가 CrashLoopBackOff 상태로 중단되었습니다. 이번 업데이트를 통해 Vector 로그 수집기 Pod가 IBM Power 아키텍처 머신에서 성공적으로 시작됩니다. (LOG-4768)
  • 이번 업데이트 이전에는 내부 LokiStack에 대한 레거시 전달자를 사용하여 전달하면 Fluentd 수집기 Pod를 사용하여 SSL 인증서 오류가 발생했습니다. 이번 업데이트를 통해 로그 수집기 서비스 계정은 기본적으로 연결된 토큰과 ca.crt 를 사용하여 인증에 사용됩니다. (LOG-4791)
  • 이번 업데이트 이전에는 내부 LokiStack에 대한 레거시 전달자를 사용하여 전달하면 Vector 수집기 Pod를 사용하여 SSL 인증서 오류가 발생했습니다. 이번 업데이트를 통해 기본적으로 로그 수집기 서비스 계정이 인증에 사용되며 연결된 토큰 및 ca.crt 를 사용합니다. (LOG-4852)
  • 이번 수정 이전에는 자리 표시자에 대해 호스트 또는 여러 호스트를 평가한 후 IPv6 주소가 올바르게 구문 분석되지 않았습니다. 이번 업데이트를 통해 IPv6 주소가 올바르게 구문 분석됩니다. (LOG-4811)
  • 이번 업데이트 이전에는 HTTP 수신자 입력에 대한 감사 권한을 수집하기 위해 ClusterRoleBinding 을 생성해야 했습니다. 이번 업데이트를 통해 끝점이 이미 클러스터 인증 기관에 따라 다르기 때문에 ClusterRoleBinding 을 생성할 필요가 없습니다. (LOG-4815)
  • 이번 업데이트 이전에는 Loki Operator에서 사용자 정의 CA 번들을 룰러 Pod에 마운트하지 않았습니다. 결과적으로 경고 또는 레코딩 규칙을 평가하는 프로세스 중에 오브젝트 스토리지 액세스가 실패했습니다. 이번 업데이트를 통해 Loki Operator는 모든 룰러 Pod에 사용자 정의 CA 번들을 마운트합니다. 규칙자 Pod는 오브젝트 스토리지에서 로그를 다운로드하여 경고 또는 레코딩 규칙을 평가할 수 있습니다. (LOG-4836)
  • 이번 업데이트 이전에는 ClusterLogForwarder 에서 inputs.receiver 섹션을 제거하는 동안 HTTP 입력 서비스 및 관련 보안이 삭제되지 않았습니다. 이번 업데이트를 통해 필요하지 않은 경우 HTTP 입력 리소스가 삭제됩니다. (LOG-4612)
  • 이번 업데이트 이전에는 ClusterLogForwarder 에서 상태에 검증 오류가 표시되었지만 출력 및 파이프라인 상태가 특정 문제를 정확하게 반영하지 않았습니다. 이번 업데이트를 통해 출력, 입력 또는 필터가 잘못 구성된 경우 파이프라인 상태에 검증 실패 이유가 올바르게 표시됩니다. (LOG-4821)
  • 이번 업데이트 이전에는 시간 범위 또는 심각도와 같은 제어를 사용하는 LogQL 쿼리를 변경하면 레이블 matcher Operator가 정규식처럼 정의되었습니다. 이번 업데이트를 통해 쿼리를 업데이트할 때 정규식 Operator가 변경되지 않은 상태로 유지됩니다. (LOG-4841)
4.1.4.3. CVE

4.1.5. Logging 5.8.0

이 릴리스에는 OpenShift Logging 버그 수정 릴리스 5.8.0OpenShift Logging 버그 수정 릴리스 5.8.0 Kibana 가 포함되어 있습니다.

4.1.5.1. 사용 중단 알림

로깅 5.8에서 Elasticsearch, Fluentd, Kibana는 더 이상 사용되지 않으며 Logging 6.0에서 제거될 예정이며 향후 OpenShift Container Platform 릴리스와 함께 제공될 것으로 예상됩니다. Red Hat은 현재 릴리스 라이프사이클 동안 중요한 CVE 버그 수정 및 이러한 구성 요소에 대한 지원을 제공하지만 이러한 구성 요소는 더 이상 기능 개선 사항을 받지 않습니다. Loki Operator에서 제공하는 Red Hat OpenShift Logging Operator 및 LokiStack에서 제공하는 Vector 기반 수집기는 로그 수집 및 스토리지에 권장되는 Operator입니다. 모든 사용자가 Vector 및 Loki 로그 스택을 채택하도록 권장합니다. 이는 앞으로 개선될 스택이 되기 때문입니다.

4.1.5.2. 기능 개선
4.1.5.2.1. 로그 컬렉션
  • 이번 업데이트를 통해 LogFileMetricExporter는 기본적으로 수집기와 함께 더 이상 배포되지 않습니다. 컨테이너를 실행하여 생성된 로그에서 메트릭을 생성하려면 LogFileMetricExporter CR(사용자 정의 리소스)을 수동으로 생성해야 합니다. LogFileMetricExporter CR을 생성하지 않으면 OpenShift Container Platform 웹 콘솔 대시보드에 Produced LogsNo datapoints found 메시지가 표시될 수 있습니다. (LOG-3819)
  • 이번 업데이트를 통해 모든 네임스페이스에 여러 개의 격리된 ClusterLogForwarder CR(사용자 정의 리소스) 인스턴스를 배포할 수 있습니다. 이를 통해 독립 그룹은 다른 컬렉터 배포에서 구성을 격리하는 동안 원하는 로그를 대상으로 전달할 수 있습니다. (LOG-1343)

    중요

    openshift-logging 네임스페이스 이외의 추가 네임스페이스에서 다중 클러스터 로그 전달을 지원하려면 모든 네임스페이스를 조사하도록 Red Hat OpenShift Logging Operator를 업데이트해야 합니다. 이 기능은 새로운 Red Hat OpenShift Logging Operator 버전 5.8 설치에서 기본적으로 지원됩니다.

  • 이번 업데이트를 통해 흐름 제어 또는 속도 제한 메커니즘을 사용하여 과도한 로그 레코드를 삭제하여 수집하거나 전달할 수 있는 로그 데이터의 볼륨을 제한할 수 있습니다. 입력 제한으로 인해 성능이 좋지 않은 컨테이너가 로깅을 과부하하는 것을 방지하고 출력 제한으로 인해 지정된 데이터 저장소에 전달되는 로그의 비율에 문제가 발생합니다. (LOG-884)
  • 이번 업데이트를 통해 HTTP 연결을 찾고 웹 후크라고도 하는 HTTP 서버로 로그를 수신하도록 로그 수집기를 구성할 수 있습니다. (LOG-4562)
  • 이번 업데이트를 통해 로그 수집기에서 전달하는 Kubernetes 및 OpenShift API 서버 이벤트를 제어하도록 감사 정책을 구성할 수 있습니다. (LOG-3982)
4.1.5.2.2. 로그 스토리지
  • 이번 업데이트를 통해 LokiStack 관리자는 네임스페이스에 따라 로그에 대한 액세스 권한을 부여하여 누가 로그에 액세스할 수 있는 사용자를 보다 세밀하게 제어할 수 있습니다. (LOG-3841)
  • 이번 업데이트를 통해 Loki Operator는 LokiStack 배포에 PodDisruptionBudget 구성을 도입하여 ingestion 및 쿼리 경로를 계속 사용하여 OpenShift Container Platform 클러스터를 재시작하는 동안 정상적인 작업을 보장합니다. (LOG-3839)
  • 이번 업데이트를 통해 기본 Affinity 및 anti-Affinity 정책 세트를 적용하여 기존 LokiStack 설치의 안정성이 원활하게 향상됩니다. (LOG-3840)
  • 이번 업데이트를 통해 영역 장애 발생 시 안정성을 높이기 위해 LokiStack에서 영역 인식 데이터 복제를 관리자로 관리할 수 있습니다. (LOG-3266)
  • 이번 업데이트를 통해 몇 가지 워크로드와 작은 수집 볼륨(최대 100GB/일)을 호스팅하는 OpenShift Container Platform 클러스터에 지원되는 새로운 소규모 LokiStack 크기가 1x.extra-tekton가 도입되었습니다. (LOG-4329)
  • 이번 업데이트를 통해 LokiStack 관리자는 공식 Loki 대시보드에 액세스하여 스토리지 성능 및 각 구성 요소의 상태를 검사할 수 있습니다. (LOG-4327)
4.1.5.2.3. 로그 콘솔
  • 이번 업데이트를 통해 Elasticsearch가 기본 로그 저장소인 경우 로깅 콘솔 플러그인을 활성화할 수 있습니다. (LOG-3856)
  • 이번 업데이트를 통해 OpenShift Container Platform 애플리케이션 소유자는 OpenShift Container Platform 버전 4.14 이상의 OpenShift Container Platform 웹 콘솔 개발자 화면에서 애플리케이션 로그 기반 경고에 대한 알림을 수신할 수 있습니다. (LOG-3548)
4.1.5.3. 확인된 문제
  • 현재 Red Hat OpenShift Logging Operator의 버전 5.8로 업그레이드한 후 Splunk 로그 전달이 작동하지 않을 수 있습니다. 이 문제는 OpenSSL 버전 1.1.1에서 버전 3.0.7로 전환하여 발생합니다. 최신 OpenSSL 버전에서는 기본 동작 변경 사항이 있습니다. 여기서 RFC 5746 확장을 노출하지 않으면 TLS 1.2 끝점에 대한 연결이 거부됩니다.

    이 문제를 해결하려면 Splunk HEC(HTTP 이벤트 수집기) 끝점 앞에 있는 TLS 종료 로드 밸런서에서 TLS 1.3 지원을 활성화합니다. Splunk는 타사 시스템이며 Splunk 끝에서 구성해야 합니다.

  • 현재 HTTP/2 프로토콜에서 멀티플렉싱된 스트림을 처리하는 데 결함이 있습니다. 여기서 새로운 멀티플렉션을 반복적으로 요청하고 이를 취소하기 위해 RST_STREAM 프레임을 즉시 보낼 수 있습니다. 이로 인해 서버가 스트림을 설정하고 축소하여 서버 리소스 사용으로 인해 서비스가 거부되었습니다. 현재 이 문제에 대한 해결방법이 없습니다. (LOG-4609)
  • 현재 FluentD를 수집기로 사용할 때 수집기 Pod는 OpenShift Container Platform IPv6 지원 클러스터에서 시작할 수 없습니다. Pod 로그는 fluentd pod [error]: unexpected error_class=SocketError error="getaddrinfo: Name 또는 service notknown 오류를 생성합니다. 현재 이 문제에 대한 해결방법이 없습니다. (LOG-4706)
  • 현재 IPv6 지원 클러스터에서는 로그 경고를 사용할 수 없습니다. 현재 이 문제에 대한 해결방법이 없습니다. (LOG-4709)
  • 현재 cluster-logging-rhel9-operator 에서 필요한 OpenSSL 라이브러리를 사용할 수 없기 때문에 FIPS 지원 클러스터에서 must-gather 는 로그를 수집할 수 없습니다. 현재 이 문제에 대한 해결방법이 없습니다. (LOG-4403)
  • 현재 FIPS 지원 클러스터에 로깅 버전 5.8을 배포할 때 컬렉터 Pod는 시작할 수 없으며 FluentD를 수집기로 사용하는 동안 CrashLoopBackOff 상태에서 멈춥니다. 현재 이 문제에 대한 해결방법이 없습니다. (LOG-3933)
4.1.5.4. CVE

4.2. 로깅 설치

OpenShift Container Platform Operator는 CR(사용자 정의 리소스)을 사용하여 애플리케이션 및 해당 구성 요소를 관리합니다. CR을 통해 높은 수준의 구성 및 설정을 제공합니다. Operator는 Operator의 논리에 포함된 모범 사례를 기반으로 고급 지시문을 하위 수준 작업으로 변환합니다. CRD(사용자 정의 리소스 정의)는 CR을 정의하고 Operator 사용자가 사용할 수 있는 모든 구성을 나열합니다. Operator를 설치하면 CRD가 생성되어 CR을 생성합니다.

중요

로그 저장소 Operator 후에는 Red Hat OpenShift Logging Operator를 설치해야 합니다.

Loki Operator를 설치하여 로그 저장소를 관리하고 Red Hat OpenShift Logging Operator를 배포하여 로깅 구성 요소를 관리합니다. OpenShift Container Platform 웹 콘솔 또는 OpenShift CLI(oc)를 사용하여 로깅을 설치하거나 구성할 수 있습니다.

작은 정보

또는 모든 예제 오브젝트를 적용할 수 있습니다.

중요

s3 버킷 또는 LokiStack 사용자 정의 리소스(CR)에 정의된 보존 기간이 없으면 로그가 정리되지 않고 s3 스토리지를 채울 수 있습니다.

4.2.1. CLI를 사용하여 Logging 및 Loki Operator 설치

OpenShift Container Platform 클러스터에 로깅을 설치하고 구성하려면 로그 스토리지용 Loki Operator와 같은 Operator를 먼저 설치해야 합니다. 이 작업은 OpenShift Container Platform CLI에서 수행할 수 있습니다.

사전 요구 사항

  • 관리자 권한이 있습니다.
  • OpenShift CLI(oc)를 설치합니다.
  • 지원되는 오브젝트 저장소에 액세스할 수 있습니다. 예를 들어 AWS S3, Google Cloud Storage, Azure, Swift, Minio 또는 OpenShift Data Foundation입니다.
참고

stable 채널은 최신 로깅 릴리스에 대한 업데이트만 제공합니다. 이전 릴리스에 대한 업데이트를 계속 받으려면 서브스크립션 채널을 stable-x.y 로 변경해야 합니다. 여기서 x.y 는 설치한 로깅 및 마이너 버전을 나타냅니다. 예를 들면 stable-5.7 입니다.

  1. Loki Operator의 Namespace 오브젝트를 생성합니다.

    Namespace 오브젝트의 예

    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-operators-redhat 
    1
    
      annotations:
        openshift.io/node-selector: ""
      labels:
        openshift.io/cluster-monitoring: "true" 
    2
    Copy to Clipboard Toggle word wrap

    1
    openshift-operators-redhat 네임스페이스를 지정해야 합니다. 지표의 충돌을 방지하려면 openshift-operators 네임스페이스가 아니라 openshift-operators-redhat 네임스페이스에서 지표를 스크랩하도록 Prometheus 클러스터 모니터링 스택을 구성해야 합니다. openshift-operators 네임스페이스에 신뢰할 수 없는 Community Operator가 포함될 수 있고, 여기에서 OpenShift Container Platform 지표와 동일한 이름의 지표를 게시하면 충돌이 발생합니다.
    2
    클러스터 모니터링이 openshift-operators-redhat 네임스페이스를 스크랩하도록 하기 위해 표시된 대로 라벨을 지정하는 문자열 값입니다.
  2. 다음 명령을 실행하여 Namespace 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  3. Loki Operator에 대한 Subscription 오브젝트를 생성합니다.

    Subscription 개체 예

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: loki-operator
      namespace: openshift-operators-redhat 
    1
    
    spec:
      channel: stable 
    2
    
      name: loki-operator
      source: redhat-operators 
    3
    
      sourceNamespace: openshift-marketplace
    Copy to Clipboard Toggle word wrap

    1
    openshift-operators-redhat 네임스페이스를 지정해야 합니다.
    2
    stable, 또는 stable-5.<y>를 채널로 지정합니다.
    3
    redhat-operators를 지정합니다. OpenShift Container Platform 클러스터가 제한된 네트워크(연결이 끊긴 클러스터)에 설치된 경우 OLM(Operator Lifecycle Manager)을 구성할 때 생성된 CatalogSource 오브젝트의 이름을 지정합니다.
  4. 다음 명령을 실행하여 Subscription 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  5. Red Hat OpenShift Logging Operator의 네임스페이스 오브젝트를 생성합니다.

    네임스페이스 오브젝트의 예

    apiVersion: v1
    kind: Namespace
    metadata:
      name: openshift-logging 
    1
    
      annotations:
        openshift.io/node-selector: ""
      labels:
        openshift.io/cluster-logging: "true"
        openshift.io/cluster-monitoring: "true" 
    2
    Copy to Clipboard Toggle word wrap

    1
    Red Hat OpenShift Logging Operator는 openshift-logging 네임스페이스에만 배포할 수 있습니다.
    2
    클러스터 모니터링이 openshift-operators-redhat 네임스페이스를 스크랩하도록 하기 위해 표시된 대로 라벨을 지정하는 문자열 값입니다.
  6. 다음 명령을 실행하여 namespace 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  7. OperatorGroup 오브젝트 생성

    OperatorGroup 오브젝트의 예

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: cluster-logging
      namespace: openshift-logging 
    1
    
    spec:
      targetNamespaces:
      - openshift-logging
    Copy to Clipboard Toggle word wrap

    1
    openshift-logging 네임스페이스를 지정해야 합니다.
  8. 다음 명령을 실행하여 OperatorGroup 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  9. Subscription 오브젝트를 생성합니다.

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: cluster-logging
      namespace: openshift-logging 
    1
    
    spec:
      channel: stable 
    2
    
      name: cluster-logging
      source: redhat-operators 
    3
    
      sourceNamespace: openshift-marketplace
    Copy to Clipboard Toggle word wrap
    1
    openshift-logging 네임스페이스를 지정해야 합니다.
    2
    stable, 또는 stable-5.<y>를 채널로 지정합니다.
    3
    redhat-operators를 지정합니다. OpenShift Container Platform 클러스터가 제한된 네트워크(연결이 끊긴 클러스터)에 설치된 경우 OLM(Operator Lifecycle Manager)을 구성할 때 생성된 CatalogSource 오브젝트의 이름을 지정합니다.
  10. 다음 명령을 실행하여 Subscription 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  11. LokiStack CR을 생성합니다.

    LokiStack CR의 예

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki 
    1
    
      namespace: openshift-logging 
    2
    
    spec:
      size: 1x.small 
    3
    
      storage:
        schemas:
        - version: v13
          effectiveDate: "<yyyy>-<mm>-<dd>"
        secret:
          name: logging-loki-s3 
    4
    
          type: s3 
    5
    
          credentialMode: 
    6
    
      storageClassName: <storage_class_name> 
    7
    
      tenants:
        mode: openshift-logging 
    8
    Copy to Clipboard Toggle word wrap

    1
    logging-loki 라는 이름을 사용합니다.
    2
    openshift-logging 네임스페이스를 지정해야 합니다.
    3
    배포 크기를 지정합니다. 로깅 5.8 이상 버전에서 Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은 1x.extra-small, 1x.small, 또는 1x.medium입니다.
    4
    로그 저장소 시크릿의 이름을 지정합니다.
    5
    해당 스토리지 유형을 지정합니다.
    6
    선택적 필드, 로깅 5.9 이상 지원되는 사용자 구성 값은 다음과 같습니다. static 은 Secret에 저장된 인증 정보를 사용하여 지원되는 모든 오브젝트 스토리지 유형에 사용할 수 있는 기본 인증 모드입니다. 인증 정보 소스에서 검색된 단기 토큰에 대한 token입니다. 이 모드에서 정적 구성에는 오브젝트 스토리지에 필요한 인증 정보가 포함되어 있지 않습니다. 대신 서비스를 사용하여 런타임 중에 생성되므로 더 짧은 자격 증명과 훨씬 더 세분화된 제어가 가능합니다. 이 인증 모드는 모든 오브젝트 스토리지 유형에서 지원되지 않습니다. token-cco 는 Loki가 관리 STS 모드에서 실행되고 STS/WIF 클러스터에서 CCO를 사용할 때 기본값입니다.
    7
    임시 스토리지의 스토리지 클래스 이름을 지정합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다. oc get storageclasses 명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다.
    8
    LokiStack은 기본적으로 다중 테넌트 모드에서 실행되며 수정할 수 없습니다. 각 로그 유형( audit, infrastructure, application logs)에 대해 하나의 테넌트가 제공됩니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
  12. 다음 명령을 실행하여 LokiStack CR 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  13. ClusterLogging CR 오브젝트를 생성합니다.

    ClusterLogging CR 오브젝트의 예

    apiVersion: logging.openshift.io/v1
    kind: ClusterLogging
    metadata:
      name: instance 
    1
    
      namespace: openshift-logging 
    2
    
    spec:
      collection:
        type: vector
      logStore:
        lokistack:
          name: logging-loki
        retentionPolicy:
          application:
            maxAge: 7d
          audit:
            maxAge: 7d
          infra:
            maxAge: 7d
        type: lokistack
      visualization:
        type: ocp-console
        ocpConsole:
          logsLimit: 15
      managementState: Managed
    Copy to Clipboard Toggle word wrap

    1
    이름은 instance 여야 합니다.
    2
    네임스페이스는 openshift-logging 이어야 합니다.
  14. 다음 명령을 실행하여 ClusterLogging CR 오브젝트를 적용합니다.

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap
  15. 다음 명령을 실행하여 설치를 확인합니다.

    $ oc get pods -n openshift-logging
    Copy to Clipboard Toggle word wrap

    출력 예

    $ oc get pods -n openshift-logging
    NAME                                               READY   STATUS    RESTARTS   AGE
    cluster-logging-operator-fb7f7cf69-8jsbq           1/1     Running   0          98m
    collector-222js                                    2/2     Running   0          18m
    collector-g9ddv                                    2/2     Running   0          18m
    collector-hfqq8                                    2/2     Running   0          18m
    collector-sphwg                                    2/2     Running   0          18m
    collector-vv7zn                                    2/2     Running   0          18m
    collector-wk5zz                                    2/2     Running   0          18m
    logging-view-plugin-6f76fbb78f-n2n4n               1/1     Running   0          18m
    lokistack-sample-compactor-0                       1/1     Running   0          42m
    lokistack-sample-distributor-7d7688bcb9-dvcj8      1/1     Running   0          42m
    lokistack-sample-gateway-5f6c75f879-bl7k9          2/2     Running   0          42m
    lokistack-sample-gateway-5f6c75f879-xhq98          2/2     Running   0          42m
    lokistack-sample-index-gateway-0                   1/1     Running   0          42m
    lokistack-sample-ingester-0                        1/1     Running   0          42m
    lokistack-sample-querier-6b7b56bccc-2v9q4          1/1     Running   0          42m
    lokistack-sample-query-frontend-84fb57c578-gq2f7   1/1     Running   0          42m
    Copy to Clipboard Toggle word wrap

4.2.2. 웹 콘솔을 사용하여 Logging 및 Loki Operator 설치

OpenShift Container Platform 클러스터에 로깅을 설치하고 구성하려면 로그 스토리지용 Loki Operator와 같은 Operator를 먼저 설치해야 합니다. 이는 웹 콘솔 내의 OperatorHub에서 수행할 수 있습니다.

사전 요구 사항

  • 지원되는 오브젝트 저장소(AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)에 액세스할 수 있습니다.
  • 관리자 권한이 있습니다.
  • OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.

프로세스

  1. OpenShift Container Platform 웹 콘솔 관리자 화면에서 OperatorOperatorHub 로 이동합니다.
  2. 키워드로 필터링 필드에 Loki Operator를 입력합니다. 사용 가능한 Operator 목록에서 Loki Operator 를 클릭한 다음 설치를 클릭합니다.

    중요

    Community Loki Operator는 Red Hat에서 지원하지 않습니다.

  3. 업데이트 채널로 stable 또는 stable-x.y 를 선택합니다.

    참고

    stable 채널은 최신 로깅 릴리스에 대한 업데이트만 제공합니다. 이전 릴리스에 대한 업데이트를 계속 받으려면 서브스크립션 채널을 stable-x.y 로 변경해야 합니다. 여기서 x.y 는 설치한 로깅 및 마이너 버전을 나타냅니다. 예를 들면 stable-5.7 입니다.

    Loki Operator는 글로벌 Operator 그룹 네임스페이스 openshift-operators-redhat 에 배포되어야 하므로 설치 모드설치된 네임스페이스 가 이미 선택되어 있습니다. 이 네임스페이스가 아직 없는 경우 이를 위해 생성됩니다.

  4. 이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.

    이 옵션은 Namespace 오브젝트에서 openshift.io/cluster-monitoring: "true" 라벨을 설정합니다. 클러스터 모니터링이 openshift-operators-redhat 네임스페이스를 스크랩하도록 하려면 이 옵션을 선택해야 합니다.

  5. 업데이트 승인의 경우 자동 을 선택한 다음 설치를 클릭합니다.

    서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 수동으로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.

  6. Red Hat OpenShift Logging Operator를 설치합니다.

    1. OpenShift Container Platform 웹 콘솔에서 OperatorOperatorHub를 클릭합니다.
    2. 사용 가능한 Operator 목록에서 Red Hat OpenShift Logging 을 선택하고 설치를 클릭합니다.
    3. 설치 모드에서 클러스터의 특정 네임스페이스가 선택되어 있는지 확인합니다.
    4. 설치된 네임스페이스에서 Operator 권장 네임스페이스openshift-logging인지 확인하십시오.
    5. 이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.

      이 옵션은 네임스페이스 오브젝트에서 openshift.io/cluster-monitoring: "true" 레이블을 설정합니다. 클러스터 모니터링이 openshift-logging 네임스페이스를 스크랩하도록 하려면 이 옵션을 선택해야 합니다.

    6. stable-5.y업데이트 채널로 선택합니다.
    7. 승인 전략을 선택합니다.

      • 자동 전략을 사용하면 Operator 새 버전이 준비될 때 OLM(Operator Lifecycle Manager)이 자동으로 Operator를 업데이트할 수 있습니다.
      • 수동 전략을 사용하려면 적절한 자격 증명을 가진 사용자가 Operator 업데이트를 승인해야 합니다.
    8. 설치를 클릭합니다.
  7. Operator설치된 Operator 페이지로 이동합니다. 모든 인스턴스 탭을 클릭합니다.
  8. Create new 드롭다운 목록에서 LokiStack 을 선택합니다.
  9. YAML 보기를 선택한 다음 다음 템플릿을 사용하여 LokiStack CR을 생성합니다.

    LokiStack CR의 예

    apiVersion: loki.grafana.com/v1
    kind: LokiStack
    metadata:
      name: logging-loki 
    1
    
      namespace: openshift-logging 
    2
    
    spec:
      size: 1x.small 
    3
    
      storage:
        schemas:
        - version: v13
          effectiveDate: "<yyyy>-<mm>-<dd>"
        secret:
          name: logging-loki-s3 
    4
    
          type: s3 
    5
    
          credentialMode: 
    6
    
      storageClassName: <storage_class_name> 
    7
    
      tenants:
        mode: openshift-logging 
    8
    Copy to Clipboard Toggle word wrap

    1
    logging-loki 라는 이름을 사용합니다.
    2
    openshift-logging 네임스페이스를 지정해야 합니다.
    3
    배포 크기를 지정합니다. 로깅 5.8 이상 버전에서 Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은 1x.extra-small, 1x.small, 또는 1x.medium입니다.
    4
    로그 저장소 시크릿의 이름을 지정합니다.
    5
    해당 스토리지 유형을 지정합니다.
    6
    선택적 필드, 로깅 5.9 이상 지원되는 사용자 구성 값은 다음과 같습니다. static은 Secret에 저장된 인증 정보를 사용하여 지원되는 모든 오브젝트 스토리지 유형에 사용할 수 있는 기본 인증 모드입니다. 인증 정보 소스에서 검색된 단기 토큰의 토큰입니다. 이 모드에서 정적 구성에는 오브젝트 스토리지에 필요한 인증 정보가 포함되어 있지 않습니다. 대신 서비스를 사용하여 런타임 중에 생성되므로 더 짧은 자격 증명과 훨씬 더 세분화된 제어가 가능합니다. 이 인증 모드는 모든 오브젝트 스토리지 유형에서 지원되지 않습니다. token-cco는 Loki가 관리 STS 모드에서 실행되고 STS/WIF 클러스터에서 CCO를 사용할 때 기본값입니다.
    7
    임시 스토리지의 스토리지 클래스 이름을 지정합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다. oc get storageclasses 명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다.
    8
    LokiStack은 기본적으로 다중 테넌트 모드에서 실행되며 수정할 수 없습니다. 각 로그 유형( audit, infrastructure, application logs)에 대해 하나의 테넌트가 제공됩니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
    중요

    배포 크기에 대해 숫자 1x 를 변경할 수 없습니다.

  10. 생성을 클릭합니다.
  11. OpenShift Logging 인스턴스를 생성합니다.

    1. 관리사용자 정의 리소스 정의 페이지로 전환합니다.
    2. 사용자 정의 리소스 정의 페이지에서 ClusterLogging을 클릭합니다.
    3. 사용자 정의 리소스 정의 상세 정보 페이지의 작업 메뉴에서 인스턴스 보기를 선택합니다.
    4. ClusterLoggings 페이지에서 ClusterLogging 생성을 클릭합니다.

      데이터를 로드하기 위해 페이지를 새로 고쳐야 할 수도 있습니다.

    5. YAML 필드에서 코드를 다음으로 교체합니다.

      apiVersion: logging.openshift.io/v1
      kind: ClusterLogging
      metadata:
        name: instance 
      1
      
        namespace: openshift-logging 
      2
      
      spec:
        collection:
          type: vector
        logStore:
          lokistack:
            name: logging-loki
          retentionPolicy:
            application:
              maxAge: 7d
            audit:
              maxAge: 7d
            infra:
              maxAge: 7d
          type: lokistack
        visualization:
          type: ocp-console
          ocpConsole:
            logsLimit: 15
        managementState: Managed
      Copy to Clipboard Toggle word wrap
      1
      이름은 instance 여야 합니다.
      2
      네임스페이스는 openshift-logging 이어야 합니다.

검증

  1. Operator설치된 Operator 로 이동합니다.
  2. openshift-logging 프로젝트가 선택되어 있는지 확인합니다.
  3. 상태 열에서 InstallSucceeded 가 포함된 녹색 확인 표시와 최대 날짜 텍스트가 표시되는지 확인합니다.
참고

Operator는 설치가 완료되기 전에 실패 상태를 표시할 수 있습니다. Operator 설치가 InstallSucceeded 메시지와 함께 완료되면 페이지를 새로 고칩니다.

Legal Notice

Copyright © 2025 Red Hat

OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).

Modified versions must remove all Red Hat trademarks.

Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.

Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.

Linux® is the registered trademark of Linus Torvalds in the United States and other countries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.

MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.

Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.

The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.

All other trademarks are the property of their respective owners.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat