Messwerte aufrufen

In diesem Thema wird erklärt, wie Sie Apigee-Hybridmesswerte in einem Cloud Operations-Dashboard aufrufen können.

Informationen zu Cloud Operations

Weitere Informationen zu Messwerten, Dashboards und Cloud Operations finden Sie unter:

Hybridmesswerte aktivieren

Bevor Sie Hybridmesswerte an Cloud Operations senden können, müssen Sie zuerst die Messwerterfassung aktivieren. Weitere Informationen zu diesem Verfahren finden Sie unter Messwerterfassung konfigurieren.

Namen und Labels von Hybridmesswerten

Wenn diese Option aktiviert ist, werden Hybridmesswerte von Cloud Operations automatisch eingefügt. Das Domainnamenpräfix der von Hybrid erstellten Messwerte lautet:

apigee.googleapis.com/

Der Messwert /proxy/request_count enthält beispielsweise die Gesamtzahl der Anfragen, die von einem API-Proxy empfangen werden. Der Messwertname in Cloud Operations lautet daher:

apigee.googleapis.com/proxy/request_count

Mit Cloud Operations können Sie Messwertdaten nach Labels filtern und gruppieren. Einige Labels sind vordefiniert und andere werden explizit durch Hybrid hinzugefügt. Im Abschnitt Verfügbare Messwerte weiter unten werden alle verfügbaren Hybridmesswerte und alle Labels aufgeführt, die speziell für einen Messwert hinzugefügt wurden, den Sie zum Filtern und Gruppieren verwenden können.

Messwerte ansehen

Das folgende Beispiel zeigt, wie Messwerte in Cloud Operations aufgerufen werden:
  1. Öffnen Sie den Monitoring-Messwert-Explorer in einem Browser. Wenn Sie sich bereits in der Cloud Operations Console befinden, wählen Sie Metrics Explorer aus.
  2. Suchen Sie unter Find resource type and metric den Messwert, den Sie untersuchen möchten. Wählen Sie einen bestimmten Messwert aus, der unter Available Metrics aufgeführt ist, oder suchen Sie nach einem Messwert.

  3. Wählen Sie den gewünschten Messwert aus.
  4. Wenden Sie den Filter an. Die Filteroptionen für jeden Messwert sind unter Available metrics aufgeführt.
  5. Cloud Operations zeigt das Diagramm für den ausgewählten Messwert an.
  6. Klicken Sie auf Speichern.

Dashboard erstellen

Mit Dashboards können Sie relevante Messwertdaten ansehen und analysieren. Cloud Operations bietet vordefinierte Dashboards für die von Ihnen verwendeten Ressourcen und Dienste und Sie können auch benutzerdefinierte Dashboards erstellen.

Sie verwenden ein Diagramm, um einen Apigee-Messwert in Ihrem benutzerdefinierten Dashboard anzuzeigen. Mit benutzerdefinierten Dashboards haben Sie die volle Kontrolle über die angezeigten Diagramme und deren Konfiguration. Weitere Informationen zum Erstellen von Diagrammen finden Sie unter Diagramme erstellen.

Das folgende Beispiel zeigt, wie Sie ein Dashboard in Cloud Operations erstellen und dann Diagramme hinzufügen, um Messwertdaten anzuzeigen:

  1. Öffnen Sie den Monitoring Metrics Explorer in einem Browser und wählen Sie Dashboards aus.
  2. Wählen Sie + Dashboard erstellen aus.
  3. Geben Sie einen Namen für das Dashboard ein. Beispiel: Anfragetraffic des Hybridproxys
  4. Klicken Sie auf Bestätigen.
  5. Führen Sie für jedes Diagramm, das Sie dem Dashboard hinzufügen möchten, die folgenden Schritte aus:

    1. Wählen Sie im Dashboard Diagramm hinzufügen aus.
    2. Wählen Sie den gewünschten Messwert aus, wie oben unter Messwerte ansehen beschrieben.
    3. Schließen Sie das Dialogfeld ab, um das Diagramm zu definieren.
    4. Klicken Sie auf Speichern. Cloud Operations zeigt Daten für den ausgewählten Messwert an.

