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, damit eine Verfügbarkeitsdiagnose aufgeführt, wenn der Name mit default oder Testing check übereinstimmt.

gcloud

Führen Sie den folgenden Befehl aus, um eine Liste Ihrer Verfügbarkeitsdiagnosen und synthetischen Monitore zu erstellen: gcloud monitoring uptime list-configs Befehl:

gcloud monitoring uptime list-configs

Die zurückgegebenen Daten umfassen Folgendes:

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

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

API

Rufen Sie zum Auflisten Ihrer Verfügbarkeitsdiagnosen und synthetischen Monitoring-Funktionen die Methode projects.uptimeCheckConfigs.list . 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 ansehen

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 die Verfügbarkeitsdiagnose, die Sie ansehen möchten, und klicken Sie auf ihren Namen.

    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 Gruppenprüfungen werden die Werte von S und T für alle aktuellen Gruppenmitgliedern.

      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 Details zu einer Verfügbarkeitsdiagnose oder einem synthetischen Monitor aufzulisten:

gcloud monitoring uptime describe CHECK_ID

Bevor Sie den vorherigen Befehl ausführen, ersetzen Sie CHECK_ID durch Die Kennung der Verfügbarkeitsdiagnose oder des synthetischen Monitors. Sie finden die ID mit dem Befehl gcloud monitoring uptime list-configs und untersuchen wir das Feld name. Weitere Informationen finden Sie unter Eindeutige Kennung einer Verfügbarkeitsdiagnose ermitteln

Die für die Verfügbarkeitsdiagnose zurückgegebenen Daten umfassen Folgendes:

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

API

Um die Details einer Verfügbarkeitsdiagnose oder eines synthetischen Monitors aufzulisten, rufen Sie die Methode projects.uptimeCheckConfigs.get . 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. Vielleicht möchten Sie zum Beispiel dass die Prüfung häufiger erfolgt ist, oder Sie Das Zeitlimit, das mit der Validierung der Antwort verknüpft ist. Wenn die Verfügbarkeitsdiagnose jedoch nicht mit dem richtigen Protokoll, 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 ein finden Sie in den folgenden Dokumenten:

Um eine öffentliche Verfügbarkeitsdiagnose zu bearbeiten, können Sie den Vorgang für folgende Aktionen ausführen: Registerkarten. Verwenden Sie zum Bearbeiten einer privaten Verfügbarkeitsdiagnose den Tab Console oder API:

Console

  1. Rufen Sie in der Google Cloud Console die Seite  Verfügbarkeitsdiagnosen 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, lesen Sie Fehlgeschlagene Prüfungen auf 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 überwacht, eine Verfügbarkeitsdiagnose erstellt, verhindert die Google Cloud Console das Löschen dieser Verfügbarkeitsdiagnose. überprüfen. 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 ID mit dem Befehl gcloud monitoring uptime list-configs und untersuchen wir das Feld name. Weitere Informationen finden Sie unter Eindeutige Kennung einer Verfügbarkeitsdiagnose ermitteln

API

Um eine Verfügbarkeitsdiagnose oder einen synthetischen Monitor zu löschen, rufen Sie die Methode projects.uptimeCheckConfigs.delete . 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 die Verfügbarkeitsdiagnosen erstellen oder auflisten. Außerdem finden Sie die Verfügbarkeitsdiagnose-ID in der Google Cloud Console auf der Seite Betriebszeitdetails im Bereich Konfiguration. Informationen zum Aufrufen der Verfügbarkeitsdiagnosen finden Sie im Abschnitt Details einer Verfügbarkeitsdiagnose ansehen in diesem Dokument.

Nächste Schritte