Sie können die Google Cloud -Konsole oder die Cloud Monitoring API verwenden, um Pub/Sub zu überwachen.
In diesem Dokument wird beschrieben, wie Sie Ihre Pub/Sub-Nutzung in der Google Cloud -Konsole mit Monitoring überwachen.
Wenn Sie neben Pub/Sub-Messwerten auch Messwerte aus anderen Google Cloud Ressourcen ansehen möchten, verwenden Sie Monitoring.
Andernfalls können Sie die Monitoring-Dashboards verwenden, die in Pub/Sub bereitgestellt werden. Weitere Informationen finden Sie unter Themen im Blick behalten und Abos im Blick behalten.
Best Practices für die Verwendung von Messwerten für das Autoscaling finden Sie unter Best Practices für die Verwendung von Pub/Sub-Messwerten als Skalierungssignal.
Hinweise
Für die Verwendung von Monitoring benötigen Sie Folgendes:
Ein Cloud-Rechnungskonto
Ein Pub/Sub-Projekt mit aktivierter Abrechnung
Wenn Sie die Kurzanleitung zur Verwendung der Cloud Console abschließen, haben Sie beides.
Vorhandenes Dashboard aufrufen
In einem Dashboard können Sie Daten aus verschiedenen Quellen im selben Kontext ansehen und analysieren. Google Cloud bietet sowohl vordefinierte als auch benutzerdefinierte Dashboards. Sie können beispielsweise ein vordefiniertes Pub/Sub-Dashboard aufrufen oder ein benutzerdefiniertes Dashboard erstellen, auf dem Messwertdaten, Benachrichtigungsrichtlinien und Logeinträge im Zusammenhang mit Pub/Sub angezeigt werden.
So überwachen Sie Ihr Pub/Sub-Projekt mit Cloud Monitoring:
Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wählen Sie den Namen Ihres Projekts aus, wenn er nicht bereits oben auf der Seite ausgewählt ist.
Klicken Sie im Navigationsmenü auf Dashboards.
Erstellen Sie auf der Seite Dashboard-Übersicht ein neues Dashboard oder wählen Sie das vorhandene Pub/Sub-Dashboard aus.
Wenn Sie nach dem vorhandenen Pub/Sub-Dashboard suchen möchten, wählen Sie im Filter für Alle Dashboards das Attribut Name aus und geben Sie
Pub/Sub
ein.
Weitere Informationen zum Erstellen, Bearbeiten und Verwalten eines benutzerdefinierten Dashboards finden Sie unter Benutzerdefinierte Dashboards verwalten.
Einzelnen Pub/Sub-Messwert ansehen
So rufen Sie einen einzelnen Pub/Sub-Messwert über die Google Cloud Console auf:
Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
Wählen Sie im Navigationsbereich Metrics Explorer aus.
Klicken Sie im Bereich Konfiguration auf Messwert auswählen.
Geben Sie im Filter
Pub/Sub
ein.Wählen Sie unter Aktive Ressourcen die Option Pub/Sub-Abo oder Pub/Sub-Thema aus.
Klicken Sie auf einen bestimmten Messwert und dann auf Anwenden.
Die Seite für eine bestimmte Messwert wird geöffnet.
Weitere Informationen zum Monitoring-Dashboard finden Sie in der Cloud Monitoring-Dokumentation.
Pub/Sub-Messwerte und ‑Ressourcentypen ansehen
Informationen dazu, welche Messwerte Pub/Sub an Cloud Monitoring meldet, finden Sie in der Pub/Sub-Messwertliste in der Cloud Monitoring-Dokumentation.
Wenn Sie sich die Details der überwachten Ressourcentypen
pubsub_topic
,pubsub_subscription
oderpubsub_snapshot
ansehen möchten, rufen Sie Überwachte Ressourcentypen in der Cloud Monitoring-Dokumentation auf.
Auf den PromQL-Editor zugreifen
Der Metrics Explorer ist eine Oberfläche in Cloud Monitoring, mit der Sie Ihre Messwertdaten untersuchen und visualisieren können. Im Metrics Explorer können Sie die Prometheus Query Language (PromQL) verwenden, um Ihre Pub/Sub-Messwerte abzufragen und zu analysieren.
Informationen zum Zugriff auf den Code-Editor und zum Abfragen von Cloud Monitoring-Messwerten mit PromQL im Metrics Explorer finden Sie unter Code-Editor für PromQL verwenden.
Sie können beispielsweise eine PromQL-Abfrage eingeben, um die Anzahl der Nachrichten zu überwachen, die in einem gleitenden 1-Stunden-Zeitraum an ein bestimmtes Abo gesendet wurden:
sum(
increase({
"__name__"="pubsub.googleapis.com/subscription/sent_message_count",
"monitored_resource"="pubsub_subscription",
"project_id"="your-project-id",
"subscription_id"="your-subscription-id"
}[1h])
)
Kontingentnutzung überwachen
Sie können die aktuellen Kontingente eines Projekts und deren Nutzung im Dashboard „IAM & Verwaltung“ für Kontingente ansehen.
Sie können Ihre bisherige Kontingentnutzung anhand der folgenden Messwerte aufrufen:
Bei diesen Messwerten wird der überwachte Ressourcentyp consumer_quota
verwendet. Weitere kontingentbezogene Messwerte finden Sie in der Messwertliste.
Die folgende PromQL-Abfrage erstellt beispielsweise ein Diagramm mit dem Anteil des Publisher-Kontingents, das in jeder Region verwendet wird:
sum by (quota_metric, location) (
rate({
"__name__"="serviceruntime.googleapis.com/quota/rate/net_usage",
"monitored_resource"="consumer_quota",
"service"="pubsub.googleapis.com",
"quota_metric"="pubsub.googleapis.com/regionalpublisher"
}[${__interval}])
)
/
(max by (quota_metric, location) (
max_over_time({
"__name__"="serviceruntime.googleapis.com/quota/limit",
"monitored_resource"="consumer_quota",
"service"="pubsub.googleapis.com",
"quota_metric"="pubsub.googleapis.com/regionalpublisher"
}[${__interval}])
) / 60 )
Wenn Sie davon ausgehen, dass Ihre Nutzung die Standardkontingentlimits überschreitet, erstellen Sie Benachrichtigungsrichtlinien für alle relevanten Kontingente. Diese Benachrichtigungen werden ausgelöst, wenn Ihre Nutzung einen bestimmten Teil des Limits erreicht. Die folgende PromQL-Abfrage löst beispielsweise eine Benachrichtigungsrichtlinie aus, wenn ein Pub/Sub-Kontingent die Nutzung von 80% überschreitet:
sum by (quota_metric, location) (
increase({
"__name__"="serviceruntime.googleapis.com/quota/rate/net_usage",
"monitored_resource"="consumer_quota",
"service"="pubsub.googleapis.com"
}[1m])
)
/
max by (quota_metric, location) (
max_over_time({
"__name__"="serviceruntime.googleapis.com/quota/limit",
"monitored_resource"="consumer_quota",
"service"="pubsub.googleapis.com"
}[1m])
)
> 0.8
Weitere Informationen zum benutzerdefinierten Monitoring und zu Benachrichtigungen zu Kontingentmesswerten finden Sie unter Kontingentmesswerte verwenden.
Weitere Informationen zu Kontingenten finden Sie unter Kontingente und Limits.
Abo in gutem Zustand halten
Um ein fehlerfreies Abo aufrechtzuerhalten, können Sie mehrere Aboeigenschaften mithilfe von Pub/Sub-Messwerten überwachen. Sie können beispielsweise das Volumen der nicht bestätigten Nachrichten und das Ablaufen von Fristen für die Bestätigung von Nachrichten überwachen. Sie können auch prüfen, ob Ihr Abo ausreichend ist, um eine niedrige Latenz der Nachrichtenzustellung zu erreichen.
Weitere Informationen zu den einzelnen Messwerten finden Sie in den folgenden Abschnitten.
Nachrichtenrückstau beobachten
Um sicherzustellen, dass Ihre Abonnenten mit dem Nachrichtenfluss Schritt halten, erstellen Sie ein Dashboard. Das Dashboard kann die folgenden Rückstands-Messwerte, die nach Ressource für alle Ihre Abos zusammengefasst sind, anzeigen:
„Nicht bestätigte Nachrichten“ (
subscription/num_unacked_messages_by_region
), um die Anzahl der nicht bestätigten Nachrichten aufzurufen.Alter der ältesten nicht bestätigten Nachricht (
subscription/oldest_unacked_message_age_by_region
), um das Alter der ältesten nicht bestätigten Nachricht im Rückstand des Abos zu sehen.Die Integritätbewertung für Zustellungslatenz (
subscription/delivery_latency_health_score
) gibt Aufschluss über die allgemeine Integrität des Abos in Bezug auf die Zustellungslatenz. Weitere Informationen zu dieser Messwert finden Sie im entsprechenden Abschnitt dieses Dokuments.
Erstellen Sie Benachrichtigungsrichtlinien, die ausgelöst werden, wenn diese Werte im Kontext Ihres Systems außerhalb des zulässigen Bereichs liegen. Beispielsweise ist die absolute Anzahl der nicht bestätigten Nachrichten nicht unbedingt aussagekräftig. Ein Rückstau von einer Million Nachrichten ist für ein Abo mit einer Nachrichtenanzahl von einer Million pro Sekunde akzeptabel, für ein Abo mit einer Nachricht pro Sekunde jedoch inakzeptabel.
Häufige Probleme mit dem Backlog
Symptome | Problem | Lösungen |
---|---|---|
Sowohl oldest_unacked_message_age_by_region als auch num_unacked_messages_by_region steigen gemeinsam an. |
Abonnenten halten sich nicht an die Nachrichtenmenge |
|
Bei einem stetigen, kleinen Rückstau in Verbindung mit einem stetig wachsenden oldest_unacked_message_age_by_region kann eine kleine Anzahl von Nachrichten nicht verarbeitet werden. |
Festgefahrene Nachrichten |
|
oldest_unacked_message_age_by_region überschreitet die
Aufbewahrungsdauer für Nachrichten des Abos. |
Permanenter Datenverlust |
|
Integrität der Zustellungslatenz überwachen
In Pub/Sub ist die Zustellungsverzögerung die Zeit, die benötigt wird, um eine veröffentlichte Nachricht an einen Abonnenten zu senden.
Wenn sich der Nachrichtenrückstand erhöht, können Sie mit dem Gesundheitsindex für die Zustellungslatenz (subscription/delivery_latency_health_score
) prüfen, welche Faktoren zu einer erhöhten Latenz beitragen.
Dieser Messwert gibt den Status eines einzelnen Abos in einem fortlaufenden 10‑Minuten-Zeitfenster an. Der Messwert gibt Aufschluss über die folgenden Kriterien, die für ein Abo mit einer gleichbleibend niedrigen Latenz erforderlich sind:
Geringfügige Suchanfragen.
Nachrichten mit vernachlässigbarer negativer Bestätigung (nacked).
Die Bestätigungsfristen für abgelaufene Nachrichten sind vernachlässigbar.
Die Bestätigungslatenz liegt konstant unter 30 Sekunden.
Eine gleichbleibend niedrige Auslastung bedeutet, dass das Abo immer ausreichend Kapazität für die Verarbeitung neuer Nachrichten hat.
Der Messwert Integrität der Zustellungslatenz gibt für jedes der angegebenen Kriterien einen Wert von 0 oder 1 an. Ein Wert von 1 bedeutet einen fehlerfreien Zustand und ein Wert von 0 einen fehlerhaften Zustand.
Suchanfragen: Wenn das Abo in den letzten 10 Minuten Suchanfragen hatte, wird der Wert auf 0 gesetzt. Abonnieren eines Abos kann dazu führen, dass alte Nachrichten lange nach ihrer ersten Veröffentlichung noch einmal wiedergegeben werden, was die Zustelllatenz erhöht.
Negativ bestätigte Nachrichten: Wenn für das Abo in den letzten 10 Minuten negative Bestätigungen (NACKs) gesendet wurden, wird der Wert auf 0 gesetzt. Eine negative Bestätigung führt dazu, dass eine Nachricht mit erhöhter Zustelllatenz noch einmal zugestellt wird.
Abgelaufene Bestätigungsfristen: Wenn für das Abo in den letzten 10 Minuten Bestätigungsfristen abgelaufen sind, wird der Wert auf 0 gesetzt. Nachrichten, deren Bestätigungsfrist abgelaufen ist, werden mit einer erhöhten Zustellungslatenz noch einmal zugestellt.
Bestätigungslatenzen: Wenn das 99,9.Perzentil aller Bestätigungslatenzen in den letzten 10 Minuten jemals mehr als 30 Sekunden betrug, wird der Wert auf 0 gesetzt. Eine hohe Bestätigungslatenz ist ein Zeichen dafür, dass ein Abonnentenclient ungewöhnlich lange für die Verarbeitung einer Nachricht benötigt. Dieser Wert könnte auf einen Fehler oder Ressourcenbeschränkungen auf der Clientseite des Abonnenten hinweisen.
Geringe Auslastung: Die Auslastung wird für jeden Abotyp unterschiedlich berechnet.
StreamingPull: Wenn Sie nicht genügend Streams geöffnet haben, wird der Wert auf 0 gesetzt. Öffnen Sie weitere Streams, um sicherzustellen, dass Sie genügend Kapazität für neue Nachrichten haben.
Push: Wenn zu viele Nachrichten an Ihren Push-Endpunkt ausstehen, wird der Wert auf 0 gesetzt. Fügen Sie Ihrem Push-Endpunkt mehr Kapazität hinzu, damit Sie Platz für neue Nachrichten haben.
Pull: Wenn Sie nicht genügend ausstehende Pull-Anfragen haben, wird die Punktzahl auf 0 gesetzt. Öffnen Sie weitere gleichzeitige Pull-Requests, damit Sie bereit sind, neue Nachrichten zu empfangen.
Wenn Sie den Messwert aufrufen möchten, wählen Sie im Metrics Explorer den Messwert Zustand der Zustellungslatenz für den Ressourcentyp „Pub/Sub-Abo“ aus. Fügen Sie einen Filter hinzu, um jeweils nur ein Abo auszuwählen. Wählen Sie das gestapelte Flächendiagramm aus und zeigen Sie auf einen bestimmten Zeitpunkt, um die Kriterienergebnisse für das Abo zu diesem Zeitpunkt zu sehen.
Der folgende Screenshot zeigt den Messwert für einen Zeitraum von einer Stunde in einem übereinander angeordneten Flächendiagramm. Der kombinierte Gesundheitsindex erreicht um 4:15 Uhr den Wert 5, wobei jedes Kriterium den Wert 1 hat. Später sinkt der kombinierte Wert um 4:20 Uhr auf 4, wenn der Auslastungswert auf 0 fällt.
PromQL bietet eine ausdrucksstarke, textbasierte Schnittstelle zu Cloud Monitoring-Zeitachsendaten. Mit der folgenden PromQL-Abfrage wird ein Diagramm erstellt, mit dem die Integrität der Zustellungslatenz für ein Abo gemessen wird.
sum_over_time(
{
"__name__"="pubsub.googleapis.com/subscription/delivery_latency_health_score",
"monitored_resource"="pubsub_subscription",
"subscription_id"="$SUBSCRIPTION"
}[${__interval}]
)
Ablauf der Bestätigungsfrist überwachen
Um die Latenz bei der Nachrichtenübermittlung zu reduzieren, erlaubt Pub/Sub Abonnenten-Clients eine begrenzte Zeit, um eine bestimmte Nachricht zu bestätigen. Dieser Zeitraum wird als Bestätigungsfrist bezeichnet. Wenn es zu lange dauert, bis Ihre Abonnenten Nachrichten bestätigen, werden die Nachrichten noch einmal zugestellt, sodass die Abonnenten Nachrichten doppelt sehen. Die erneute Zustellung kann verschiedene Gründe haben:
Die Abonnenten sind unzureichend versorgt, Sie benötigen mehr Threads oder Rechner..
Die Verarbeitung jeder Nachricht dauert länger als das Zeitlimit für die Nachrichtenbestätigung. Cloud-Clientbibliotheken verlängern im Allgemeinen die Frist für einzelne Nachrichten auf ein konfigurierbares Maximum. Für die Bibliotheken gilt jedoch auch eine Fristverlängerung.
Einige Nachrichten führen regelmäßig zu einem Absturz des Clients.
Sie können die Rate messen, bei der Abonnenten die Bestätigungsfrist verpassen. Der genaue Messwert hängt vom Abotyp ab:
Pull und StreamingPull:
subscription/expired_ack_deadlines_count
Push:
subscription/push_request_count
gefiltert nachresponse_code != "success"
Eine zu hohe Ablauffrist für Bestätigungszeiträume kann zu teuren Ineffizienzen in Ihrem System führen. Sie zahlen für jede erneute Zustellung und für den Versuch, jede Nachricht wiederholt zu verarbeiten. Umgekehrt kann eine geringe Ablaufrate (z. B. 0,1–1%) fehlerfrei sein.
Nachrichtendurchsatz überwachen
Abonnenten von Pull- und StreamingPull-Abos erhalten möglicherweise Batches von Nachrichten in jeder Pull-Antwort. Bei Push-Abos wird in jeder Push-Anfrage eine einzelne Nachricht empfangen. Mit den folgenden Messwerten können Sie den Batch-Nachrichtendurchsatz überwachen, der von Ihren Abonnenten verarbeitet wird:
Pull:
subscription/pull_request_count
(Dieser Messwert kann auch Pull-Anfragen ohne Nachrichten enthalten.)StreamingPull:
subscription/streaming_pull_response_count
Sie können den individuellen oder nicht gebündelten Nachrichtendurchsatz, der von Ihren Abonnenten verarbeitet wird, mit dem Messwert subscription/sent_message_count
überwachen, der nach dem Label delivery_type
gefiltert wird.
Die folgende PromQL-Abfrage gibt ein Zeitreihendiagramm mit der Gesamtzahl der Nachrichten zurück, die in einem gleitenden 10-Minuten-Zeitraum an ein bestimmtes Pub/Sub-Abo gesendet wurden. Ersetzen Sie die Platzhalterwerte für $PROJECT_NAME
und $SUBSCRIPTION_NAME
durch Ihre tatsächlichen Projekt- und Themen-IDs.
sum(
increase({
"__name__"="pubsub.googleapis.com/subscription/sent_message_count",
"monitored_resource"="pubsub_subscription",
"project_id"="$PROJECT_NAME",
"subscription_id"="$SUBSCRIPTION_NAME"
}[10m])
)
Push-Abos beobachten
Bei Push-Abos sollten Sie diese Messwerte beobachten:
subscription/push_request_count
Gruppieren Sie den Messwert nach
response_code
undsubscription_id
. Da Pub/Sub-Push-Abos Antwortcodes als implizite Nachrichtenbestätigungen verwenden, ist es wichtig, Antwortcodes für Push-Anfragen zu beobachten. Da Push-Abos exponentiell zurückgehen, wenn Zeitüberschreitungen oder Fehler auftreten, kann Ihr Rückstand schnell wachsen, je nachdem, wie Ihr Endpunkt reagiert.Sie sollten eine Warnung für hohe Fehlerraten einrichten, da diese Raten zu einer langsamen Zustellung und einem wachsenden Rückstand führen. Sie können einen Messwert erstellen, der nach Antwortklasse gefiltert wird. Die Anzahl der Push-Anfragen ist jedoch wahrscheinlich ein nützlicheres Tool, um die wachsende Rückstände und das Alter zu untersuchen.
subscription/num_outstanding_messages
Pub/Sub begrenzt im Allgemeinen die Anzahl der ausstehenden Nachrichten. In den meisten Fällen sollten Sie weniger als 1.000 ausstehende Nachrichten anstreben. Sobald der Durchsatz eine Rate von etwa 10.000 Nachrichten pro Sekunde erreicht, passt der Dienst das Limit für die Anzahl der ausstehenden Nachrichten an. Diese Einschränkung erfolgt in Schritten von 1.000. Es gibt keine spezifischen Garantien, die über den Maximalwert hinausgehen. Daher ist 1.000 ein guter Anhaltspunkt.
subscription/push_request_latencies
Dieser Messwert hilft Ihnen, die Verteilung der Antwortlatenz des Push-Endpunkts zu verstehen. Da die Anzahl der ausstehenden Nachrichten begrenzt ist, wirkt sich die Endpunktlatenz auf den Abodurchsatz aus. Wenn die Verarbeitung jeder Nachricht 100 Millisekunden dauert, liegt Ihr Durchsatzlimit bei zehn Nachrichten pro Sekunde.
Um auf höhere ausstehende Nachrichtenbeschränkungen zuzugreifen, müssen Push-Abonnenten mehr als 99% der empfangenen Nachrichten bestätigen.
Sie können den Anteil der Nachrichten, die Abonnenten bestätigen, mithilfe von PromQL berechnen. Die folgende PromQL-Abfrage erstellt ein Diagramm mit dem Anteil der Nachrichten, die Abonnenten für ein Abo bestätigen:
rate({
"__name__"="pubsub.googleapis.com/subscription/push_request_count",
"monitored_resource"="pubsub_subscription",
"subscription_id"="$SUBSCRIPTION",
"response_class"="ack"
}[${__interval}])
/
rate({
"__name__"="pubsub.googleapis.com/subscription/push_request_count",
"monitored_resource"="pubsub_subscription",
"subscription_id"="$SUBSCRIPTION"
}[${__interval}])
Abos mit Filtern beobachten
Wenn Sie einen Filter für ein Abo konfigurieren, bestätigt Pub/Sub automatisch Nachrichten, die nicht mit dem Filter übereinstimmen. Sie können diese automatische Bestätigung überwachen.
Die Rückstandmesswerte enthalten nur Nachrichten, die dem Filter entsprechen.
Um die Rate der automatisch bestätigten Nachrichten zu beobachten, die nicht mit dem Filter übereinstimmen, verwenden Sie den Messwert subscription/ack_message_count
mit dem Label delivery_type
, das auf filter
festgelegt ist.
Verwenden Sie den Messwert subscription/byte_cost
mit dem Label operation_type
, das auf filter_drop
festgelegt ist, um den Durchsatz und die Kosten von automatisch bestätigten Nachrichten zu beobachten, die nicht mit dem Filter übereinstimmen. Weitere Informationen zu den Gebühren für diese Nachrichten finden Sie auf der Pub/Sub-Preisseite.
Abos mit SMTs beobachten
Wenn Ihr Abo ein SMT enthält, das Nachrichten herausfiltert, enthalten die Backlog-Messwerte die herausgefilterten Nachrichten, bis das SMT tatsächlich darauf angewendet wird. Das bedeutet, dass der Rückstand möglicherweise größer und das Alter der ältesten unbestätigten Nachricht möglicherweise älter erscheint als das, was an Ihren Abonnenten gesendet wird. Das ist besonders wichtig, wenn Sie diese Messwerte verwenden, um Abonnenten automatisch zu skalieren.
Weitergeleitete unzustellbare Nachrichten beobachten
Verwenden Sie den Messwert subscription/dead_letter_message_count
, um nicht zustellbare Nachrichten zu beobachten, die Pub/Sub an ein Thema für unzustellbare Nachrichten weiterleitet. Dieser Messwert zeigt die Anzahl der nicht zustellbaren Nachrichten, die Pub/Sub von einem Abo weiterleitet.
Wenn Sie prüfen möchten, ob Pub/Sub unzustellbare Nachrichten weiterleitet, können Sie den Messwert subscription/dead_letter_message_count
mit dem Messwert topic/send_request_count
vergleichen. Führen Sie den Vergleich für das Thema für unzustellbare Nachrichten durch, an das Pub/Sub diese Nachrichten weiterleitet.
Sie können ein Abo auch für das Thema für unzustellbare Nachrichten anhängen und dann die weitergeleiteten nicht zustellbaren Nachrichten für dieses Abo über die folgenden Messwerte überwachen:
subscription/num_unacked_messages_by_region
- die Anzahl der weitergeleiteten Nachrichten, die im Abo angesammelt wurden
subscription/oldest_unacked_message_age_by_region
- das Alter der ältesten weitergeleiteten Nachricht im Abo
Publisher fehlerfrei halten
Das primäre Ziel eines Publishers besteht darin, Nachrichtendaten schnell zu speichern. Beobachten Sie diese Leistung mit topic/send_request_count
, gruppiert nach response_code
. Dieser Messwert gibt an, ob Pub/Sub fehlerfrei ist und Anfragen akzeptiert.
Eine Hintergrundrate von wiederholbaren Fehlern (unter 1%) ist kein Grund zur Sorge, da die meisten Cloud-Clientbibliotheken fehlerhafte Nachrichten wiederholen. Untersuchen Sie Fehlerraten, die größer als 1 % sind.
Da nicht wiederholbare Codes von Ihrer Anwendung (und nicht von der Clientbibliothek) verarbeitet werden, sollten Sie Antwortcodes untersuchen. Wenn Ihre Publisher-Anwendung keine gute Möglichkeit hat, einen fehlerhaften Status zu melden, sollten Sie eine Warnung für den Messwert topic/send_request_count
festlegen.
Ebenso wichtig ist es, fehlgeschlagene Veröffentlichungsanfragen in Ihrem Publish-Client zu verfolgen. Obwohl Clientbibliotheken fehlgeschlagene Anfragen in der Regel wiederholen, garantieren sie keine Veröffentlichung. Unter Nachrichten veröffentlichen erfahren Sie, wie Sie dauerhafte Veröffentlichungsfehler bei der Verwendung von Cloud-Clientbibliotheken erkennen. Ihre Publisher-Anwendung muss zumindest die permanenten Veröffentlichungsfehler protokollieren. Wenn Sie diese Fehler in Cloud Logging protokollieren, können Sie einen logbasierten Messwert mit einer Benachrichtigungsrichtlinie einrichten.
Nachrichtendurchsatz überwachen
Publisher senden Nachrichten möglicherweise in Batches. Mit den folgenden Messwerten können Sie den von Ihren Publishern gesendeten Nachrichtendurchsatz überwachen:
topic/send_request_count
: Das Volumen der Batch-Nachrichten, die von Publishern gesendet werden.Eine Anzahl von
topic/message_sizes
: Das Volumen der von Publishern gesendeten einzelnen (nicht gebündelten) Nachrichten.
Verwenden Sie die folgende PromQL-Abfrage, um eine genaue Anzahl der veröffentlichten Nachrichten zu erhalten. Mit dieser PromQL-Abfrage wird die Anzahl der einzelnen Nachrichten abgerufen, die in definierten Zeitintervallen in einem bestimmten Pub/Sub-Thema veröffentlicht wurden. Ersetzen Sie die Platzhalterwerte für $PROJECT_NAME
und $TOPIC_ID
durch Ihre tatsächlichen Projekt- und Themen-IDs.
sum by (topic_id) (
increase({
"__name__"="pubsub.googleapis.com/topic/message_sizes_count",
"monitored_resource"="pubsub_topic",
"project_id"="$PROJECT_NAME",
"topic_id"="$TOPIC_ID"
}[${__interval}])
)
Zur besseren Visualisierung, insbesondere bei täglichen Messwerten, sollten Sie Folgendes beachten:
Wenn Sie sich Ihre Daten über einen längeren Zeitraum ansehen, erhalten Sie mehr Kontext für tägliche Trends.
Verwenden Sie Balkendiagramme, um die tägliche Anzahl von Nachrichten darzustellen.
Nächste Schritte
Informationen zum Erstellen einer Benachrichtigung für einen bestimmten Messwert finden Sie unter Messwertbasierte Benachrichtigungsrichtlinien verwalten.
Weitere Informationen zur Verwendung von PromQL zum Erstellen von Monitoring-Diagrammen finden Sie unter Code-Editor für PromQL verwenden.
Weitere Informationen zu API-Ressourcen für die Monitoring API, z. B. Messwerte, überwachte Ressourcen, Gruppen überwachter Ressourcen und Benachrichtigungsrichtlinien, finden Sie unter API-Ressourcen.