Cómo ver un grupo de consumidores de Google Cloud Managed Service para Apache Kafka

Para ver la información detallada de un solo grupo de consumidores, puedes usar laGoogle Cloud consola, Google Cloud CLI, la biblioteca cliente, la API de Kafka administrado o las APIs de Apache Kafka de código abierto.

Roles y permisos obligatorios para ver un grupo de consumidores

Para obtener los permisos que necesitas para ver tus grupos de consumidores, pídele a tu administrador que te otorgue el rol de IAM de Visualizador de Kafka administrado (roles/managedkafka.viewer) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para ver tus grupos de consumidores. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ver tus grupos de consumidores:

  • Enumera los grupos de consumidores: managedkafka.consumerGroups.list
  • Obtén detalles del grupo de consumidores: managedkafka.consumerGroups.get

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Para obtener más información sobre el rol de visualizador de Kafka administrado, consulta Roles predefinidos de Managed Service para Apache Kafka.

Cómo ver un grupo de consumidores

Para ver la información detallada de un grupo de consumidores de un clúster específico, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Clúster.

    Ir a los clústeres

  2. Haz clic en el clúster para el que deseas ver los grupos de consumidores.

    Se muestra la página Detalles del clúster. En la página Detalles del clúster, en la pestaña Recursos, se muestran los grupos de consumidores.

  3. Haz clic en el grupo de consumidores.

    Se abrirá la página Detalles del grupo de consumidores.

  4. La página contiene los siguientes detalles:

    • Configuración: En esta pestaña, se muestra el nombre del grupo de consumidores. También muestra el tema al que está asociado el grupo de consumidores.
    • Supervisión: En esta pestaña, se muestra el gráfico de supervisión del rezago de desfase por partición.

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. Ejecuta el comando gcloud managed-kafka consumer-groups describe:

    gcloud managed-kafka consumer-groups describe CONSUMER_GROUP_ID \
        --cluster=CLUSTER \
        --location=LOCATION

    Este comando proporciona información detallada sobre un grupo de consumidores específico de Managed Service para Apache Kafka. Incluye información sobre el grupo de consumidores, como su nombre, ID, hora de creación y hora de actualización.

    Reemplaza lo siguiente:

    • CONSUMER_GROUP_ID: Es el ID o el nombre del grupo de consumidores.

    • CLUSTER: Es el ID o el nombre del clúster.

    • LOCATION: Es la ubicación del clúster.

  3. Go

    Antes de probar este ejemplo, sigue las instrucciones de configuración de Go en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Managed Service para Apache Kafka en Go.

    Para autenticarte en Managed Service for Apache Kafka, configura las credenciales predeterminadas de la aplicación(ADC). Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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 getConsumerGroup(w io.Writer, projectID, region, clusterID, consumerGroupID string, opts ...option.ClientOption) error {
    	// projectID := "my-project-id"
    	// region := "us-central1"
    	// clusterID := "my-cluster"
    	// consumerGroupID := "my-consumer-group"
    	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)
    	consumerGroupPath := fmt.Sprintf("%s/consumerGroups/%s", clusterPath, consumerGroupID)
    	req := &managedkafkapb.GetConsumerGroupRequest{
    		Name: consumerGroupPath,
    	}
    	consumerGroup, err := client.GetConsumerGroup(ctx, req)
    	if err != nil {
    		return fmt.Errorf("client.GetConsumerGroup got err: %w", err)
    	}
    	fmt.Fprintf(w, "Got consumer group: %#v\n", consumerGroup)
    	return nil
    }
    

    Java

    Antes de probar este ejemplo, sigue las instrucciones de configuración de Java en Instala las bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de Managed Service for Apache Kafka.

    Para autenticarte en el servicio administrado para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo local.

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

    Python

    Antes de probar este ejemplo, sigue las instrucciones de configuración de Python en Instala las bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de Managed Service for Apache Kafka.

    Para autenticarte en el servicio administrado para Apache Kafka, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura ADC para un entorno de desarrollo 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"
    # consumer_group_id = "my-consumer-group"
    
    client = managedkafka_v1.ManagedKafkaClient()
    
    consumer_group_path = client.consumer_group_path(
        project_id, region, cluster_id, consumer_group_id
    )
    request = managedkafka_v1.GetConsumerGroupRequest(
        name=consumer_group_path,
    )
    
    try:
        consumer_group = client.get_consumer_group(request=request)
        print("Got consumer group:", consumer_group)
    except NotFound as e:
        print(f"Failed to get consumer group {consumer_group_id} with error: {e.message}")
    

Próximos pasos

Apache Kafka® es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.