Ver um cluster do serviço gerenciado do Google Cloud para Apache Kafka

Para conferir um cluster, use o console Google Cloud , a Google Cloud CLI, a biblioteca de cliente ou a API Managed Kafka. Não é possível usar a API Apache Kafka de código aberto para visualizar um cluster.

Funções e permissões necessárias para visualizar um cluster

Para receber as permissões necessárias para visualizar um cluster, peça ao administrador para conceder a você o papel do IAM de Leitor do Kafka gerenciado (roles/managedkafka.viewer) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para visualizar um cluster. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para visualizar um cluster:

  • Listar clusters: managedkafka.clusters.list
  • Receber detalhes do cluster: managedkafka.clusters.get

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para mais informações sobre a função de leitor do Kafka gerenciado, consulte Funções predefinidas do serviço gerenciado para Apache Kafka.

Ver um cluster

Para conferir um cluster, siga estas etapas:

Console

  1. No Google Cloud console, acesse a página Clusters.

    Acessar Clusters

    Os clusters criados em um projeto são listados.

  2. Para ver um cluster específico, clique no nome dele.

  3. A página de detalhes do cluster é aberta. Esta página tem as seguintes guias:

    • Recursos: mostra a lista de tópicos e grupos de consumidores associados ao cluster.
    • Configurações: mostra a configuração do cluster, incluindo a lista de sub-redes associadas a ele.
    • Monitoramento: mostra os alertas de monitoramento associados ao cluster.
    • Registros: mostra os registros relacionados aos clusters do Explorador de registros.

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. Execute o comando gcloud managed-kafka clusters describe:

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --full
    

    Substitua:

    • CLUSTER_ID: o ID ou nome do cluster.
    • LOCATION: o local do cluster.

    A sinalização --full é opcional. Se você incluir essa flag, o comando vai retornar mais informações, incluindo sobre os brokers do cluster e o número da versão do Kafka em execução.

  3. REST

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • PROJECT_ID: o ID do projeto do Google Cloud
    • LOCATION: o local do cluster
    • CLUSTER_ID: o ID do cluster
    • CLUSTER_VIEW: a quantidade de metadados a serem retornados. Especifique um dos seguintes valores:

      • CLUSTER_VIEW_BASIC: retorna os metadados básicos do cluster.
      • CLUSTER_VIEW_FULL: retorna todos os metadados do cluster, incluindo informações sobre os brokers do cluster e o número da versão do Kafka em execução.

      Se não for especificado, o método vai usar CLUSTER_VIEW_BASIC como padrão.

    Método HTTP e URL:

    GET https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID?view=CLUSTER_VIEW

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID",
      "createTime": "CREATE_TIME",
      "updateTime": "UPDATE_TIME",
      "capacityConfig": {
        "vcpuCount": "CPU_COUNT",
        "memoryBytes": "MEMORY"
      },
      "rebalanceConfig": {},
      "gcpConfig": {
        "accessConfig": {
          "networkConfigs": [
            {
              "subnet": "projects/PROJECT_ID/locations/LOCATION/subnetworks/SUBNET_ID"
            }
          ]
        }
      },
      "state": "ACTIVE",
      "satisfiesPzi": false,
      "satisfiesPzs": false,
      "tlsConfig": {
        "trustConfig": {}
      },
      "updateOptions": {}
    }
    

    Go

    Antes de testar esta amostra, siga as instruções de configuração do Go em Instalar as bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do serviço gerenciado para Apache Kafka.

    Para autenticar o Managed Service para Apache Kafka, configure o Application Default Credentials(ADC). Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local.

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

    Java

    Antes de testar esta amostra, siga as instruções de configuração do Java em Instalar as bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java do serviço gerenciado para Apache Kafka.

    Para autenticar o serviço gerenciado para Apache Kafka, configure o Application Default Credentials. Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local.

    import com.google.api.gax.rpc.ApiException;
    import com.google.cloud.managedkafka.v1.Cluster;
    import com.google.cloud.managedkafka.v1.ClusterName;
    import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
    import java.io.IOException;
    
    public class GetCluster {
    
      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-cluster";
        getCluster(projectId, region, clusterId);
      }
    
      public static void getCluster(String projectId, String region, String clusterId)
          throws Exception {
        try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
          // This operation is being handled synchronously.
          Cluster cluster = managedKafkaClient.getCluster(ClusterName.of(projectId, region, clusterId));
          System.out.println(cluster.getAllFields());
        } catch (IOException | ApiException e) {
          System.err.printf("managedKafkaClient.getCluster got err: %s", e.getMessage());
        }
      }
    }
    

    Python

    Antes de testar esta amostra, siga as instruções de configuração do Python em Instalar as bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Python do serviço gerenciado para Apache Kafka.

    Para autenticar o serviço gerenciado para Apache Kafka, configure o Application Default Credentials. Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local.

    from google.api_core.exceptions import NotFound
    from google.cloud import managedkafka_v1
    
    # TODO(developer)
    # project_id = "my-project-id"
    # region = "us-central1"
    # cluster_id = "my-cluster"
    
    client = managedkafka_v1.ManagedKafkaClient()
    
    cluster_path = client.cluster_path(project_id, region, cluster_id)
    request = managedkafka_v1.GetClusterRequest(
        name=cluster_path,
    )
    
    try:
        cluster = client.get_cluster(request=request)
        print("Got cluster:", cluster)
    except NotFound as e:
        print(f"Failed to get cluster {cluster_id} with error: {e.message}")
    