Verfügbare Messwerte

In den folgenden Tabellen werden Messwerte zur Analyse des Proxy-Traffics aufgeführt. Weitere Informationen zu den einzelnen Apigee-Messwerten finden Sie unter Google Cloud-Messwerte.

Proxy-, Ziel- und Server-Traffic-Messwerte

OpenTelemetry erfasst und verarbeitet Messwerte (wie unter Messwerterfassung beschrieben) für Proxy-, Ziel- und Server-Traffic.

In der folgenden Tabelle werden die vom OpenTelemetry-Collector verwendeten Messwerte beschrieben.

Messwertname Verwenden
/proxy/request_count Anzahl der Anfragen an den Apigee-Proxy seit der letzten Stichprobe.
/proxy/response_count Anzahl der vom Apigee API-Proxy gesendeten Antworten.
/proxy/latencies Verteilung der Latenzen, die vom Zeitpunkt des Empfangs der Anfrage durch den Apigee-Proxy bis zum Zeitpunkt des Sendens der Antwort vom Apigee-Proxy an den Client berechnet werden.
/proxyv2/request_count Die Gesamtzahl der erhaltenen API-Proxyanfragen.
/proxyv2/response_count Die Gesamtzahl der empfangenen API-Proxy-Antworten.
/proxyv2/latencies_percentile Perzentil aller API-Richtlinienantworten auf eine Anfrage.
/target/request_count Anzahl der Anfragen, die seit der letzten Stichprobe an das Apigee-Ziel gesendet wurden.
/target/response_count Anzahl der Antworten, die seit der letzten Stichprobe vom Apigee-Ziel empfangen wurden.
/target/latencies Verteilung der Latenzen, die ab dem Zeitpunkt berechnet werden, an dem die Anfrage an das Apigee-Ziel gesendet wurde, bis zu dem Zeitpunkt, an dem die Antwort vom Apigee-Proxy empfangen wurde. Die Zeit umfasst nicht den Apigee-API-Proxy-Overhead.
/targetv2/request_count Die Gesamtzahl der Anforderungen, die an den Ziel-Proxy gesendet wurden.
/targetv2/response_count Die Gesamtzahl der Antworten, die vom Ziel des Proxys empfangen wurden.
/server/fault_count

Die Gesamtzahl der Fehler für die Serveranwendung.

Die Anwendung kann beispielsweise apigee-runtime, apigee-synchronizer oder apigee-udca sein. Verwenden Sie das Label pod_name, um Ergebnisse nach Anwendung zu filtern.

/server/nio Dies ist ein Messwert, der nach dem Label state gefiltert werden kann, um Details für verschiedene Labels abzurufen. Die Werte stehen für verschiedene System- und E/A-Vorgänge. Labels wie accepted, accepted_total, close_failed, close_success, conn_pending, connected, connected_total, max_conn und timeouts beziehen sich auf Socket- und Verbindungsvorgänge. Die übrigen Labels beziehen sich auf andere Systemvorgänge.
/server/num_threads Die Anzahl der aktiven Nicht-Daemon-Threads auf dem Server.
/server/request_count

Die Gesamtzahl der Anfragen, die von der Serveranwendung empfangen wurden.

Die Anwendung kann beispielsweise apigee-runtime, apigee-synchronizer oder apigee-udca sein. Verwenden Sie das Label pod_name, um Ergebnisse nach Anwendung zu filtern.

/server/response_count

Gesamtzahl der von der Serveranwendung gesendeten Antworten.

Die Anwendung kann beispielsweise apigee-runtime, apigee-synchronizer oder apigee-udca sein. Verwenden Sie das Label pod_name, um Ergebnisse nach Anwendung zu filtern.

/server/latencies

Latenz ist die Latenz in Millisekunden, die von der Serveranwendung verursacht wird.

Die Anwendung kann beispielsweise apigee-runtime, apigee-synchronizer oder apigee-udca sein. Verwenden Sie das Label pod_name, um Ergebnisse nach Anwendung zu filtern.

