צפייה באשכול Connect

אפשר לראות את הפרטים של אשכול Connect כדי לקבל מידע נוסף על פרטי ההגדרה שלו, כולל השם של האשכול הראשי של שירות מנוהל של Google Cloud ל-Apache Kafka, המצב של אשכול Connect, הקצאת המשאבים, הגדרות הרשת והמחברים שמארח אשכול Connect.

כדי לראות את אשכולי Connect, אפשר להשתמש במסוף Google Cloud , ב-CLI של gcloud, בספריית הלקוח או ב-Managed Kafka API. אי אפשר להשתמש ב-API של Apache Kafka בקוד פתוח כדי להציג רשימה של אשכולות Connect.

התפקידים וההרשאות שנדרשים כדי להציג אשכול Connect

כדי לקבל את ההרשאות שנדרשות להצגת רשימת אשכולי Connect, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM ‏Managed Kafka Viewer ‏(roles/managedkafka.viewer) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקיד המוגדר מראש הזה מכיל את ההרשאות שנדרשות כדי להציג את רשימת אשכולי Connect. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי להציג את רשימת האשכולות של Connect, נדרשות ההרשאות הבאות:

  • נותנים לאשכולות ברשימה הרשאה במיקום שצוין: managedkafka.connectClusters.list
  • נותנים את ההרשאה לקבלת פרטי אשכול במיקום שצוין: managedkafka.connectClusters.get

יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

צפייה בפרטים של אשכול Connect

המסוף

  1. נכנסים לדף Connect Clusters במסוף Google Cloud .

    מעבר אל Connect Clusters

  2. לוחצים על אשכול Connect שרוצים להציג.

  3. מוצג הדף Connect cluster עם ארבע כרטיסיות:

    • Resources (משאבים): תצוגה ממוקדת של המחברים שפועלים באשכול, כולל הסטטוס התפעולי והסוג שלהם.
    • הגדרות: מציג את המאפיינים וההגדרות החיוניים של אשכול Connect, כמו אשכול Kafka הראשי, המצב, הקצאת המשאבים והגדרות הרשת.
    • יומנים: מספק זרם בזמן אמת של רשומות ביומן מהאשכול של Connect לצורך מעקב ופתרון בעיות.
    • מעקב: מדדים שיעזרו לכם לעקוב אחרי הביצועים והשימוש במשאבים של אשכול Connect.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. משתמשים בפקודה gcloud managed-kafka connect-clusters describe כדי להציג את הפרטים של אשכול Connect:

    gcloud managed-kafka connect-clusters describe CONNECT_CLUSTER \
        --location=LOCATION
    
  3. מחליפים את מה שכתוב בשדות הבאים:

    • ‫CONNECT_CLUSTER: המזהה של אשכול Connect שרוצים להציג.
    • ‫LOCATION: המיקום של אשכול Connect.

פלט לדוגמה:

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 בקטע התקנת ספריות הלקוח. מידע נוסף מופיע ב מאמרי העזרה של ה-API של Go עבור שירות מנוהל ל-Apache Kafka.

כדי לבצע אימות לשירות המנוהל ל-Apache Kafka, צריך להגדיר את Application Default Credentials‏(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

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התקנת ספריות הלקוח. מידע נוסף מופיע ב מאמרי העזרה של Managed Service for Apache Kafka Java API.

כדי לבצע אימות לשירות המנוהל ל-Apache Kafka, מגדירים את ה-Application Default Credentials. מידע נוסף זמין במאמר הגדרת 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 במאמר התקנת ספריות הלקוח. מידע נוסף מופיע ב מאמרי העזרה של ה-API בשפת Python של שירות מנוהל ל-Apache Kafka.

כדי לבצע אימות לשירות המנוהל ל-Apache Kafka, מגדירים את ה-Application Default Credentials. מידע נוסף זמין במאמר הגדרת 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}")

סקירה כללית של פרטי האוסף

מוצג הדף Connect cluster עם ארבע כרטיסיות: Resources (משאבים), Configurations (הגדרות), Monitoring (מעקב) ו-Logs (יומנים).

משאבים

