Monitoring-Messwerte melden

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 Monitoringdaten erzeugt. 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