/upstream/request_count

Die Anzahl der Anfragen, die von der Serveranwendung an die vorgelagerte Anwendung gesendet werden.

Bei apigee-synchronizer ist die Steuerungsebene beispielsweise vorgelagert. Daher ist upstream/request_count für apigee-synchronizer ein Messwert, der die Anfragen angibt, die apigee-synchronizer an die Steuerungsebene gesendet hat.

/upstream/response_count

Die Anzahl der Antworten, die von der Serveranwendung von seiner vorgelagerten Anwendung empfangen wurden.

Für apigee-synchronizer ist die Steuerungsebene beispielsweise vorgeliefert. upstream/response_count für apigee-synchronizer ist also ein Messwert, der die Anfragen angibt, die apigee-synchronizer von der Steuerungsebene erhalten hat.

/upstream/latencies

Die Latenz, die durch die Upstream-Serveranwendung in Millisekunden verursacht wird.

Bei apigee-synchronizer ist die Steuerungsebene beispielsweise vorgelagert. upstream/latencies für apigee-synchronizer ist also ein Messwert, der die Latenz auf der Steuerungsebene angibt.

UDCA-Messwerte

Open Telemetry erfasst und verarbeitet Messwerte (wie unter Messwertsammlung beschrieben) für den UDCA-Dienst wie bei anderen Hybriddiensten.

In der folgenden Tabelle werden die Messwerte beschrieben, die der OpenTelemetry-Collector in den UDCA-Messwertdaten verwendet.

state

state

Messwertname Verwenden
/udca/server/local_file_oldest_ts

Der Zeitstempel in Millisekunden seit dem Start der Unix-Epoche für die älteste Datei im Dataset.

Dieser wird alle 60 Sekunden berechnet und spiegelt den Status nicht in Echtzeit wider. Wenn der UDCA aktuell ist und bei der Berechnung dieses Messwerts keine Dateien zum Hochladen warten, lautet der Wert 0.

Wenn dieser Wert kontinuierlich ansteigt, bleiben alte Dateien auf der Festplatte.

/udca/server/local_file_latest_ts

Der Zeitstempel in Millisekunden seit Beginn der Unix-Epoche, für die neueste Datei auf der Festplatte nach Status.

Dieser wird alle 60 Sekunden berechnet und spiegelt den Status nicht in Echtzeit wider. Wenn der UDCA aktuell ist und bei der Berechnung dieses Messwerts keine Dateien zum Hochladen warten, lautet der Wert 0.

/udca/server/local_file_count

Die Anzahl der Dateien auf dem Datenträger im Datenerfassungs-Pod.

Im Idealfall liegt der Wert nahe 0. Ein konstant hoher Wert gibt an, dass Dateien nicht hochgeladen werden oder dass die UDCA sie nicht schnell genug hochladen kann.

Dieser Wert wird alle 60 Sekunden berechnet und reflektiert nicht den Status des UDCA in Echtzeit.

/udca/server/total_latencies

Das Zeitintervall in Sekunden zwischen der erstellten Datendatei und der hochgeladenen Datendatei.

Die Buckets sind 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s und 64 s.

Histogramm für die Gesamtlatenz vom Zeitpunkt der Dateierstellung bis zum erfolgreichen Upload.

/udca/server/upload_latencies

Die Gesamtzeit in Sekunden, die von der UDCA für das Hochladen einer Datendatei aufgewendet wurde.

Die Buckets sind 100 ms, 250 ms, 500  ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s und 64 s.

Die Messwerte zeigen ein Histogramm für die gesamte Upload-Latenz an, einschließlich aller Upstream-Aufrufe.

/udca/upstream/http_error_count

Die Gesamtzahl der von UDCA aufgetretenen HTTP-Fehler. Dieser Messwert ist hilfreich, um zu bestimmen, welcher Teil der externen UDCA-Abhängigkeiten aus welchem Grund fehlschlagen.

