1장. 로그 전달 구성


ClusterLogForwarder (CLF)를 사용하면 사용자가 다양한 대상으로 로그 전달을 구성할 수 있습니다. 다른 소스의 로그 메시지를 선택하고, 변환하거나 필터링할 수 있는 파이프라인을 통해 보내고, 하나 이상의 출력으로 전달할 수 있는 유연한 방법을 제공합니다.

ClusterLogForwarder의 주요 기능

  • 입력을 사용하여 로그 메시지 선택
  • 출력을 사용하여 외부 대상으로 로그를 전달
  • 필터를 사용하여 로그 메시지를 필터링, 변환 및 삭제
  • 입력, 필터 및 출력을 연결하는 로그 전달 파이프라인을 정의합니다.

1.1. 로그 컬렉션 설정

이 클러스터 로깅 릴리스에서는 관리자가 ClusterLogForwarder 와 연결된 서비스 계정에 로그 수집 권한을 명시적으로 부여해야 합니다. ClusterLoggingClusterLogForwarder.logging.openshift.io 리소스로 구성된 레거시 로깅 시나리오의 이전 릴리스에서는 이 작업이 필요하지 않았습니다.

Red Hat OpenShift Logging Operator는 collect-audit-logs,collect-application-logs, collect-infrastructure-logs 클러스터 역할을 제공하여 수집기가 감사 로그, 애플리케이션 로그 및 인프라 로그를 각각 수집할 수 있습니다.

필요한 클러스터 역할을 서비스 계정에 바인딩하여 로그 컬렉션을 설정합니다.

1.1.1. 레거시 서비스 계정

기존 서비스 계정 logcollector 를 사용하려면 다음 ClusterRoleBinding 을 생성합니다.

$ oc adm policy add-cluster-role-to-user collect-application-logs system:serviceaccount:openshift-logging:logcollector
Copy to Clipboard Toggle word wrap
$ oc adm policy add-cluster-role-to-user collect-infrastructure-logs system:serviceaccount:openshift-logging:logcollector
Copy to Clipboard Toggle word wrap

또한 감사 로그를 수집하는 경우 다음 ClusterRoleBinding 을 생성합니다.

$ oc adm policy add-cluster-role-to-user collect-audit-logs system:serviceaccount:openshift-logging:logcollector
Copy to Clipboard Toggle word wrap

1.1.2. 서비스 계정 생성

사전 요구 사항

  • Red Hat OpenShift Logging Operator는 openshift-logging 네임스페이스에 설치됩니다.
  • 관리자 권한이 있습니다.

프로세스

  1. 수집기의 서비스 계정을 생성합니다. 인증을 위해 토큰이 필요한 스토리지에 로그를 작성하려면 서비스 계정에 토큰을 포함해야 합니다.
  2. 적절한 클러스터 역할을 서비스 계정에 바인딩합니다.

    바인딩 명령 예

    $ oc adm policy add-cluster-role-to-user <cluster_role_name> system:serviceaccount:<namespace_name>:<service_account_name>
    Copy to Clipboard Toggle word wrap

1.1.2.1. 서비스 계정의 클러스터 역할 바인딩

role_binding.yaml 파일은 ClusterLogging Operator의 ClusterRole을 특정 ServiceAccount에 바인딩하여 클러스터 전체에서 Kubernetes 리소스를 관리할 수 있습니다.

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: manager-rolebinding
roleRef:                                           
1

  apiGroup: rbac.authorization.k8s.io              
2

  kind: ClusterRole                                
3

  name: cluster-logging-operator                   
4

subjects:                                          
5

  - kind: ServiceAccount                           
6

    name: cluster-logging-operator                 
7

    namespace: openshift-logging                   
8
Copy to Clipboard Toggle word wrap
1
roleRef: 바인딩이 적용되는 ClusterRole을 참조합니다.
2
apiGroup: RBAC API 그룹을 나타내며 ClusterRole이 Kubernetes RBAC 시스템의 일부임을 지정합니다.
3
kind: 참조된 역할이 클러스터 전체에서 적용되는 ClusterRole임을 지정합니다.
4
name: ServiceAccount에 바인딩되는 ClusterRole의 이름입니다. 여기서 cluster-logging-operator.
5
제목: ClusterRole에서 권한을 부여하는 엔터티(사용자 또는 서비스 계정)를 정의합니다.
6
kind: subject가 ServiceAccount임을 지정합니다.
7
name: 권한이 부여된 ServiceAccount의 이름입니다.
8
namespace: ServiceAccount가 있는 네임스페이스를 나타냅니다.

1.1.2.2. 애플리케이션 로그 작성

write-application-logs-clusterrole.yaml 파일은 Loki 로깅 애플리케이션에 애플리케이션 로그를 작성할 수 있는 권한을 부여하는 ClusterRole을 정의합니다.

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: cluster-logging-write-application-logs
rules:                                              
1

  - apiGroups:                                      
2

      - loki.grafana.com                            
3

    resources:                                      
4

      - application                                 
5

    resourceNames:                                  
6

      - logs                                        
7

    verbs:                                          
8

      - create                                      
