מעקב אחרי אשכול של שירות מנוהל של Google Cloud ל-Apache Kafka

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

סקירה כללית

שירות מנוהל ל-Apache Kafka מייצא כמה מדדים שזמינים בהפצה של Kafka בקוד פתוח, וגם מדדים ספציפיים לשירות כמו consumer group offset lag.

המדדים מחולקים לארבע קטגוריות של משאבים:

  • Cluster: המדדים האלה שימושיים לשמירה על התקינות הכוללת של אשכול.

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

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

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

אפשר לקבץ חלק מהמדדים לפי אינדקס הברוקר. על סמך אינדקס הברוקרים, אפשר לחפש את האזור שבו הברוקר הזה הוקצה. מידע נוסף זמין במאמר בנושא הצגת ברוקרים.

הצגת מדדים של אשכול Kafka

אפשר לראות את המדדים בדרכים הבאות:

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

  • אתם יכולים להשתמש ב-Metrics Explorer כדי לראות את כל המדדים הזמינים, ליצור תרשימים בהתאמה אישית או לצבור מדדים בכמה אשכולות.

תפקידים והרשאות נדרשים

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

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

שימוש בלוחות הבקרה למעקב

כדי לראות את לוחות הבקרה של המעקב אחרי אשכול של שירות מנוהל ל-Apache Kafka, פועלים לפי השלבים הבאים:

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

    מעבר אל Clusters

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

  3. כדי לראות מדדים של האשכול, בוחרים בכרטיסייה Monitoring.

  4. כדי לראות מדדים של נושא באשכול:

    1. לוחצים על הכרטיסייה משאבים.

    2. ברשימה Topics (נושאים), לוחצים על שם הנושא.

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

  5. כדי להציג מדדים של קבוצת צרכנים באשכול:

    1. לוחצים על הכרטיסייה משאבים.

    2. ברשימה קבוצות צרכנים, לוחצים על השם של קבוצת הצרכנים.

    3. בדף פרטי קבוצת הצרכנים, לוחצים על הכרטיסייה מעקב.

למידע נוסף, ראו הצגת אשכול Kafka.

שימוש ב-Metrics Explorer

כדי לראות את המדדים של שירות מנוהל ל-Apache Kafka באמצעות Metrics Explorer:

  1. נכנסים לדף Metrics explorer במסוף Google Cloud .

    כניסה לדף Metrics Explorer

  2. בקטע הגדרה, לוחצים על בחירת מדד.

  3. במסנן, מזינים Apache Kafka.

  4. בקטע Active resources, בוחרים באחת מהאפשרויות הבאות:

    • אשכול Apache Kafka

    • נושא Apache Kafka

    • Apache Kafka Topic Partition

    • ‫Apache Kafka Topic Partition Consumer Group

  5. בוחרים מדד ולוחצים על אישור.

מידע נוסף על Metrics Explorer זמין במאמר יצירת תרשימים באמצעות Metrics Explorer.

מדדים של שירות מנוהל ל-Apache Kafka

בטבלאות הבאות מפורטים מדדים נפוצים למעקב אחרי אשכול Kafka ומשאבי האשכול. רשימה מלאה של המדדים הזמינים מופיעה במאמר בנושא מדדים שלGoogle Cloud .

השירות המנוהל ל-Apache Kafka מזוהה באמצעות כתובת ה-URL של השירות managedkafka.googleapis.com.

מדדים של אשכולות

המדדים הבאים רלוונטיים לאשכולות. כדי לראות את המדדים של אשכול ספציפי, מסננים לפי התווית cluster_id.