Diese Fehler können für verschiedene Dienste (getDataLocation, Cloud storage, Token generator) und für verschiedene Datasets (z. B. api und trace) mit unterschiedlichen Antwortcodes auftreten, um die Option zu aktivieren.

/udca/upstream/http_latencies

Die vorgelagerte Latenz von Diensten in Sekunden.

Die Buckets sind 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s und 64 s.

Histogramm für die Latenz von vorgelagerten Diensten.

/udca/upstream/uploaded_file_sizes

Die Größe der Datei, die in Apigee-Dienste hochgeladen wird, in Byte.

Buckets sind 1 KB, 10 KB, 100 KB, 1 MB, 10 MB, 100 MB und 1 GB.

Histogramm für die Dateigröße nach Dataset, Organisation und Umgebung.

/udca/upstream/uploaded_file_count Eine Anzahl der Dateien, die UDCA in die Apigee-Dienste hochgeladen hat.

Hinweis:

  • Der Wert des Datasets event sollte weiterhin wachsen.
  • Der Dataset-Wert api sollte weiterhin wachsen, wenn "org/env" konstanten Traffic hat.
  • Der Dataset-Wert trace sollte sich erhöhen, wenn Sie die Apigee-Trace-Tools zum Debuggen oder Prüfen Ihrer Anfragen verwenden.
/udca/disk/used_bytes

Der Speicherplatz, der von den Datendateien auf dem Laufwerk des Datenerfassungs-Pods belegt wird, in Byte.

Eine Erhöhung dieses Werts im Laufe der Zeit:

  • ready_to_upload impliziert, dass der Agent hinter der Verzögerung zurückliegt.
  • failed impliziert, dass Dateien auf dem Laufwerk gespeichert und nicht hochgeladen werden. Dieser Wert wird alle 60 Sekunden berechnet.
/udca/server/pruned_file_count Anzahl der gelöschten Dateien, da ihre Gültigkeitsdauer (TTL) über einen festgelegten Schwellenwert lag. Das Dataset kann API, Trace und andere enthalten und der Status kann UPLOADED, FAILED oder DISCARDED sein.
/udca/server/retry_cache_size

Gibt an, wie viele Dateien pro Dataset von UDCA hochgeladen werden können.

Nach drei Wiederholungsversuchen wird die Datei von UDCA in das Unterverzeichnis /failed verschoben und aus dem Cache entfernt. Eine Erhöhung dieses Werts im Laufe der Zeit bedeutet, dass der Cache nicht gelöscht wird, was dann geschieht, wenn Dateien nach drei Wiederholungsversuchen in das Unterverzeichnis /failed verschoben werden.

Cassandra-Messwerte

OpenTelemetry erfasst und verarbeitet Messwerte (wie unter Messwertsammlung beschrieben) für Cassandra wie bei anderen Hybriddiensten.

In der folgenden Tabelle werden die Messwerte beschrieben, die der OpenTelemetry-Erfassungstool in den Cassandra-Messwertdaten verwendet.

Messwertname (ohne Domain) Verwenden
/cassandra/process_max_fds Maximale Anzahl geöffneter Dateideskriptoren.
/cassandra/process_open_fds Dateideskriptoren öffnen.
/cassandra/jvm_memory_pool_bytes_max Maximale JVM-Speicherauslastung für den Pool.
/cassandra/jvm_memory_pool_bytes_init Anfängliche Speichernutzung der JVM für den Pool.
/cassandra/jvm_memory_bytes_max Maximale Arbeitsspeicherauslastung der JVM-Instanz.
/cassandra/process_cpu_seconds_total Nutzer- und System-CPU-Zeit in Sekunden.
/cassandra/jvm_memory_bytes_used Auslastung des JVM Heap-Speichers
/cassandra/compaction_pendingtasks Offene Komprimierungen für Cassandra-SSTables. Weitere Informationen finden Sie unter Verdichtung.
/cassandra/jvm_memory_bytes_init Arbeitsspeichernutzung für JVM-Heap-Speicher.
/cassandra/jvm_memory_pool_bytes_used Auslastung des JVM-Pools.
/cassandra/jvm_memory_pool_bytes_committed Vom JVM-Pool zugesicherte Speichernutzung.
/cassandra/clientrequest_latency Latenz der Leseanfrage im 75. Perzentilbereich in Mikrosekunden.
/cassandra/jvm_memory_bytes_committed Arbeitsspeichernutzung für JVM-Heap-Speicher.

