연결 클러스터 보기

Connect 클러스터의 세부정보를 확인하여 기본 Google Cloud Apache Kafka용 관리형 서비스 클러스터의 이름, Connect 클러스터의 상태, 리소스 할당, 네트워크 설정, Connect 클러스터에서 호스팅하는 커넥터 등 구성 세부정보를 자세히 알아볼 수 있습니다.

Connect 클러스터를 보려면 Google Cloud 콘솔, gcloud CLI, 클라이언트 라이브러리 또는 관리형 Kafka API를 사용하면 됩니다. 오픈소스 Apache Kafka API를 사용하여 Connect 클러스터를 나열할 수 없습니다.

Connect 클러스터를 보는 데 필요한 역할 및 권한

Connect 클러스터를 나열하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 관리 Kafka 뷰어(roles/managedkafka.viewer) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 Connect 클러스터를 나열하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

Connect 클러스터를 나열하려면 다음 권한이 필요합니다.

  • 지정된 위치에 목록 클러스터 권한을 부여합니다. managedkafka.connectClusters.list
  • 지정된 위치에 클러스터 세부정보 가져오기 권한을 부여합니다. managedkafka.connectClusters.get

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

관리형 Kafka 뷰어 역할에 대한 자세한 내용은 Apache Kafka용 관리형 서비스 사전 정의된 역할을 참고하세요.

연결 클러스터 세부정보 보기

