Auf dieser Seite wird beschrieben, wie Sie verwaltete Dienste mithilfe von Service Infrastructure konfigurieren, um Monitoring-Daten zu generieren und an Dienstersteller- und Dienstnutzerprojekte zu senden. Monitoring bietet Einblick in die Leistung, Betriebszeit und korrekte Funktion der einzelnen verwalteten Dienste.
Die Service Control API akzeptiert Messwerte, die dann zusammengefasst und an Cloud Monitoring weitergeleitet werden. Monitoring nimmt diese Messwerte auf und stellt Informationen über Dashboards, Diagramme und Benachrichtigungen bereit.
Mit Monitoring allein kann ein verwalteter Dienst Monitoring-Daten für Sie als Entwickler des verwalteten Dienstes erzeugen. Wenn Sie dagegen die Service Control API verwenden, können Sie auch Monitoring-Daten für Ihre Nutzer generieren. Damit haben Nutzer die Möglichkeit, die Verwendung des verwalteten Dienstes nachzuvollziehen und zu diagnostizieren.
Hinweis: Diese Anleitung bezieht sich auf das Monitoring von Messwerten, die von verwalteten Diensten definiert werden. Benutzerdefinierte Messwerte in Monitoring können nicht über die Service Control API gemeldet werden. Wenn Sie benutzerdefinierte Messwerte melden möchten, folgen Sie der Anleitung von Monitoring.
Monitoring konfigurieren
Bevor Sie Monitoring-Daten an die Service Control API senden, müssen Sie in der Dienstkonfiguration drei verschiedene Informationen angeben:
Überwachte Ressourcen: Eine überwachte Ressource stellt eine Cloudentität dar, die Monitoring-Daten generiert. Zum Definieren einer überwachten Ressource in der Dienstkonfiguration lesen Sie die technische Spezifikation unter monitored_resource.proto. Es wird dringend empfohlen, dieselbe überwachte Ressource sowohl für das Monitoring als auch für das Logging zu verwenden.
Messwerte: Sie können einen oder mehrere Messwerte melden. Messwerte stehen jeweils für Teilbereiche des Status, dessen Wert verfolgt wird. Die technische Spezifikation zum Definieren eines Messwerts finden Sie unter metric.proto.
Monitoring-Konfiguration: Hiermit können Sie die Messwerte, die mit einzelnen überwachten Ressourcen verbunden sind, und das Dienstersteller- oder Dienstnutzerprojekt angeben, an das die einzelnen Logs gesendet werden sollen. Weitere Informationen finden Sie unter monitoring.proto.
Im folgenden Beispiel der Dienstkonfiguration sind eine überwachte Ressource und ein Messwert definiert.
# The definition of the monitored resource to be used.
monitored_resources:
- type: library.appspot.com/Branch
description: A library branch.
display_name: Library Branch
launch_stage: ALPHA
labels:
- key: resource_container
description: The Google Cloud resource container (ie. project id) for
the branch.
- key: location
description: The Google Cloud region the branch is located.
- key: branch_id
description: The ID of the branch.
# The definition of the metrics to be used.
metrics:
- name: library.appspot.com/book/num_overdue
display_name: Books Overdue
description: The current number of overdue books.
launch_stage: ALPHA
metric_kind: GAUGE
value_type: INT64
unit: 1
- name: library.googleapis.com/book/returned_count
display_name: Books Returned
description: The count of books that have been returned.
launch_stage: ALPHA
metric_kind: DELTA
value_type: INT64
unit: 1
# The monitoring configuration.
monitoring:
producer_destinations:
- monitored_resource: library.appspot.com/Branch
metrics:
- library.googleapis.com/book/returned_count
consumer_destinations:
- monitored_resource: library.appspot.com/Branch
metrics:
- library.appspot.com/book/num_overdue
Nachdem Sie eine solche Konfiguration erstellt haben, müssen Sie die Dienstkonfigurationen verwalten und die Dienst-Rollouts verwalten, um die Dienstkonfiguration zur Service Management API hochzuladen, die die überwachten Ressourcen- und Messwertdefinitionen in Cloud Monitoring konfiguriert.
Messwerte für die Berichterstellung
Nachdem der Dienstkonfigurations-Push abgeschlossen ist, können Sie die Service Control API aufrufen, um Messwerte zu melden. Im folgenden Beispiel wird der Aufruf anhand des Befehls gcurl
demonstriert. Wie Sie dies einrichten, erfahren Sie unter Erste Schritte mit der Service Control API.
gcurl -d "{ 'operations': [ { 'operationId': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5', 'operationName': 'Return books', 'consumerId': 'projects/library-consumer', 'startTime': '`date +%FT%T%:z`', 'endTime': '`date +%FT%T%:z --date="5 seconds"`', 'labels': { 'location': 'us-east1', 'branch_id': 'my-test-library-branch' }, 'metricValueSets': [ { 'metricName': 'library.googleapis.com/book/returned_count', 'metricValues': [ { 'int64Value': '23' } ] } ] } ] }" https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:report