בכרטיסייה Resources בדף Connect cluster מופיע סיכום של סוגי המחברים שנפרסו ושל הסטטוס התפעולי שלהם. יוצג המידע הבא:

  • טבלת מחברים: טבלה שבה מפורטים כל המחברים באשכול Connect.

    • שם: השם שהוקצה לכל מחבר.

    • מצב: מצב הפעולה הנוכחי של המחבר.

    • סוג המחבר: מציין את סוג המחבר, כמו MirrorMaker 2.0 Source,‏ BigQuery Sink,‏ Cloud Storage Sink או Pub/Sub Sink.

  • Filter: סרגל חיפוש שבו אפשר לסנן את המחברים לפי המאפיינים שלהם.

כדי לעקוב אחרי תקינות המחבר, משתמשים בכרטיסייה משאבים.

הגדרות אישיות

בכרטיסייה Configurations (הגדרות) מוצג מידע על מצב האשכול, הקצאת המשאבים, הגדרות הרשת והגדרות ה-DNS.

  • Primary Kafka cluster (אשכול Kafka ראשי): השם של אשכול השירות המנוהל ל-Apache Kafka שמשויך לאשכול Connect הזה. הגדרות והיסטים של אשכול Connect מאוחסנים באשכול של השירות המנוהל ל-Apache Kafka.

  • מצב: המצב הנוכחי של אשכול Connect. המצבים האפשריים כוללים Active, Creating, Deleting ו-State_unspecified.

  • ‫Region: מציין את האזור של אשכול Connect.

  • ‫vCPUs: מספר המעבדים הווירטואליים שהוקצו לאשכול Connect. מספר גבוה יותר של vCPU מגדיל את יכולת העיבוד של האשכול.

  • זיכרון: הזיכרון הכולל שהוקצה לאשכול Connect.

  • תוויות: התוויות שצורפו לאשכול Connect.

  • Secret resources: רשימת הסודות שמשויכים לאשכול Connect.

  • Subnetworks: רשימת רשתות המשנה שמשויכות לאשכול Connect. הטבלה כוללת עמודות של Name (שם), Region (אזור) ו-Project (פרויקט).

  • שמות DNS: מוצגים שמות DNS בהתאמה אישית שהוגדרו עבור אשכול Connect. אם לא מוגדרים שמות DNS בהתאמה אישית, הטבלה ריקה.

מעקב

בכרטיסייה Monitoring מוצגים מדדים שעוזרים להבין את הביצועים ואת ניצול המשאבים של המחברים. המדדים כוללים:

  • ‫Worker CPU usage: סך השימוש במעבד (CPU), בשניות vCPU, לכל עובד. המדד הזה עוזר לזהות מגבלות של משאבים.

  • השימוש בזיכרון של העובד: השימוש הנוכחי בזיכרון, בבייט, לכל עובד. המדד הזה עוזר למנוע שגיאות שנובעות מחוסר זיכרון.

  • קצב הבייטים הנכנסים של מחבר: קצב הבייטים הנכנסים הממוצע לשנייה, מחיבורי לקוח, לכל מחבר. המדד הזה עוזר להעריך את שיעורי ההטמעה של הנתונים.

  • קצב העברת בייטים יוצאים של מחבר: קצב העברת בייטים יוצאים ממוצע לשנייה, לשרתים, מחיבורי לקוח, לכל מחבר. המדד הזה עוזר לעקוב אחרי שיעורי מסירת הנתונים.

יומנים

בכרטיסייה Logs מוצג פיד בזמן אמת של רשומות יומן מהאשכול Connect. בכרטיסייה הזו אפשר לעקוב אחרי התקינות והפעילות של המחבר ולפתור בעיות. התכונות האלה עוזרות לכם לעקוב אחרי אשכול Connect ולנפות בו באגים בצורה יעילה:

  • סינון לפי חומרה: סינון של רשומות ביומן לפי רמת חומרה כדי לאתר במהירות בעיות קריטיות.

  • חיפוש: חיפוש של רשומות ביומן החיפושים לפי מילות מפתח או ביטויים ספציפיים כדי למצוא אירועים שקשורים למחבר או למשימה מסוימים.

  • חותמות זמן: חותמות הזמן בכל רשומה ביומן עוזרות לעקוב אחרי רצפי אירועים ולזהות מתי התרחשו פעולות.

  • סיכום: רשומות ביומן מספקות פרטים על אירועים שונים, כמו הפעלה וכיבוי של מחבר, ביצוע משימות ועיבוד נתונים.

מה השלב הבא?

‫Apache Kafka®‎ הוא סימן מסחרי רשום של The Apache Software Foundation או של השותפים העצמאיים שלה בארצות הברית או במדינות אחרות.