콘솔

  1. Google Cloud 콘솔에서 클러스터 연결 페이지로 이동합니다.

    클러스터 연결로 이동

  2. 보려는 연결 클러스터를 클릭합니다.

  3. 클러스터 연결 페이지에는 다음 4개의 탭이 표시됩니다.

    • 리소스: 운영 상태와 유형을 비롯하여 클러스터에서 실행되는 커넥터의 집중된 보기를 제공합니다.
    • 구성: 기본 Kafka 클러스터, 상태, 리소스 할당, 네트워크 설정과 같은 Connect 클러스터의 필수 속성 및 설정을 표시합니다.
    • 로그: 모니터링 및 문제 해결을 위해 Connect 클러스터의 로그 항목을 실시간으로 스트리밍합니다.
    • 모니터링: Connect 클러스터의 성능과 리소스 사용률을 모니터링하는 데 도움이 되는 측정항목을 제공합니다.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. gcloud managed-kafka connect-clusters describe 명령어를 사용하여 Connect 클러스터의 세부정보를 확인합니다.

    gcloud managed-kafka connect-clusters describe CONNECT_CLUSTER \
        --location=LOCATION
    
  3. 다음을 바꿉니다.

    • CONNECT_CLUSTER: 보려는 Connect 클러스터의 ID입니다.
    • LOCATION: Connect 클러스터의 위치입니다.
  4. 출력 예시:

    capacityConfig:
    memoryBytes: '3221225472'
    vcpuCount: '3'
    createTime: '2025-03-05T15:19:17.998009888Z'
    gcpConfig:
    accessConfig:
    networkConfigs:
    -   primarySubnet: projects/sample-project/regions/us-central1/subnetworks/default
    kafkaCluster: projects/sample-project/locations/us-central1/clusters/kafka-test
    name: projects/sample-project/locations/us-central1/connectClusters/my-connect-cluster
    state: ACTIVE
    updateTime: '2025-03-05T15:24:40.861655595Z'
    

    Go

    이 샘플을 사용해 보기 전에 클라이언트 라이브러리 설치의 Go 설정 안내를 따르세요. 자세한 내용은 Apache Kafka용 관리형 서비스 Go API 참조 문서를 참고하세요.

    Managed Service for Apache Kafka에 인증하려면 애플리케이션 기본 사용자 인증 정보(ADC)를 설정합니다. 자세한 내용은 로컬 개발 환경의 ADC 설정을 참고하세요.

    import (
    	"context"
    	"fmt"
    	"io"
    
    	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
    	"google.golang.org/api/option"
    
    	managedkafka "cloud.google.com/go/managedkafka/apiv1"
    )
    
    func getConnectCluster(w io.Writer, projectID, region, clusterID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// clusterID := "my-connect-cluster"
    	ctx := context.Background()
    	client, err := managedkafka.NewManagedKafkaConnectClient(ctx, opts...)
    	if err != nil {
    		return fmt.Errorf("managedkafka.NewManagedKafkaConnectClient got err: %w", err)
    	}
    	defer client.Close()
    
    	clusterPath := fmt.Sprintf("projects/%s/locations/%s/connectClusters/%s", projectID, region, clusterID)
    	req := &managedkafkapb.GetConnectClusterRequest{
    		Name: clusterPath,
    	}
    	cluster, err := client.GetConnectCluster(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.GetConnectCluster got err: %w", err)
    	}
    	fmt.Fprintf(w, "Got connect cluster: %#v\n", cluster)
    	return nil
    }
    

    자바

    이 샘플을 시도하기 전에 클라이언트 라이브러리 설치의 Java 설정 안내를 따르세요. 자세한 내용은 Apache Kafka용 관리형 서비스 Java API 참조 문서를 참고하세요.

    Managed Service for Apache Kafka에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 ADC 설정을 참고하세요.

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.managedkafka.v1.ConnectCluster;
    import com.google.cloud.managedkafka.v1.ConnectClusterName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaConnectClient;
    import java.io.IOException;
    
    public class GetConnectCluster {
    
      public static void main(String[] args) throws Exception {
        // TODO(developer): Replace these variables before running the example.
        String projectId = "my-project-id";
        String region = "my-region"; // e.g. us-east1
        String clusterId = "my-connect-cluster";
        getConnectCluster(projectId, region, clusterId);
      }
    
      public static void getConnectCluster(String projectId, String region, String clusterId)
          throws Exception {
        try (ManagedKafkaConnectClient managedKafkaConnectClient = ManagedKafkaConnectClient.create()) {
          // This operation is being handled synchronously.
          ConnectCluster connectCluster = managedKafkaConnectClient
              .getConnectCluster(ConnectClusterName.of(projectId, region, clusterId));
          System.out.println(connectCluster.getAllFields());
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaConnectClient.getConnectCluster got err: %s\n", 
              e.getMessage());
        }
      }
    }
    

    Python

    이 샘플을 시도하기 전에 클라이언트 라이브러리 설치의 Python 설정 안내를 따르세요. 자세한 내용은 Apache Kafka용 관리형 서비스 Python API 참조 문서를 참고하세요.

    Managed Service for Apache Kafka에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 ADC 설정을 참고하세요.

    from google.api_core.exceptions import NotFound
    from google.cloud.managedkafka_v1.services.managed_kafka_connect import ManagedKafkaConnectClient
    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # connect_cluster_id = "my-connect-cluster"
    
    client = ManagedKafkaConnectClient()
    
    cluster_path = client.connect_cluster_path(project_id, region, connect_cluster_id)
    request = managedkafka_v1.GetConnectClusterRequest(
        name=cluster_path,
    )
    
    try:
        cluster = client.get_connect_cluster(request=request)
        print("Got Connect cluster:", cluster)
    except NotFound as e:
        print(f"Failed to get Connect cluster {connect_cluster_id} with error: {e}")
    

연결 클러스터 세부정보 개요

리소스, 구성, 모니터링, 로그라는 4개의 탭이 있는 클러스터 연결 페이지가 표시됩니다.

리소스

'클러스터 연결' 페이지의 리소스 탭에는 배포된 커넥터 유형과 작동 상태가 요약되어 있습니다. 다음 정보가 표시됩니다.

  • 커넥터 테이블: Connect 클러스터의 모든 커넥터를 나열하는 테이블입니다.

    • 이름: 각 커넥터에 할당된 이름입니다.

    • 상태: 커넥터의 현재 작동 상태입니다.

    • 커넥터 유형: 커넥터 유형을 나타냅니다(예: MirrorMaker 2.0 소스, BigQuery 싱크, Cloud Storage 싱크, Pub/Sub 싱크).

  • 필터: 속성별로 커넥터를 필터링하는 데 사용할 수 있는 검색창입니다.

