8.3. CloudEvent를 사용하여 스트림 기반 보존 활성화

로깅 버전 5.6 이상을 사용하면 로그 스트림에 따라 보존 정책을 구성할 수 있습니다. 이러한 규칙은 테넌트별로 또는 둘 다 전역적으로 설정할 수 있습니다. 둘 다 구성하면 글로벌 규칙 이전에 테넌트 규칙이 적용됩니다.

  1. 스트림 기반 보존을 활성화하려면 ScanSetting Stack CR(사용자 정의 리소스)을 생성하거나 편집합니다.
oc create -f <file-name>.yaml
  1. 아래 예제를 참조하여stack CR을 구성할 수 있습니다.

전역 스트림 기반 보존의 예

apiVersion: loki.grafana.com/v1
kind: LokiStack
metadata:
  name: logging-loki
  namespace: openshift-logging
spec:
  limits:
    global: 1
      retention: 2
        days: 20
        streams:
        - days: 4
          priority: 1
          selector: '{kubernetes_namespace_name=~"test.+"}' 3
        - days: 1
          priority: 1
          selector: '{log_type="infrastructure"}'
  managementState: Managed
  replicationFactor: 1
  size: 1x.small
  storage:
    schemas:
    - effectiveDate: "2020-10-11"
      version: v11
    secret:
      name: logging-loki-s3
      type: aws
  storageClassName: standard
  tenants:
    mode: openshift-logging

1
모든 로그 스트림에 대한 보존 정책을 설정합니다. 참고: 이 필드는 오브젝트 스토리지에서 저장된 로그의 보존 기간에는 영향을 미치지 않습니다.
2
이 블록이 CR에 추가될 때 클러스터에서 보존이 활성화됩니다.
3
로그 스트림을 정의하는 데 사용되는 LogQL 쿼리를 포함합니다.

테넌트당 스트림 기반 보존 예

apiVersion: loki.grafana.com/v1
kind: LokiStack
metadata:
  name: logging-loki
  namespace: openshift-logging
spec:
  limits:
    global:
      retention:
        days: 20
    tenants: 1
      application:
        retention:
          days: 1
          streams:
            - days: 4
              selector: '{kubernetes_namespace_name=~"test.+"}' 2
      infrastructure:
        retention:
          days: 5
          streams:
            - days: 1
              selector: '{kubernetes_namespace_name=~"openshift-cluster.+"}'
  managementState: Managed
  replicationFactor: 1
  size: 1x.small
  storage:
    schemas:
    - effectiveDate: "2020-10-11"
      version: v11
    secret:
      name: logging-loki-s3
      type: aws
  storageClassName: standard
  tenants:
    mode: openshift-logging

1
테넌트별 보존 정책을 설정합니다. 유효한 테넌트 유형은 애플리케이션,감사인프라 입니다.
2
로그 스트림을 정의하는 데 사용되는 LogQL 쿼리를 포함합니다.
  1. 그런 다음 설정을 적용합니다.
oc apply -f <file-name>.yaml
참고

이는 저장된 로그의 보존을 관리하기 위한 것이 아닙니다. 지원되는 최대 30일 동안의 저장된 로그의 글로벌 보존 기간은 오브젝트 스토리지로 구성됩니다.