OpenShift 로깅 배포 정보

Jonggyou Kim
4 min readJan 4, 2022

--

OpenShift Container Platform 클러스터 관리자는 OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 OpenShift Logging을 배포하여 OpenShift Elasticsearch Operator 및 Red Hat OpenShift Logging Operator를 설치할 수 있다.

Operator가 설치되면 ClusterLogging사용자 지정 리소스(CR)를 생성하여 OpenShift Logging 포드 및 OpenShift Logging을 지원하는 데 필요한 기타 리소스를 예약한다. Operator는 OpenShift Logging을 배포, 업그레이드 및 유지 관리할 책임이 있다.

ClusterLoggingCR 수집, 저장 및 시각화 로그에 로깅 스택의 모든 구성 요소를 포함하는 완전한 OpenShift 로깅 환경을 정의한다. Red Hat OpenShift Logging Operator는 OpenShift Logging CR을 관찰하고 그에 따라 로깅 배포를 조정한다.

관리자와 애플리케이션 개발자는 보기 액세스 권한이 있는 프로젝트의 로그를 볼 수 있다.

OpenShift 로깅 구성 요소 정보

OpenShift Logging 구성 요소에는 모든 노드 및 컨테이너 로그를 수집하고 로그 저장소에 기록하는 OpenShift Container Platform 클러스터의 각 노드에 배포된 수집기가 포함된다. 중앙 집중식 웹 UI를 사용하여 집계된 데이터로 풍부한 시각화 및 대시보드를 만들 수 있다.

OpenShift 로깅의 주요 구성 요소는 다음과 같다.

  • collection — 클러스터에서 로그를 수집하고 형식을 지정하고 로그 저장소로 전달하는 구성 요소. 현재 구현은 Fluentd.
  • log store — 로그가 저장되는 곳이며 기본 구현은 Elasticsearch 이다. 기본 Elasticsearch 로그 저장소를 사용하거나 로그를 외부 로그 저장소로 전달할 수 있다.
  • visualization — 로그, 그래프, 차트 등을 보는 데 사용할 수 있는 UI 구성 요소입니다. 현재 구현은 Kibana.

이 문서는 별도의 언급이 없는 한 로그 저장소 또는 Elasticsearch, 시각화 또는 Kibana, 컬렉션 또는 Fluentd를 상호 교환적으로 참조할 수 있습니다.

로깅 수집기 정보

OpenShift Container Platform은 Fluentd를 사용하여 컨테이너 및 노드 로그를 수집하며, 기본적으로 다음 소스를 사용한다.

  • 모든 시스템 로그에 대한 journald
  • 모든 컨테이너 로그에 대한 /var/log/containers/*.log

더불어 기본으로는 audit 로그를 로그 저장소에 수집하지 않으나, audit 로그를 수집하도록 하려면 /var/log/audit/audit.log를 추가한다.

로깅 수집기는 각 OpenShift Container Platform 노드에 포드를 배포하는 DaemonSet 이다. 시스템 및 인프라 로그는 운영 체제, 컨테이너 런타임 및 OpenShift Container Platform에서 저널링된 로그 메시지에 의해 생성된다. 애플리케이션 로그는 CRI-O 컨테이너 엔진에 의해 생성된다. Fluentd는 이러한 소스에서 로그를 수집하고 OpenShift Container Platform에서 구성할 때 내부 또는 외부로 전달한다.

컨테이너 런타임은 로그 메시지 소스를 식별하기 위한 최소한의 정보(프로젝트, 포드 이름 및 컨테이너 ID)를 제공한다. 이 정보는 로그 소스를 고유하게 식별하는 데 충분하지 않기 때문에 로그 수집기가 해당 로그 처리를 시작하기 전에 지정된 이름과 프로젝트를 가진 팟(Pod)이 삭제되면 레이블 및 주석과 같은 API 서버의 정보를 사용하지 못할 수 있다. 유사한 이름의 포드 및 프로젝트에서 로그 메시지를 구별하거나 해당 소스에 대한 로그를 추적하는 방법이 없을 수 있다. 이 제한은 로그 수집 및 정규화가 최선의 노력 으로 간주됨을 의미한다 .

--

--

Jonggyou Kim
Jonggyou Kim

No responses yet