커넥터 상태를 모니터링하려면 리소스 탭을 사용하세요.

구성

구성 탭에는 클러스터의 상태, 리소스 할당, 네트워크 설정, DNS 구성에 관한 정보가 표시됩니다.

  • 기본 Kafka 클러스터: 이 Connect 클러스터와 연결된 Apache Kafka용 관리형 서비스 클러스터의 이름을 표시합니다. Connect 클러스터는 Apache Kafka용 관리형 서비스 클러스터에 구성과 오프셋을 저장합니다.

  • 상태: Connect 클러스터의 현재 상태를 표시합니다. 가능한 상태에는 Active, Creating, Deleting, State_unspecified이 포함됩니다.

  • 리전: Connect 클러스터의 리전을 나타냅니다.

  • vCPUs: Connect 클러스터에 할당된 가상 CPU 수를 표시합니다. vCPU 수가 많을수록 클러스터 처리 용량이 증가합니다.

  • 메모리: Connect 클러스터의 총 프로비저닝된 메모리를 표시합니다.

  • 라벨: Connect 클러스터에 연결된 라벨을 표시합니다.

  • 보안 비밀 리소스: Connect 클러스터와 연결된 보안 비밀을 나열합니다.

  • 서브네트워크: Connect 클러스터와 연결된 서브네트워크를 나열합니다. 표에는 이름, 리전, 프로젝트 열이 포함됩니다.

  • DNS 이름: Connect 클러스터에 구성된 맞춤 DNS 이름을 표시합니다. 맞춤 DNS 이름이 구성되지 않은 경우 표는 비어 있습니다.

모니터링

모니터링 탭에서는 커넥터의 성능과 리소스 사용량을 파악하는 데 도움이 되는 측정항목을 제공합니다. 포함된 측정항목:

  • 작업자 CPU 사용량: 각 작업자의 총 CPU 사용량(vCPU 초)입니다. 이 측정항목은 리소스 제약 조건을 식별하는 데 도움이 됩니다.

  • 작업자 메모리 사용량: 각 작업자의 현재 메모리 사용량(바이트)입니다. 이 측정항목은 메모리 부족 오류를 방지하는 데 도움이 됩니다.

  • 커넥터 수신 바이트 속도: 각 커넥터의 클라이언트 연결에서 초당 평균 수신 바이트 속도입니다. 이 측정항목은 데이터 수집률을 평가하는 데 도움이 됩니다.

  • 커넥터 발신 바이트 속도: 각 커넥터의 클라이언트 연결에서 서버로 전송되는 초당 평균 발신 바이트 속도입니다. 이 측정항목은 데이터 전송률을 모니터링하는 데 도움이 됩니다.

로그

로그 탭은 Connect 클러스터의 로그 항목을 실시간으로 스트리밍합니다. 이 탭을 사용하여 커넥터 상태와 활동을 모니터링하고 문제를 해결합니다. 이러한 기능을 사용하면 Connect 클러스터를 효과적으로 모니터링하고 디버그할 수 있습니다.

  • 심각도별 필터링: 심각도 수준별로 로그 항목을 필터링하여 심각한 문제를 신속하게 파악합니다.

  • 검색: 특정 커넥터 또는 작업과 관련된 이벤트를 찾기 위해 로그 항목에서 특정 키워드 또는 구문을 검색합니다.

  • 타임스탬프: 각 로그 항목의 타임스탬프는 이벤트 시퀀스를 추적하고 작업이 발생한 시점을 파악하는 데 도움이 됩니다.

  • 요약: 로그 항목은 커넥터 시작 및 종료, 작업 실행, 데이터 처리 등 다양한 이벤트에 관한 세부정보를 제공합니다.

다음 단계

Apache Kafka®는 미국 및/또는 다른 국가에서 사용되는 Apache Software Foundation 또는 해당 계열사의 등록 상표입니다.