מדד תיאור שם MBean שווה ערך
cpu/core_usage_time השימוש המצטבר במעבד של האשכול ב-vCPU. המידע הזה יכול לעזור להבין את העלות הכוללת של הפעלת האשכול. לא רלוונטי
cpu/limit מספר המעבדים (CPU) הנוכחי שהוגדר לאשכול. אפשר להשתמש בו כדי לעקוב אחרי ניצול המעבד כיחס עם המדד cpu/usage. לא רלוונטי
memory/usage השימוש הנוכחי בזיכרון ה-RAM באשכול. אפשר להשתמש במדד הזה כדי לעקוב אחרי ניצול ה-RAM כיחס עם המדד memory/limit. לא רלוונטי
memory/limit גודל ה-RAM המוגדר הנוכחי של האשכול. אפשר להשתמש במדד הזה כדי לעקוב אחרי ניצול ה-RAM כיחס עם המדד memory/usage. לא רלוונטי
cluster_byte_in_count המספר הכולל של בייטים מלקוחות שנשלחו לכל הנושאים. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
cluster_byte_out_count המספר הכולל של הבייטים שנשלחו ללקוחות מכל הנושאים. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec
cluster_message_in_count המספר הכולל של הודעות שפורסמו בכל הנושאים. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
request_count המספר הכולל של הבקשות שנשלחו אל הברוקר kafka.network:type=RequestMetrics,name=RequestsPerSec,request= {Produce|FetchConsumer|FetchFollower},version=([0-9]+)
request_byte_count הגודל הכולל בבייטים של הבקשות שנשלחו אל האשכול. kafka.network:type=RequestMetrics,name=RequestBytes,request= ([-.\w]+)
partitions המספר הנוכחי של המחיצות שמטופלות על ידי האשכול הזה, בחלוקה לפי ברוקר. kafka.server:type=ReplicaManager,name=PartitionCount
request_latencies מספר אלפיות השנייה שנדרשו לכל בקשה, באחוזונים שונים kafka.network:type=RequestMetrics,name=TotalTimeMs,request= {Produce|FetchConsumer|FetchFollower}
consumer_groups המספר הנוכחי של קבוצות צרכנים שצורכות מהברוקר kafka.server:type=GroupMetadataManager,name=NumGroups
offline_partitions מספר מחיצות הנושא במצב אופליין כפי שנצפה על ידי בקר. kafka.controller:type=KafkaController,name=OfflinePartitionCount

מדדי נושאים

המדדים הבאים רלוונטיים לנושאים. כדי לראות את המדדים של נושא ספציפי, מסננים לפי התוויות cluster_id ו-topic_id.

מדד תיאור שם MBean מקביל
message_in_count המספר הכולל של ההודעות שפורסמו בנושא. kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec, topic=([-.\w]+)
byte_in_count המספר הכולל של בייטים מלקוחות שנשלחו לנושא. kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic=([-.\w]+)
topic_request_count המספר הכולל של בקשות ליצירה ולאחזור שנשלחו לנושא. kafka.server:type=BrokerTopicMetrics,name=TotalProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=TotalFetchRequestsPerSec,topic=([-.\w]+)
topic_error_count המספר הכולל של בקשות יצירה שנכשלו ובקשות אחזור שנכשלו שנשלחו לנושא. kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec,topic=([-.\w]+)
kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec,topic=([-.\w]+)
byte_out_count המספר הכולל של בייטים שנשלחו ללקוחות. kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec, topic=([-.\w]+)

מדדי מחיצות

המדדים הבאים רלוונטיים למחיצות. כדי לראות את המדדים של מחיצה ספציפית בנושא, מסננים לפי התוויות cluster_id, topic_id ו-partition_index.

מדד תיאור שם MBean מקביל
consumer_lag השהיית השכפול בהודעות בין העותק הראשי לבין כל עותק משני. kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
log_segments מספר פלחי היומן הנוכחי. השימוש בזה חשוב כדי לוודא שסיווג האחסון יישאר תקין. kafka.log:type=Log,name=NumLogSegments,topic=([-.\w]+),partition=([0-9]+)
first_offset ההיסט הראשון של כל מחיצה בנושא. בשילוב עם last_offset, אפשר להשתמש בו כדי לעקוב אחרי הגבול העליון של המספר הכולל של ההודעות שנשמרו, וגם כדי למצוא את ההיסט בפועל של ההודעה הכי ישנה. kafka.log:type=Log,name=LogStartOffset,topic=([-.\w]+),partition=([0-9]+)
last_offset ההיסט האחרון במחיצה. אפשר להשתמש בערך הזה כדי למצוא את ההיסט של כל מחיצה לאורך זמן. המידע הזה יכול להיות שימושי כדי לזהות את ההיסט הספציפי שנדרש כדי לעבד מחדש נתונים החל מזמן מסוים בעבר. kafka.log:type=Log,name=LogEndOffset,topic=([-.\w]+),partition=([0-9]+)
byte_size גודל המחיצה בדיסק בבייטים. לא רלוונטי

מדדים של קבוצות צרכנים

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

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

המאמרים הבאים