Ver propriedades e recursos do cluster

As seções a seguir descrevem como obter detalhes sobre várias propriedades e recursos associados a um cluster do Serviço Gerenciado para Apache Kafka.

Endereço de inicialização

Os clientes do Kafka usam o endereço de inicialização do cluster para estabelecer uma conexão com ele. Para acessar o endereço de inicialização, siga estas etapas:

Console

  1. Acesse a página Serviço gerenciado para Apache Kafka > Clusters.

    Acessar Clusters

  2. Clique no nome do cluster.

  3. Selecione a guia Configurações.

  4. Se você estiver usando o SASL para autenticar, o URL de bootstrap vai estar listado em URL de bootstrap do mTLS.

    Se você estiver usando TLS mútuo (mTLS) para autenticar, o URL de inicialização será listado em URL de inicialização do mTLS.

    Clique em Copiar para copiar o valor.

gcloud

Para receber o URL de bootstrap, use o comando managed-kafka clusters describe.

Se você estiver usando o SASL para autenticar, execute o seguinte comando:

gcloud managed-kafka clusters describe CLUSTER_ID \
  --location=LOCATION \
  --format="value(bootstrapAddress)"

Se você estiver usando TLS mútua (mTLS) para autenticar, execute o seguinte comando:

gcloud managed-kafka clusters describe CLUSTER_ID \
  --location=LOCATION \
  --format="value(bootstrapAddressMTLS)"

Substitua:

  • CLUSTER_ID: o ID ou nome do cluster.
  • LOCATION: o local do cluster.

Para mais informações sobre a autenticação SASL e mTLS, consulte Tipos de autenticação para agentes do Kafka.

Agentes

O Serviço Gerenciado para Apache Kafka provisiona automaticamente os agentes de um cluster. Um corretor tem as seguintes propriedades:

  • brokerIndex: o índice baseado em zero do corretor.
  • nodeId: o ID do nó do broker.
  • rack: a zona em que o broker é provisionado, por exemplo, us-central1-a.

Para conferir os brokers de um cluster, siga estas etapas.

Console

  1. Acesse a página Serviço gerenciado para Apache Kafka > Clusters.

    Acessar Clusters

  2. Clique no nome do cluster.

  3. Selecione a guia Configurações. Os brokers do cluster estão listados em Brokers ativos.

gcloud

Para conferir uma lista dos brokers do cluster, use o comando managed-kafka clusters describe com a flag --full.

gcloud managed-kafka clusters describe CLUSTER_ID \
  --location=LOCATION \
  --full \
  --format="yaml(brokerDetails)"

Substitua:

  • CLUSTER_ID: o ID ou nome do cluster.
  • LOCATION: o local do cluster.

A saída será assim:

brokerDetails:
- brokerIndex: '0'
  nodeId: '10'
  rack: us-central1-c
- brokerIndex: '1'
  nodeId: '11'
  rack: us-central1-f
- brokerIndex: '2'
  nodeId: '12'
  rack: us-central1-b

CLI do Kafka

Antes de executar esse comando, instale as ferramentas de linha de comando do Kafka em uma VM do Compute Engine. A VM precisa conseguir acessar uma sub-rede conectada ao cluster do Managed Service para Apache Kafka. Siga as instruções em Produzir e consumir mensagens com as ferramentas de linha de comando do Kafka.

Para receber uma lista dos brokers do cluster, use o comando kafka-configs.sh --describe com a flag --entity-type=brokers.

kafka-configs.sh --describe --entity-type brokers \
  --bootstrap-server=BOOTSTRAP_ADDRESS \
  --command-config client.properties

Substitua BOOTSTRAP_ADDRESS pelo endereço de bootstrap do cluster.

Esse comando retorna uma lista de IDs de broker, além das configurações dinâmicas, se houver. Ela não retorna a propriedade rack.

Grupos de consumidores

Um grupo de consumidores é um conjunto de consumidores que cooperam para consumir dados de vários tópicos. Para conferir os grupos de consumidores de um cluster, consulte as seguintes páginas:

Sub-redes

Para conferir as sub-redes conectadas ao seu cluster, siga estas etapas:

Console

  1. No Google Cloud console, acesse a página Clusters.

    Acessar Clusters

  2. Clique no nome do cluster.

  3. Na página de detalhes do cluster, clique na guia Configurações. As sub-redes conectadas são listadas em Sub-redes.

gcloud

  1. Execute o comando gcloud managed-kafka clusters describe:

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --format="yaml(gcpConfig.accessConfig.networkConfigs)"
    

    Substitua:

    • CLUSTER_ID: o ID ou nome do cluster.
    • LOCATION: o local do cluster.

Para mais informações, consulte Configurar a rede para o Serviço gerenciado para Apache Kafka.

Tópicos

Para ver os tópicos em um cluster, consulte as seguintes páginas:

A seguir

Apache Kafka® é uma marca registrada da The Apache Software Foundation ou afiliadas nos Estados Unidos e/ou em outros países.