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 im Batch 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.

Beachten Sie, dass diese Anleitung für das Monitoring von Messwerten gilt, die durch verwaltete Dienste definiert sind. Benutzerdefinierte Monitoring-Messwerte können nicht über die Service Control API gemeldet werden. Wenn Sie benutzerdefinierte Messwerte melden möchten, folgen Sie dieser Anleitung.

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 einige Überwachungsdaten generiert. Informationen zum Definieren einer überwachten Ressource in der Dienstkonfiguration finden Sie unter monitored_resource.proto für die technische Spezifikation. Es wird dringend empfohlen, für das Monitoring und das Logging dieselbe überwachte Ressource zu verwenden.

  • Messwerte: Sie können einen oder mehrere Messwerte melden. Messwerte stehen jeweils für Teilbereiche des Status, dessen Wert verfolgt wird. Informationen 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 Messwerte gesendet werden sollen. Weitere Informationen finden Sie unter monitoring.proto.

Im folgenden Beispiel einer Dienstkonfiguration werden 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 die Übertragung der Dienstkonfiguration 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