Mit Cassandra-Messwerten arbeiten

Apigee empfiehlt die folgenden Messwerte, die für die Überwachung Ihrer Cassandra-Datenbank wichtig sind:

  • Cassandra-Anfragerate: Verwenden Sie diesen Messwert, um die Cassandra-Lese- und Schreibanfragerate zu überwachen.
    Messwert: apigee.googleapis.com/cassandra/clientrequest_latency
    Ressourcenlabels: project_id, location, cluster_name, namespace_name, pod_name, container_name
    Messwertlabels: scope, unit

    Damit können Sie die Ressource filtern oder gruppieren.

    Wenden Sie den folgenden Filter an, um die Cassandra-Leseanfragerate zu überwachen.

    Filter: metric.scope == 'Read'
    metric.unit == 'OneMinuteRate'

    Wenden Sie den folgenden Filter an, um die Cassandra-Schreibanfragerate zu beobachten.

    Filter: metric.scope == 'Write'
    metric.unit == 'OneMinuteRate'
  • Cassandra-Anfragelatenz: Verwenden Sie diesen Messwert, um die Cassandra-Lese- und Schreibanfragelatenz zu überwachen. Dies ist der gleiche Messwert wie die Anfragerate (apigee.googleapis.com/cassandra/clientrequest_latency mit unterschiedlichen Filtern).

    Wenden Sie den folgenden Filter an, um die Cassandra-Leseanfragelatenz zu überwachen.

    Filter: metric.scope == 'Read'
    metric.unit == '99thPercentile' oder '95thPercentile' oder '75thPercentile'

    Wenden Sie den folgenden Filter an, um die Latenz für cassandra-Schreibanfragen zu überwachen.

    Filter: metric.scope == 'Write'
    metric.unit == '99thPercentile' oder '95thPercentile' oder '75thPercentile'
  • Cassandra-Pod-CPU-Anfrageauslastung
    Messwert: kubernetes.io/container/cpu/request_utilization (GKE on Google Cloud)
    kubernetes.io/anthos/container/cpu/request_utilization (Google Distributed Cloud)
    Ressourcenlabels: project_id, location, cluster_name, namespace_name, pod_name, container_name

    Damit können Sie die Ressource filtern oder gruppieren.

  • Cassandra-Datenvolumenauslastung
    Messwert: kubernetes.io/pod/volume/utilization (GKE on Google Cloud)
    kubernetes.io/anthos/pod/volume/utilization (Google Distributed Cloud)
    Ressourcenlabels: project_id, location, cluster_name, namespace_name, pod_name
    Messwertlabels: volume_name

    Damit können Sie die Ressource filtern oder gruppieren.

Empfehlungen zum Skalieren des Cassandra-Clusters

Die folgenden Richtlinien können als empfohlene Cluster für die Entscheidung dienen, Ihren Cassandra-Cluster zu skalieren. Im Allgemeinen gilt: Wenn Lese- oder Schreibanfragen konsistent eine Latenz des 99. Perzentils zeigen oder die Latenz kontinuierlich ansteigt und Sie entsprechende Spitzen bei der CPU-Anfrageauslastung und die Lese- oder Schreibanfrageraten feststellen, kann Ihr Cassandra-Cluster auch unter Stress stehen. Sie sollten den Cluster skalieren. Weitere Informationen finden Sie unter Cassandra skalieren.

MesswertGrenzwertTriggerdauer
kubernetes.io/pod/volume/utilization85 %5 Min.
kubernetes.io/container/cpu/request_utilization85 %3 Min.
Read request Latency 99thPercentile5s3 Min.
Write request Latency 99thPercentile5s3 Min.