9
Copy to Clipboard Toggle word wrap
1
rules: 이 ClusterRole에서 부여하는 권한을 지정합니다.
2
apiGroups: Loki 로깅 시스템과 관련된 API 그룹 loki.grafana.com을 나타냅니다.
3
Loki.grafana.com: Loki 관련 리소스를 관리하기 위한 API 그룹입니다.
4
resources: ClusterRole에서 상호 작용할 수 있는 권한을 부여하는 리소스 유형입니다.
5
application: Loki 로깅 시스템 내의 애플리케이션 리소스를 나타냅니다.
6
resourceNames: 이 역할이 관리할 수 있는 리소스의 이름을 지정합니다.
7
로그: 생성할 수 있는 로그 리소스를 참조합니다.
8
동사: 리소스에서 허용되는 작업입니다.
9
create: Loki 시스템에서 새 로그를 생성할 수 있는 권한을 부여합니다.

1.1.2.3. 감사 로그 작성

write-audit-logs-clusterrole.yaml 파일은 Loki 로깅 시스템에서 감사 로그를 생성할 수 있는 권한을 부여하는 ClusterRole을 정의합니다.

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: cluster-logging-write-audit-logs
rules:                                              
1

  - apiGroups:                                      
2

      - loki.grafana.com                            
3

    resources:                                      
4

      - audit                                       
5

    resourceNames:                                  
6

      - logs                                        
7

    verbs:                                          
8

      - create                                      
9
Copy to Clipboard Toggle word wrap
1
rules: 이 ClusterRole에서 부여하는 권한을 정의합니다.
2
apiGroups: loki.grafana.com API 그룹을 지정합니다.
3
Loki.grafana.com: Loki 로깅 리소스를 담당하는 API 그룹입니다.
4
resources: 이 역할이 관리하는 리소스 유형을 나타냅니다(이 경우 audit).
5
audit: 역할이 Loki 내에서 감사 로그를 관리하도록 지정합니다.
6
resourceNames: 역할이 액세스할 수 있는 특정 리소스를 정의합니다.
7
logs: 이 역할에서 관리할 수 있는 로그를 참조합니다.
8
동사: 리소스에서 허용되는 작업입니다.
9
create: 새 감사 로그를 생성할 수 있는 권한을 부여합니다.

1.1.2.4. 인프라 로그 작성

write-infrastructure-logs-clusterrole.yaml 파일은 Loki 로깅 시스템에서 인프라 로그를 생성할 수 있는 권한을 부여하는 ClusterRole을 정의합니다.

샘플 YAML

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: cluster-logging-write-infrastructure-logs
rules:                                              
1

  - apiGroups:                                      
2

      - loki.grafana.com                            
3

    resources:                                      
4

      - infrastructure                              
5

    resourceNames:                                  
6

      - logs                                        
7

    verbs:                                          
8

      - create                                      
9
Copy to Clipboard Toggle word wrap

1
rules: 이 ClusterRole에서 부여하는 권한을 지정합니다.
2
apiGroups: Loki 관련 리소스의 API 그룹을 지정합니다.
3
Loki.grafana.com: Loki 로깅 시스템을 관리하는 API 그룹입니다.
4
리소스: 이 역할이 상호 작용할 수 있는 리소스 유형을 정의합니다.
5
인프라: 이 역할이 관리하는 인프라 관련 리소스를 나타냅니다.
6
resourceNames: 이 역할이 관리할 수 있는 리소스의 이름을 지정합니다.
7
로그: 인프라와 관련된 로그 리소스를 참조합니다.
8
동사: 이 역할에서 허용하는 작업입니다.
9
생성: Loki 시스템에서 인프라 로그를 생성할 수 있는 권한을 부여합니다.

1.1.2.5. ClusterLogForwarder 편집기 역할

clusterlogforwarder-editor-role.yaml 파일은 사용자가 OpenShift에서 ClusterLogForwarder를 관리할 수 있는 ClusterRole을 정의합니다.

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: clusterlogforwarder-editor-role
rules:                                              
1

  - apiGroups:                                      
2

      - observability.openshift.io                  
3

    resources:                                      
4

      - clusterlogforwarders                        
5

    verbs:                                          
6

      - create                                      
7

      - delete                                      
8

      - get                                         
9

      - list                                        
10

      - patch                                       
11

      - update                                      
12

      - watch                                       
13
Copy to Clipboard Toggle word wrap
1
rules: 이 ClusterRole에서 부여하는 권한을 지정합니다.
2
apiGroups: OpenShift 관련 API 그룹을 참조합니다.
3
obervability.openshift.io: 로깅과 같은 관찰 기능 리소스를 관리하는 API 그룹입니다.
4
resources: 이 역할이 관리할 수 있는 리소스를 지정합니다.
5
clusterlogforwarders: OpenShift의 로그 전달 리소스를 참조합니다.
6
verbs: ClusterLogForwarders에 허용되는 작업을 지정합니다.
7
생성: 새 ClusterLogForwarder를 생성할 수 있는 권한을 부여합니다.
8
delete: 기존 ClusterLogForwarder를 삭제할 수 있는 권한을 부여합니다.
9
get: 특정 ClusterLogForwarder에 대한 정보를 검색할 수 있는 권한을 부여합니다.
10
list: 모든 ClusterLogForwarder를 나열할 수 있습니다.
11
patch: ClusterLogForwarder를 부분적으로 수정할 수 있는 권한을 부여합니다.
12
update: 기존 ClusterLogForwarder를 업데이트할 수 있는 권한을 부여합니다.
13
watch: ClusterLogForwarder의 변경 사항을 모니터링할 수 있는 권한을 부여합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat