Verfügbarkeitsdiagnosen verwalten

In diesem Dokument wird beschrieben, wie Sie Verfügbarkeitsdiagnosen mit der Google Cloud Console, der Google Cloud CLI, der Cloud Monitoring API und den Clientbibliotheken verwalten.

Alle Verfügbarkeitsdiagnosen auflisten

Console

  1. Rufen Sie in der Google Cloud Console die Seite  Uptime-Prüfungen auf:

    Verfügbarkeitsdiagnosen aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

    Das folgende Beispiel zeigt eine Beispielseite für Verfügbarkeitsdiagnosen:

    Übersicht über Beispiele für Verfügbarkeitsdiagnosen mit Filtern

  2. Optional: Fügen Sie Filter hinzu, um die aufgeführten Verfügbarkeitsdiagnosen einzuschränken.

    Jeder Filter besteht aus einem Namen und einem Wert. Sie können den Wert so einstellen, dass er genau mit dem Namen einer Verfügbarkeitsdiagnose oder einer Teilübereinstimmung übereinstimmt. Bei Übereinstimmungen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Um beispielsweise alle Verfügbarkeitsdiagnosen aufzulisten, deren Name default enthält, gehen Sie so vor:

    • Klicken Sie auf Filter table (Filtertabelle) und wählen Sie Display name (Anzeigename) aus.
    • Geben Sie default ein und drücken Sie die Eingabetaste.

    Wenn Sie mehrere Filter haben, werden sie automatisch durch den logischen Wert AND verbunden, sofern Sie nicht den Filter OR einfügen. Im vorherigen Beispiel wird der Filter OR verwendet, sodass eine Verfügbarkeitsdiagnose aufgelistet wird, wenn der Name mit default oder Testing check übereinstimmt.

gcloud

Führen Sie den Befehl gcloud monitoring uptime list-configs aus, um Ihre Verfügbarkeitsdiagnosen und synthetischen Monitorings aufzulisten:

gcloud monitoring uptime list-configs

Die zurückgegebenen Daten umfassen Folgendes:

  • Name und Anzeigename.
  • Prüfen Sie die Kennung.
  • Überwachte Ressource.
  • Zeitraum zwischen den Prüfungen.

Sie können den Google Cloud CLI-Befehl so konfigurieren, dass die Ergebnisse gefiltert und sortiert werden.

API

Rufen Sie die Methode projects.uptimeCheckConfigs.list auf, um eine Liste Ihrer Verfügbarkeitsdiagnosen und synthetischen Monitorings zu erhalten. Geben Sie folgenden Parameter an:

  • parent: Das Projekt, dessen Verfügbarkeitsdiagnosen Sie auflisten möchten. Das Format dafür ist:

    projects/PROJECT_ID
    

Rufen Sie die Methode projects.uptimeCheckConfigs.get auf, um eine bestimmte Verfügbarkeitsdiagnose zu erhalten. Geben Sie folgenden Parameter an:

C#

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

public static object ListUptimeCheckConfigs(string projectId)
{
    var client = UptimeCheckServiceClient.Create();
    var configs = client.ListUptimeCheckConfigs(new ProjectName(projectId));
    foreach (UptimeCheckConfig config in configs)
    {
        Console.WriteLine(config.Name);
    }
    return 0;
}

Java

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

private static void listUptimeChecks(String projectId) throws IOException {
  ListUptimeCheckConfigsRequest request =
      ListUptimeCheckConfigsRequest.newBuilder().setParent(ProjectName.format(projectId)).build();
  try (UptimeCheckServiceClient client = UptimeCheckServiceClient.create()) {
    ListUptimeCheckConfigsPagedResponse response = client.listUptimeCheckConfigs(request);
    for (UptimeCheckConfig config : response.iterateAll()) {
      System.out.println(config.getDisplayName());
    }
  } catch (Exception e) {
    usage("Exception listing uptime checks: " + e.toString());
    throw e;
  }
}

Go

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


// list is an example of listing the uptime checks in projectID.
func list(w io.Writer, projectID string) error {
	ctx := context.Background()
	client, err := monitoring.NewUptimeCheckClient(ctx)
	if err != nil {
		return fmt.Errorf("NewUptimeCheckClient: %w", err)
	}
	defer client.Close()
	req := &monitoringpb.ListUptimeCheckConfigsRequest{
		Parent: "projects/" + projectID,
	}
	it := client.ListUptimeCheckConfigs(ctx, req)
	for {
		config, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("ListUptimeCheckConfigs: %w", err)
		}
		fmt.Fprintln(w, config)
	}
	fmt.Fprintln(w, "Done listing uptime checks")
	return nil
}

Node.js

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Imports the Google Cloud client library
const monitoring = require('@google-cloud/monitoring');

// Creates a client
const client = new monitoring.UptimeCheckServiceClient();

/**
 * TODO(developer): Uncomment and edit the following lines of code.
 */
// const projectId = 'YOUR_PROJECT_ID';

const request = {
  parent: client.projectPath(projectId),
};

// Retrieves an uptime check config
const [uptimeCheckConfigs] = await client.listUptimeCheckConfigs(request);

uptimeCheckConfigs.forEach(uptimeCheckConfig => {
  console.log(`ID: ${uptimeCheckConfig.name}`);
  console.log(`  Display Name: ${uptimeCheckConfig.displayName}`);
  console.log('  Resource: %j', uptimeCheckConfig.monitoredResource);
  console.log('  Period: %j', uptimeCheckConfig.period);
  console.log('  Timeout: %j', uptimeCheckConfig.timeout);
  console.log(`  Check type: ${uptimeCheckConfig.check_request_type}`);
  console.log(
    '  Check: %j',
    uptimeCheckConfig.httpCheck || uptimeCheckConfig.tcpCheck
  );
  console.log(
    `  Content matchers: ${uptimeCheckConfig.contentMatchers
      .map(matcher => matcher.content)
      .join(', ')}`
  );
  console.log(`  Regions: ${uptimeCheckConfig.selectedRegions.join(', ')}`);
});

PHP

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Monitoring\V3\Client\UptimeCheckServiceClient;
use Google\Cloud\Monitoring\V3\ListUptimeCheckConfigsRequest;

/**
 * Example:
 * ```
 * list_uptime_checks($projectId);
 * ```
 */
function list_uptime_checks(string $projectId): void
{
    $projectName = 'projects/' . $projectId;
    $uptimeCheckClient = new UptimeCheckServiceClient([
        'projectId' => $projectId,
    ]);
    $listUptimeCheckConfigsRequest = (new ListUptimeCheckConfigsRequest())
        ->setParent($projectName);

    $pages = $uptimeCheckClient->listUptimeCheckConfigs($listUptimeCheckConfigsRequest);

    foreach ($pages->iteratePages() as $page) {
        foreach ($page as $uptimeCheck) {
            print($uptimeCheck->getName() . PHP_EOL);
        }
    }
}

Python

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def list_uptime_check_configs(project_id: str) -> pagers.ListUptimeCheckConfigsPager:
    """Gets all uptime checks defined in the Google Cloud project

    Args:
        project_id: Google Cloud project id

    Returns:
        A list of configurations.
        Iterating over this object will yield results and resolve additional pages automatically.
    """
    client = monitoring_v3.UptimeCheckServiceClient()
    configs = client.list_uptime_check_configs(request={"parent": project_id})

    for config in configs:
        pprint.pprint(config)
    return configs

Ruby

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def list_uptime_check_configs project_id
  require "google/cloud/monitoring"

  client = Google::Cloud::Monitoring.uptime_check_service
  project_name = client.project_path project: project_id
  configs = client.list_uptime_check_configs parent: project_name

  configs.each { |config| puts config.name }
end

Details einer Verfügbarkeitsdiagnose aufrufen

Console

  1. Rufen Sie in der Google Cloud Console die Seite  Uptime-Prüfungen auf:

    Verfügbarkeitsdiagnosen aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Suchen Sie nach der Verfügbarkeitsdiagnose, die Sie sehen möchten, und klicken Sie auf den Namen der Verfügbarkeitsdiagnose.

    Der folgende Screenshot zeigt die Betriebszeitdetails für eine Verfügbarkeitsdiagnose mit dem Namen "My Uptime Check":

    Beispiel für Dashboard zu den Betriebszeitdetails

    Die Seite Uptime details (Betriebszeitdetails) enthält die folgenden Informationen:

    • Das ausgewählte Zeitintervall. Standardmäßig beträgt das Intervall 1 hour (1 Stunde).
    • Den Namen der Verfügbarkeitsdiagnose. Im Beispiel lautet der Name My Uptime Check.
    • Die Labels, die Sie der Verfügbarkeitsdiagnose hinzugefügt haben.
    • Den Prozentsatz der Verfügbarkeit und die durchschnittliche Latenz. Der Wert Percent uptime (Verfügbarkeit in %) ist ein Prozentsatz, der mit (S/T)*100 berechnet wird, wobei S die Anzahl der erfolgreichen Diagnoseantworten und T die Gesamtzahl der Diagnoseantworten von allen Standorten ist. Bei Gruppendiagnosen werden die Werte von S und T für alle aktuellen Gruppenmitglieder addiert.

      In einem Zeitraum von 25 Minuten würde eine Verfügbarkeitsdiagnose, die eine Minute dauert und für alle Regionen ausgeführt wird, z. B. 25 Anfragen von allen 6 Standorten und damit insgesamt 150 Anfragen erhalten. Wenn das Dashboard eine Verfügbarkeit von 83,3 % meldet, sind 125 von 150 Anfragen erfolgreich.

    • In den Bereichen Passed checks (Erfolgreiche Diagnosen) und Uptime check latency (Latenz der Verfügbarkeitsdiagnose) werden die Anzahl der erfolgreichen Diagnosen und die Latenz jeder Diagnose grafisch als Funktion in Abhängigkeit von der Zeit dargestellt.

    • Im Bereich Current Status (Aktueller Status) wird der Status der letzten Diagnosen angezeigt. Ein grüner Kreis mit einem Häkchen neben einer Region gibt an, wann die letzte Diagnose in dieser Region erfolgreich war. Ein roter Kreis mit einem x weist auf einen Fehler hin.

    • Im Bereich Configuration (Konfiguration) wird die Konfiguration der Verfügbarkeitsdiagnose angezeigt. Diese Daten werden zugewiesen, wenn die Verfügbarkeitsdiagnose erstellt wird. Der Wert Check Id (Diagnose-ID) entspricht dem Wert CHECK_ID in API-Aufrufen.

    • Der Bereich Alert Policies (Benachrichtigungsrichtlinien) enthält Informationen zu den zugehörigen Benachrichtigungsrichtlinien. Im Beispiel-Dashboard ist eine Benachrichtigungsrichtlinie konfiguriert.

gcloud

Führen Sie den Befehl gcloud monitoring uptime describe aus, um die Details einer Verfügbarkeitsdiagnose oder eines synthetischen Monitors aufzulisten:

gcloud monitoring uptime describe CHECK_ID

Ersetzen Sie vor der Ausführung des Befehls CHECK_ID durch die Kennung der Verfügbarkeitsdiagnose oder des synthetischen Monitors. Sie finden die Kennung, indem Sie den Befehl gcloud monitoring uptime list-configs ausführen und das Feld name prüfen. Weitere Informationen finden Sie unter Eindeutige Kennung einer Verfügbarkeitsdiagnose ermitteln.

Die für die Betriebszeitprüfung zurückgegebenen Daten umfassen Folgendes:

  • Name und Anzeigename.
  • Prüfen Sie die Kennung.
  • Überwachte Ressource.
  • Zeitraum zwischen den Prüfungen.

API

Rufen Sie die Methode projects.uptimeCheckConfigs.get auf, um die Details einer Verfügbarkeitsdiagnose oder eines synthetischen Monitors aufzulisten. Geben Sie folgenden Parameter an:

C#

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

public static object GetUptimeCheckConfig(string configName)
{
    var client = UptimeCheckServiceClient.Create();
    UptimeCheckConfig config = client.GetUptimeCheckConfig(configName);
    if (config == null)
    {
        Console.Error.WriteLine(
            "No configuration found with the name {0}", configName);
        return -1;
    }
    Console.WriteLine("Name: {0}", config.Name);
    Console.WriteLine("Display Name: {0}", config.DisplayName);
    Console.WriteLine("Http Path: {0}", config.HttpCheck.Path);
    return 0;
}

Java

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

private static void getUptimeCheckConfig(String checkName) throws IOException {
  // Create UptimeCheckServiceSettings instance for add retry mechanism
  UptimeCheckServiceSettings.Builder uptimeCheckServiceSettingsBuilder =
      UptimeCheckServiceSettings.newBuilder();
  uptimeCheckServiceSettingsBuilder
      .getUptimeCheckConfigSettings()
      .setRetrySettings(
          uptimeCheckServiceSettingsBuilder
              .getUptimeCheckConfigSettings()
              .getRetrySettings()
              .toBuilder()
              .setInitialRetryDelay(org.threeten.bp.Duration.ofMillis(100L))
              .setRetryDelayMultiplier(1.3)
              .setMaxRetryDelay(MAX_RECONNECT_BACKOFF_TIME)
              .setInitialRpcTimeout(MAX_RECONNECT_BACKOFF_TIME)
              .setRpcTimeoutMultiplier(1.0)
              .setMaxRpcTimeout(MAX_RECONNECT_BACKOFF_TIME)
              .setTotalTimeout(MAX_RECONNECT_BACKOFF_TIME)
              .setMaxAttempts(6)
              .build());
  UptimeCheckServiceSettings uptimeCheckServiceSettings =
      uptimeCheckServiceSettingsBuilder.build();

  // create UptimeCheckServiceClient with retry setting
  try (UptimeCheckServiceClient client =
      UptimeCheckServiceClient.create(uptimeCheckServiceSettings)) {
    UptimeCheckConfig config = client.getUptimeCheckConfig(checkName);
    if (config != null) {
      System.out.println(config.toString());
    } else {
      System.out.println("No uptime check config found with ID " + checkName);
    }
  } catch (Exception e) {
    usage("Exception getting uptime check: " + e.toString());
    throw e;
  }
}

Go

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


// get is an example of getting an uptime check. resourceName should be
// of the form `projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]`.
func get(w io.Writer, resourceName string) (*monitoringpb.UptimeCheckConfig, error) {
	ctx := context.Background()
	client, err := monitoring.NewUptimeCheckClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("NewUptimeCheckClient: %w", err)
	}
	defer client.Close()
	req := &monitoringpb.GetUptimeCheckConfigRequest{
		Name: resourceName,
	}
	config, err := client.GetUptimeCheckConfig(ctx, req)
	if err != nil {
		return nil, fmt.Errorf("GetUptimeCheckConfig: %w", err)
	}
	fmt.Fprintf(w, "Config: %v", config)
	return config, nil
}

Node.js

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Imports the Google Cloud client library
const monitoring = require('@google-cloud/monitoring');

// Creates a client
const client = new monitoring.UptimeCheckServiceClient();

/**
 * TODO(developer): Uncomment and edit the following lines of code.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const uptimeCheckConfigId = 'YOUR_UPTIME_CHECK_CONFIG_ID';

const request = {
  // i.e. name: 'projects/my-project-id/uptimeCheckConfigs/My-Uptime-Check
  name: client.projectUptimeCheckConfigPath(projectId, uptimeCheckConfigId),
};

console.log(`Retrieving ${request.name}`);

// Retrieves an uptime check config
const [uptimeCheckConfig] = await client.getUptimeCheckConfig(request);
console.log(`ID: ${uptimeCheckConfig.name}`);
console.log(`Display Name: ${uptimeCheckConfig.displayName}`);
console.log('Resource: %j', uptimeCheckConfig.monitoredResource);
console.log('Period: %j', uptimeCheckConfig.period);
console.log('Timeout: %j', uptimeCheckConfig.timeout);
console.log(`Check type: ${uptimeCheckConfig.check_request_type}`);
console.log(
  'Check: %j',
  uptimeCheckConfig.httpCheck || uptimeCheckConfig.tcpCheck
);
console.log(
  `Content matchers: ${uptimeCheckConfig.contentMatchers
    .map(matcher => matcher.content)
    .join(', ')}`
);
console.log(`Regions: ${uptimeCheckConfig.selectedRegions.join(', ')}`);

PHP

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Monitoring\V3\Client\UptimeCheckServiceClient;
use Google\Cloud\Monitoring\V3\GetUptimeCheckConfigRequest;

/**
 * Example:
 * ```
 * get_uptime_check($projectId, $configName);
 * ```
 *
 * @param string $projectId Your project ID
 * @param string $configName
 */
function get_uptime_check($projectId, $configName)
{
    $uptimeCheckClient = new UptimeCheckServiceClient([
        'projectId' => $projectId,
    ]);
    $getUptimeCheckConfigRequest = (new GetUptimeCheckConfigRequest())
        ->setName($configName);

    $uptimeCheck = $uptimeCheckClient->getUptimeCheckConfig($getUptimeCheckConfigRequest);

    print('Retrieved an uptime check:' . PHP_EOL);
    print($uptimeCheck->serializeToJsonString() . PHP_EOL);
}

Python

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def get_uptime_check_config(config_name: str) -> uptime.UptimeCheckConfig:
    """Reads the uptime check configuration

    Args:
        config_name: Uptime check configuration identity

    Returns:
        A structure that describes the updated uptime check
    """
    client = monitoring_v3.UptimeCheckServiceClient()
    config = client.get_uptime_check_config(request={"name": config_name})
    pprint.pprint(config)
    return config

Ruby

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def get_uptime_check_config config_name
  require "google/cloud/monitoring"

  client = Google::Cloud::Monitoring.uptime_check_service
  config = client.get_uptime_check_config name: config_name
  pp config.to_h
  config
end

Verfügbarkeitsdiagnose bearbeiten

Sie können einige Felder einer Verfügbarkeitsdiagnose ändern. So können Sie beispielsweise festlegen, dass die Prüfung häufiger erfolgen soll, oder das Zeitlimit für die Validierung der Antwort erhöhen. Wenn die Verfügbarkeitsdiagnose jedoch nicht mit dem richtigen Protokoll, dem richtigen Ressourcentyp oder der richtigen Ressource konfiguriert ist, löschen Sie die aktuelle Verfügbarkeitsdiagnose und erstellen Sie eine neue.

Informationen zum Bearbeiten einer Benachrichtigungsrichtlinie, die eine Verfügbarkeitsdiagnose überwacht, finden Sie in den folgenden Dokumenten:

Sie können eine öffentliche Verfügbarkeitsdiagnose auf einem der folgenden Tabs bearbeiten. Verwenden Sie den Tab Console oder API, um eine private Verfügbarkeitsdiagnose zu bearbeiten:

Console

  1. Rufen Sie in der Google Cloud Console die Seite  Uptime-Prüfungen auf:

    Verfügbarkeitsdiagnosen aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Suchen Sie nach der Verfügbarkeitsdiagnose, die Sie bearbeiten möchten, und führen Sie dann einen der folgenden Schritte aus:

    • Klicken Sie auf Mehr und wählen Sie Bearbeiten aus.
    • Sehen Sie sich die Details zur Verfügbarkeitsdiagnose an und klicken Sie auf Edit (Bearbeiten).
  3. Ändern Sie die Werte der Felder nach Bedarf. Sie können nicht alle Felder ändern. Wenn die benutzerdefinierten Headerwerte einer Diagnose ausgeblendet sind, können sie nicht sichtbar gemacht werden.

  4. Klicken Sie auf Testen, um zu prüfen, ob die Diagnose funktioniert. Wenn der Test fehlschlägt, finden Sie unter Fehlgeschlagene Prüfungen mögliche Ursachen.

  5. Klicken Sie auf Speichern.

gcloud

Führen Sie den Befehl gcloud monitoring uptime update aus, um eine Verfügbarkeitsdiagnose oder einen synthetischen Monitor zu ändern:

gcloud monitoring uptime update CHECK_ID OPTIONAL_FLAGS

Führen Sie vor dem Ausführen des vorherigen Befehls die folgenden Schritte aus:

  • Ersetzen Sie CHECK_ID durch die Kennung der Uptime-Prüfung oder des synthetischen Monitors. Sie finden die Kennung, indem Sie den Befehl gcloud monitoring uptime list-configs ausführen und das Feld name prüfen. Weitere Informationen finden Sie unter Eindeutige Kennung einer Verfügbarkeitsdiagnose ermitteln.

  • Legen Sie fest, welche Felder Sie ändern möchten.

Wenn Sie beispielsweise den Zeitraum einer Verfügbarkeitsdiagnose auf 10 Minuten festlegen möchten, führen Sie den folgenden Befehl aus:

gcloud monitoring uptime update CHECK_ID --period=10

API

Rufen Sie die Methode projects.uptimeCheckConfigs.patch auf. Legen Sie die Parameter der Methode so fest:

  • uptimeCheckConfig.name: Erforderlich. Dies ist Teil der REST-URL. Dies ist der Ressourcenname der zu bearbeitenden Verfügbarkeitsdiagnose:

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Weitere Informationen zur Kennung der Verfügbarkeitsdiagnose finden Sie unter Eindeutige Kennung einer Verfügbarkeitsdiagnose ermitteln.

  • updateMask: Optional. Dies ist ein Abfrageparameter: ?updateMask=[FIELD_LIST]. [FIELD_LIST] ist eine durch Kommas getrennte Liste von Feldern im Objekt UptimeCheckConfig, die geändert werden sollte. Beispiel:

    "resource.type,httpCheck.path"
    
  • Der Anfragetext muss das Objekt UptimeCheckConfig mit den neuen Feldwerten enthalten.

Wenn updateMask festgelegt ist, ersetzen nur die in updateMask aufgelisteten Felder die entsprechenden Felder in der vorhandenen Konfiguration. Wenn ein Feld untergeordnete Felder hat und das Feld in der Feldmaske aufgeführt ist, aber keines seiner Unterfelder, dann ersetzen alle Unterfelder dieses Feldes die entsprechenden Felder.

Wenn updateMask nicht festgelegt ist, ersetzt die Konfiguration im Anfragetext die gesamte vorhandene Konfiguration.

Die Methode patch gibt das Objekt UptimeCheckConfig für die geänderte Konfiguration zurück.

C#

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

public static object UpdateUptimeCheck(string configName,
    string newHttpPath, string newDisplayName)
{
    var client = UptimeCheckServiceClient.Create();
    var config = client.GetUptimeCheckConfig(configName);
    var fieldMask = new FieldMask();
    if (newDisplayName != null)
    {
        config.DisplayName = newDisplayName;
        fieldMask.Paths.Add("display_name");
    }
    if (newHttpPath != null)
    {
        config.HttpCheck.Path = newHttpPath;
        fieldMask.Paths.Add("http_check.path");
    }
    client.UpdateUptimeCheckConfig(config);
    return 0;
}

Java

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

private static void updateUptimeCheck(String checkName, String hostName, String pathName)
    throws IOException {

  UpdateUptimeCheckConfigRequest request =
      UpdateUptimeCheckConfigRequest.newBuilder()
          .setUpdateMask(FieldMask.newBuilder().addPaths("http_check.path"))
          .setUptimeCheckConfig(
              UptimeCheckConfig.newBuilder()
                  .setName(checkName)
                  .setMonitoredResource(
                      MonitoredResource.newBuilder()
                          .setType("uptime_url")
                          .putLabels("host", hostName))
                  .setHttpCheck(HttpCheck.newBuilder().setPath(pathName).setPort(80))
                  .setTimeout(Duration.newBuilder().setSeconds(10))
                  .setPeriod(Duration.newBuilder().setSeconds(300)))
          .build();
  try (UptimeCheckServiceClient client = UptimeCheckServiceClient.create()) {
    UptimeCheckConfig config = client.updateUptimeCheckConfig(request);
    System.out.println("Uptime check updated: \n" + config.toString());
  } catch (Exception e) {
    usage("Exception updating uptime check: " + e.toString());
    throw e;
  }
}

Go

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


// update is an example of updating an uptime check. resourceName should be
// of the form `projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]`.
func update(w io.Writer, resourceName, displayName, httpCheckPath string) (*monitoringpb.UptimeCheckConfig, error) {
	ctx := context.Background()
	client, err := monitoring.NewUptimeCheckClient(ctx)
	if err != nil {
		return nil, fmt.Errorf("NewUptimeCheckClient: %w", err)
	}
	defer client.Close()
	getReq := &monitoringpb.GetUptimeCheckConfigRequest{
		Name: resourceName,
	}
	config, err := client.GetUptimeCheckConfig(ctx, getReq)
	if err != nil {
		return nil, fmt.Errorf("GetUptimeCheckConfig: %w", err)
	}
	config.DisplayName = displayName
	config.GetHttpCheck().Path = httpCheckPath
	req := &monitoringpb.UpdateUptimeCheckConfigRequest{
		UpdateMask: &field_mask.FieldMask{
			Paths: []string{"display_name", "http_check.path"},
		},
		UptimeCheckConfig: config,
	}
	config, err = client.UpdateUptimeCheckConfig(ctx, req)
	if err != nil {
		return nil, fmt.Errorf("UpdateUptimeCheckConfig: %w", err)
	}
	fmt.Fprintf(w, "Successfully updated %v", resourceName)
	return config, nil
}

Node.js

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Imports the Google Cloud client library
const monitoring = require('@google-cloud/monitoring');

// Creates a client
const client = new monitoring.UptimeCheckServiceClient();

/**
 * TODO(developer): Uncomment and edit the following lines of code.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const uptimeCheckConfigId = 'YOUR_UPTIME_CHECK_CONFIG_ID';
// const displayName = 'A New Display Name';
// const path = '/some/path';

const request = {
  // i.e. name: 'projects/my-project-id/uptimeCheckConfigs/My-Uptime-Check
  name: client.projectUptimeCheckConfigPath(projectId, uptimeCheckConfigId),
};

console.log(`Updating ${request.name} to ${displayName}`);

// Updates the display name and path on an uptime check config
request.uptimeCheckConfig = {
  name: request.name,
  displayName: displayName,
  httpCheck: {
    path: path,
  },
};

request.updateMask = {
  paths: ['display_name', 'http_check.path'],
};

const [response] = await client.updateUptimeCheckConfig(request);
console.log(`${response.name} config updated.`);

PHP

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Monitoring\V3\Client\UptimeCheckServiceClient;
use Google\Cloud\Monitoring\V3\GetUptimeCheckConfigRequest;
use Google\Cloud\Monitoring\V3\UpdateUptimeCheckConfigRequest;
use Google\Protobuf\FieldMask;

/**
 * Example:
 * ```
 * update_uptime_checks($projectId);
 * ```
 */
function update_uptime_checks(
    string $projectId,
    string $configName,
    string $newDisplayName = null,
    string $newHttpCheckPath = null
): void {
    $uptimeCheckClient = new UptimeCheckServiceClient([
        'projectId' => $projectId,
    ]);
    $getUptimeCheckConfigRequest = (new GetUptimeCheckConfigRequest())
        ->setName($configName);

    $uptimeCheck = $uptimeCheckClient->getUptimeCheckConfig($getUptimeCheckConfigRequest);
    $fieldMask = new FieldMask();
    if ($newDisplayName) {
        $fieldMask->getPaths()[] = 'display_name';
        $uptimeCheck->setDisplayName($newDisplayName);
    }
    if ($newHttpCheckPath) {
        $paths = $fieldMask->getPaths()[] = 'http_check.path';
        $uptimeCheck->getHttpCheck()->setPath($newHttpCheckPath);
    }
    $updateUptimeCheckConfigRequest = (new UpdateUptimeCheckConfigRequest())
        ->setUptimeCheckConfig($uptimeCheck)
        ->setUpdateMask($fieldMask);

    $uptimeCheckClient->updateUptimeCheckConfig($updateUptimeCheckConfigRequest);

    print($uptimeCheck->serializeToString() . PHP_EOL);
}

Python

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def update_uptime_check_config(
    config_name: str, new_display_name: str = None, new_http_check_path: str = None
) -> uptime.UptimeCheckConfig:
    """Creates a new uptime check configuration

    Args:
        config_name: Uptime check configuration identity
        new_display_name: A new human friendly name of the configuration
        new_http_check_path: A new HTTP endpoint of the configuration

    Returns:
        A structure that describes the updated uptime check
    """
    client = monitoring_v3.UptimeCheckServiceClient()
    config = client.get_uptime_check_config(request={"name": config_name})
    field_mask = field_mask_pb2.FieldMask()
    if new_display_name:
        field_mask.paths.append("display_name")
        config.display_name = new_display_name
    if new_http_check_path:
        field_mask.paths.append("http_check.path")
        config.http_check.path = new_http_check_path
    changed_config = client.update_uptime_check_config(
        request={"uptime_check_config": config, "update_mask": field_mask}
    )
    pprint.pprint(changed_config)
    return changed_config

Ruby

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def update_uptime_check_config config_name:         nil,
                               new_display_name:    nil,
                               new_http_check_path: nil
  require "google/cloud/monitoring"

  client = Google::Cloud::Monitoring.uptime_check_service
  config = { name: config_name }
  field_mask = { paths: [] }
  unless new_display_name.to_s.empty?
    field_mask[:paths].push "display_name"
    config[:display_name] = new_display_name
  end
  unless new_http_check_path.to_s.empty?
    field_mask[:paths].push "http_check.path"
    config[:http_check] = { path: new_http_check_path }
  end
  client.update_uptime_check_config uptime_check_config: config,
                                    update_mask:         field_mask
end

Es kann bis zu 5 Minuten dauern, bis die Ergebnisse der neuen Verfügbarkeitsdiagnose angezeigt werden. Bis dahin werden die Ergebnisse der vorherigen Verfügbarkeitsdiagnose in den Dashboards angezeigt und in Benachrichtigungsrichtlinien verwendet.

Verfügbarkeitsdiagnose löschen

Wir empfehlen, eine Uptime-Prüfung zu löschen, wenn Sie den Dienst oder die Ressource, die überwacht wird, deaktivieren. Hinweis: Bevor Sie eine Verfügbarkeitsdiagnose löschen, prüfen Sie, ob keine Benachrichtigungsrichtlinien vorhanden sind, die die Verfügbarkeitsdiagnose überwachen. Wenn eine Benachrichtigungsrichtlinie eine Verfügbarkeitsdiagnose überwacht, wird das Löschen dieser Verfügbarkeitsdiagnose in der Google Cloud Console verhindert. Die Cloud Monitoring API generiert jedoch keinen Fehler und verhindert auch nicht das Löschen. Für die fehlende Diagnose wird kein Vorfall erstellt.

Gehen Sie zum Löschen einer Verfügbarkeitsdiagnose so vor:

Console

  1. Rufen Sie in der Google Cloud Console die Seite  Uptime-Prüfungen auf:

    Verfügbarkeitsdiagnosen aufrufen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Suchen Sie nach der Verfügbarkeitsdiagnose, die Sie bearbeiten möchten, und führen Sie dann einen der folgenden Schritte aus:

    • Klicken Sie auf Mehr und wählen Sie Löschen aus.
    • Rufen Sie die Details zur Verfügbarkeitsdiagnose auf und klicken Sie dann auf Löschen .

gcloud

Führen Sie den Befehl gcloud monitoring uptime delete aus, um eine Verfügbarkeitsdiagnose oder einen synthetischen Monitor zu löschen:

gcloud monitoring uptime delete CHECK_ID

Ersetzen Sie vor der Ausführung des Befehls CHECK_ID durch die Kennung der Verfügbarkeitsdiagnose oder des synthetischen Monitors. Sie finden die Kennung, indem Sie den Befehl gcloud monitoring uptime list-configs ausführen und das Feld name prüfen. Weitere Informationen finden Sie unter Eindeutige Kennung einer Verfügbarkeitsdiagnose ermitteln.

API

Rufen Sie die Methode projects.uptimeCheckConfigs.delete auf, um eine Verfügbarkeitsdiagnose oder einen synthetischen Monitor zu löschen. Legen Sie den Parameter so fest:

C#

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

public static object DeleteUptimeCheckConfig(string configName)
{
    var client = UptimeCheckServiceClient.Create();
    client.DeleteUptimeCheckConfig(configName);
    Console.WriteLine($"Deleted {configName}");
    return 0;
}

Java

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

private static void deleteUptimeCheckConfig(String checkName) throws IOException {
  try (UptimeCheckServiceClient client = UptimeCheckServiceClient.create()) {
    client.deleteUptimeCheckConfig(checkName);
  } catch (Exception e) {
    usage("Exception deleting uptime check: " + e.toString());
    throw e;
  }
}

Go

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


// delete is an example of deleting an uptime check. resourceName should be
// of the form `projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID]`.
func delete(w io.Writer, resourceName string) error {
	ctx := context.Background()
	client, err := monitoring.NewUptimeCheckClient(ctx)
	if err != nil {
		return fmt.Errorf("NewUptimeCheckClient: %w", err)
	}
	defer client.Close()
	req := &monitoringpb.DeleteUptimeCheckConfigRequest{
		Name: resourceName,
	}
	if err := client.DeleteUptimeCheckConfig(ctx, req); err != nil {
		return fmt.Errorf("DeleteUptimeCheckConfig: %w", err)
	}
	fmt.Fprintf(w, "Successfully deleted %q", resourceName)
	return nil
}

Node.js

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

// Imports the Google Cloud client library
const monitoring = require('@google-cloud/monitoring');

// Creates a client
const client = new monitoring.UptimeCheckServiceClient();

/**
 * TODO(developer): Uncomment and edit the following lines of code.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const uptimeCheckConfigId = 'YOUR_UPTIME_CHECK_CONFIG_ID';

const request = {
  // i.e. name: 'projects/my-project-id/uptimeCheckConfigs/My-Uptime-Check
  name: client.projectUptimeCheckConfigPath(projectId, uptimeCheckConfigId),
};

console.log(`Deleting ${request.name}`);

// Delete an uptime check config
await client.deleteUptimeCheckConfig(request);
console.log(`${request.name} deleted.`);

PHP

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Monitoring\V3\Client\UptimeCheckServiceClient;
use Google\Cloud\Monitoring\V3\DeleteUptimeCheckConfigRequest;

/**
 * Example:
 * ```
 * delete_uptime_check($projectId, $configName);
 * ```
 *
 * @param string $projectId Your project ID
 * @param string $configName
 */
function delete_uptime_check($projectId, $configName)
{
    $uptimeCheckClient = new UptimeCheckServiceClient([
        'projectId' => $projectId,
    ]);
    $deleteUptimeCheckConfigRequest = (new DeleteUptimeCheckConfigRequest())
        ->setName($configName);

    $uptimeCheckClient->deleteUptimeCheckConfig($deleteUptimeCheckConfigRequest);

    printf('Deleted an uptime check: ' . $configName . PHP_EOL);
}

Python

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# `config_name` is the `name` field of an UptimeCheckConfig.
# See https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.uptimeCheckConfigs#UptimeCheckConfig.
def delete_uptime_check_config(config_name: str) -> None:
    """Deletes the uptime check configuration

    Args:
        config_name: Uptime check configuration identity
    """
    client = monitoring_v3.UptimeCheckServiceClient()
    client.delete_uptime_check_config(request={"name": config_name})
    print("Deleted ", config_name)

Ruby

Richten Sie zur Authentifizierung bei Monitoring Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def delete_uptime_check_config config_name
  require "google/cloud/monitoring"

  client = Google::Cloud::Monitoring.uptime_check_service
  client.delete_uptime_check_config name: config_name
  puts "Deleted #{config_name}"
end

Verfügbarkeitsdiagnose beobachten

Wir empfehlen Ihnen, eine Benachrichtigungsrichtlinie zu erstellen, damit Sie benachrichtigt werden, wenn die Verfügbarkeitsdiagnose fehlschlägt. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien für Verfügbarkeitsdiagnosen erstellen.

Die eindeutige Kennung einer Verfügbarkeitsdiagnose ermitteln

Bei der Erstellung der Verfügbarkeitsdiagnose weist Monitoring dieser eine Kennung zu, die als Verfügbarkeitsdiagnosen-ID bezeichnet wird. Diese Kennung ist in den Ressourcennamen für die Verfügbarkeitsdiagnose eingebettet:

projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID

Die Verfügbarkeitsdiagnosen-ID ist in der Antwort von Cloud Monitoring API-Methoden enthalten, mit denen Verfügbarkeitsdiagnosen erstellt oder aufgelistet werden. Außerdem finden Sie die Verfügbarkeitsdiagnose-ID in der Google Cloud Console auf der Seite Betriebszeitdetails im Bereich Konfiguration. Informationen zum Aufrufen der Seite Uptime details (Betriebszeitdetails) finden Sie in diesem Dokument im Abschnitt Details einer Verfügbarkeitsdiagnose ansehen.

Nächste Schritte