9장. 로그 수집 및 전달


9.1. 로그 수집 및 전달 정보

Red Hat OpenShift Logging Operator는 ClusterLogForwarder 리소스 사양에 따라 수집기를 배포합니다. 이 Operator에서 지원하는 수집기 옵션은 레거시 Fluentd 수집기와 벡터 수집기의 두 가지입니다.

참고

Fluentd는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. Red Hat은 현재 릴리스 라이프사이클 동안 이 기능에 대한 버그 수정 및 지원을 제공하지만 이 기능은 더 이상 개선 사항을 받지 않습니다. Fluentd 대신 Vector를 사용할 수 있습니다.

9.1.1. 로그 컬렉션

로그 수집기는 각 OpenShift Container Platform 노드에 Pod를 배포하여 컨테이너 및 노드 로그를 수집하는 데몬 세트입니다.

기본적으로 로그 수집기는 다음 소스를 사용합니다.

  • 운영 체제, 컨테이너 런타임 및 OpenShift Container Platform의 journald 로그 메시지에 의해 생성된 시스템 및 인프라 로그입니다.
  • 모든 컨테이너 로그에 대한 /var/log/containers/*.log

감사 로그를 수집하도록 로그 수집기를 구성하는 경우 /var/log/audit/audit.log 에서 해당 로그를 수집합니다.

로그 수집기는 이러한 소스에서 로그를 수집하여 로깅 구성에 따라 내부 또는 외부로 전달합니다.

9.1.1.1. 로그 수집기 유형

벡터 는 로깅을 위해 Fluentd의 대안으로 제공되는 로그 수집기입니다.

ClusterLogging 사용자 정의 리소스(CR) 컬렉션 사양을 수정하여 클러스터에서 사용하는 로깅 수집기 유형을 구성할 수 있습니다.

Vector를 수집기로 구성하는 ClusterLogging CR의 예

apiVersion: logging.openshift.io/v1
kind: ClusterLogging
metadata:
  name: instance
  namespace: openshift-logging
spec:
  collection:
    logs:
      type: vector
      vector: {}
# ...

9.1.1.2. 로그 컬렉션 제한 사항

컨테이너 런타임은 로그 메시지의 소스(프로젝트, Pod 이름 및 컨테이너 ID)를 식별하기 위한 최소한의 정보를 제공합니다. 이 정보로는 로그 소스를 고유하게 식별하기에 부족합니다. 로그 수집기에서 로그 처리를 시작하기 전에 지정된 이름과 프로젝트가 있는 Pod를 삭제하면 레이블 및 주석과 같은 API 서버의 정보를 사용할 수 없게 됩니다. 로그 메시지를 비슷한 이름의 Pod 및 프로젝트와 구별할 방법 또는 로그의 소스를 추적할 방법이 없을 수 있습니다. 이 제한은 로그 수집 및 정규화가 최선의 노력으로 간주됨을 의미합니다.

중요

사용 가능한 컨테이너 런타임은 로그 메시지의 소스를 식별할 수 있는 최소한의 정보를 제공하며, 고유한 개별 로그 메시지 또는 그러한 메시지의 소스 추적을 보장하지 않습니다.

9.1.1.3. 유형별 로그 수집기 기능

표 9.1. 로그 소스
기능fluentdvector

앱 컨테이너 로그

앱별 라우팅

네임스페이스별 앱별 라우팅

인프라 컨테이너 로그

인프라 저널 로그

kube API 감사 로그

OpenShift API 감사 로그

OVN(Open Virtual Network) 감사 로그

표 9.2. 권한 부여 및 인증
기능fluentdvector

Elasticsearch 인증서

Elasticsearch 사용자 이름 / 암호

NetNamespace 키

<.> STS

Kafka 인증서

Kafka 사용자 이름 / 암호

kafka SASL

Loki bearer 토큰

표 9.3. Normalizations 및 transformationss
기능fluentdvector

Viaq 데이터 모델 - 앱

Viaq 데이터 모델 - 인프라

Viaq 데이터 모델 - 인프라(journal)

Viaq 데이터 모델 - Linux 감사

Viaq 데이터 모델 - kube-apiserver audit

Viaq 데이터 모델 - OpenShift API 감사

Viaq 데이터 모델 - OVN

loglevel Normalization

JSON 구문 분석

구조화된 인덱스

다중 줄 오류 감지

multicontainer / split 인덱스

flatten 라벨

CLF 정적 레이블

표 9.4. tuning
기능fluentdvector

fluentd readlinelimit

 

fluentd 버퍼

 

- chunklimitsize

 

- 총 제한 크기

 

- overflowaction

 

- flushthreadcount

 

- flushmode

 

- flushinterval

 

- retrywait

 

- retrytype

 

- retrymaxinterval

 

- retrytimeout

 
표 9.5. 가시성
기능fluentdvector

지표

대시보드

경고

표 9.6. 기타
기능fluentdvector

글로벌 프록시 지원

x86 지원

ARM 지원

PowerPC 지원

IBM Z 지원

IPv6 지원

로그 이벤트 버퍼링

 

연결이 끊긴 클러스터

9.1.1.4. 수집기 출력

다음 컬렉터 출력이 지원됩니다.

표 9.7. 지원되는 출력
기능fluentdvector

Elasticsearch v6-v8

fluent forward

 

Syslog RFC3164

ECDHE (logging 5.7 이상)

Syslog RFC5424

ECDHE (logging 5.7 이상)

kafka

서드니

<.> STS

Loki

HTTP

ECDHE (logging 5.7 이상)

Google 클라우드 로깅

Splunk

 

Cryostat (logging 5.6 이상)

9.1.2. 로그 전송

관리자는 수집되는 로그, 변환 방법, 전달되는 위치를 지정하는 ClusterLogForwarder 리소스를 생성할 수 있습니다.

ClusterLogForwarder 리소스는 컨테이너, 인프라 및 감사 로그를 클러스터 내부 또는 외부의 특정 끝점으로 전달하는 데 사용할 수 있습니다. TLS(Transport Layer Security)가 지원되므로 로그를 안전하게 전송하도록 로그 전달자를 구성할 수 있습니다.

관리자는 어떤 유형의 로그에 액세스하고 전달할 수 있는 서비스 계정 및 사용자를 정의하는 RBAC 권한을 부여할 수도 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.