Gestire i controlli di uptime

Questo documento descrive come gestire i controlli di uptime utilizzando Console Google Cloud, Google Cloud CLI, l'API Cloud Monitoring e il client librerie.

Elenca tutti i controlli di uptime

Console

  1. Nella console Google Cloud, vai alla pagina  Controlli di uptime:

    Vai a Controlli di uptime

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

    Nell'esempio seguente viene mostrata una pagina Controlli di uptime di esempio:

    Esempio di panoramica dei controlli di uptime con filtri.

  2. (Facoltativo) Per limitare i controlli di uptime elencati, aggiungi filtri.

    Ogni filtro è composto da un nome e un valore. Puoi impostare il valore in modo che corrisponda esatta al nome di un controllo di uptime, o una corrispondenza parziale. Le corrispondenze non sono sensibili alle maiuscole. Ad esempio, per elencare tutte i controlli di uptime il cui nome contiene default:

    • Fai clic su Tabella dei filtri e seleziona Nome visualizzato.
    • Inserisci default e premi il tasto Invio.

    Se hai più filtri, questi vengono uniti automaticamente da un AND logico, a meno che non inserisci un filtro OR. L'esempio precedente utilizza il filtro OR per consentire un controllo di uptime se il nome corrisponde a default o Testing check.

gcloud

Per elencare i controlli di uptime e i monitoraggi sintetici, esegui gcloud monitoring uptime list-configs :

gcloud monitoring uptime list-configs

I dati restituiti includono quanto segue:

  • Nome e nome visualizzato.
  • Verifica l'identificatore.
  • Risorsa monitorata.
  • Periodo tra i controlli.

Puoi configurare il comando Google Cloud CLI per filtrare e ordinare i risultati.

API

Per elencare i controlli di uptime e i monitoraggi sintetici, chiama il projects.uptimeCheckConfigs.list . Specifica i seguenti parametri:

  • parent: il progetto di cui vuoi elencare i controlli di uptime. Il formato è:

    projects/PROJECT_ID
    

Per eseguire un controllo di uptime specifico, chiama il metodo projects.uptimeCheckConfigs.get. Specifica il seguente parametro:

C#

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


// 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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

// 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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Visualizza i dettagli di un controllo di uptime

Console

  1. Nella console Google Cloud, vai alla pagina  Controlli di uptime:

    Vai a Controlli di uptime

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Individua il controllo di uptime che vuoi visualizzare e fai clic sul relativo nome.

    Il seguente screenshot mostra i dettagli di uptime per un controllo di uptime con il nome "My Uptime Check":

    Dashboard di esempio del controllo di uptime.

    La pagina Dettagli tempo di attività contiene le seguenti informazioni:

    • L'intervallo di tempo selezionato. Per impostazione predefinita, l'intervallo è 1 ora.
    • Il nome del controllo di uptime. Nell'esempio, il nome è My Uptime Check.
    • Le etichette che hai aggiunto al controllo di uptime.
    • La percentuale di uptime e la latenza media. Il valore Percentuale di tempo di attività è una percentuale calcolata come (S/T)*100, dove S è il numero di risposte al controllo riuscite e T è il numero totale di risposte al controllo da tutte le località. Per i controlli di gruppo, i valori di S e T vengono sommati per tutti i valori attuali membri del gruppo.

      Ad esempio, su un periodo di 25 minuti, un controllo di uptime con un periodo di un minuto in esecuzione da tutte le regioni riceverebbe 25 richieste da ciascuna delle sei località, per un totale di 150 richieste. Se la dashboard riporta un tempo di attività dell'83,3%, 125 di 150 richieste riuscite.

    • I riquadri Controlli superati e Latenza del controllo di uptime mostrano in modo grafico il numero di controlli superati e la latenza di ciascun controllo in funzione del tempo.

    • Il riquadro Stato attuale mostra lo stato dei controlli più recenti. Un cerchio verde con un segno di spunta accanto a una regione indica che l'ultima esecuzione del controllo in quella regione è riuscita; un cerchio rosso con una X indica un errore.

    • Il riquadro Configurazione mostra la configurazione del controllo di uptime. Questi dati vengono assegnati al momento della creazione del controllo di uptime. Il valore Check Id corrisponde al valore CHECK_ID nelle chiamate API.

    • Il riquadro Criteri di avviso elenca le informazioni relative ai criteri di avviso. Nella dashboard di esempio, un criterio di avviso configurato.

gcloud

Per elencare i dettagli di un controllo di uptime o di un monitoraggio sintetico, esegui gcloud monitoring uptime describe :

gcloud monitoring uptime describe CHECK_ID

Prima di eseguire il comando precedente, sostituisci CHECK_ID con l'identificatore del controllo dell'uptime o del monitoraggio sintetico. Puoi trovare dell'identificatore eseguendo il comando gcloud monitoring uptime list-configs esaminando il campo name. Per ulteriori informazioni, vedi Individua l'identificatore univoco di un controllo di uptime.

I dati restituiti per il controllo di uptime includono:

  • Nome e nome visualizzato.
  • Verifica l'identificatore.
  • Risorsa monitorata.
  • Periodo tra i controlli.

API

Per elencare i dettagli di un controllo di uptime o di un monitoraggio sintetico, chiama il metodo projects.uptimeCheckConfigs.get. Specifica il seguente parametro:

C#

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.


// 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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

// 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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Modificare un controllo di uptime

Puoi modificare alcuni campi di un controllo di uptime. Ad esempio, potresti volere che il controllo si verifichi più spesso o potresti voler aumentare il timeout associato alla convalida della risposta. Tuttavia, se le tue controllo di uptime non è configurato con il protocollo, il tipo di risorsa o ed eliminare l'attuale controllo di uptime e crearne uno nuovo.

Per informazioni su come modificare un criterio di avviso che monitora un di uptime, consulta i seguenti documenti:

Per modificare un controllo di uptime pubblico, puoi utilizzare la procedura in una delle seguenti schede. Per modificare un controllo di uptime privato, utilizza la scheda Console o API:

Console

  1. Nella console Google Cloud, vai alla pagina  Controlli di uptime:

    Vai a Controlli di uptime

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Individua il controllo di uptime che vuoi modificare, quindi effettua una delle seguenti operazioni:

    • Fai clic su Altro e seleziona Modifica.
    • Visualizza i dettagli del controllo dell'uptime e poi fai clic su Modifica.
  3. Modifica i valori dei campi in base alle necessità. Non puoi modificare tutti i campi. Se i valori di intestazione personalizzati di un controllo sono nascosti, non puoi renderli visibili.

  4. Per verificare se il controllo funziona, fai clic su Test. Se il test non va a buon fine, consulta la sezione Controlli non riusciti per conoscere le possibili cause.

  5. Fai clic su Salva.

gcloud

Per modificare un controllo di uptime o un monitoraggio sintetico, esegui gcloud monitoring uptime update :

gcloud monitoring uptime update CHECK_ID OPTIONAL_FLAGS

Prima di eseguire il comando precedente, segui questi passaggi:

  • Sostituisci CHECK_ID con l'identificatore del controllo di uptime oppure monitoraggio sintetico. Puoi trovare l'identificatore eseguendo il comando gcloud monitoring uptime list-configs ed esaminando il campo name. Per ulteriori informazioni, consulta Trovare l'identificatore univoco di un controllo di uptime.

  • Definisci i campi da modificare.

Ad esempio, per impostare il periodo di un controllo di uptime su 10 minuti, esegui questo comando:

gcloud monitoring uptime update CHECK_ID --period=10

API

Chiama il projects.uptimeCheckConfigs.patch . Imposta i parametri del metodo come segue:

  • uptimeCheckConfig.name: obbligatorio. Fa parte dell'URL REST. È il nome della risorsa del controllo di uptime da modificare:

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Per ulteriori informazioni sull'identificatore del controllo di uptime, consulta Individua l'identificatore univoco di un controllo di uptime.

  • updateMask: facoltativo. Questo è un parametro di query: ?updateMask=[FIELD_LIST]. [FIELD_LIST] è un elenco separato da virgole di campi nell'oggetto UptimeCheckConfig che devono essere modificati. Ad esempio:

    "resource.type,httpCheck.path"
    
  • Il corpo della richiesta deve contenere un parametro UptimeCheckConfig con i nuovi valori del campo.

Se updateMask è impostato, solo i campi elencati in updateMask sostituiranno i campi corrispondenti nella configurazione esistente. Se un campo ha subcampi e il campo è elencato nella maschera di campo, ma nessuno dei suoi subcampi è elencato, tutti i subcampi di quel campo sostituiscono i campi corrispondenti.

Se updateMask non è impostato, la configurazione nel corpo della richiesta sostituisce l'intera configurazione esistente.

Il metodo patch restituisce l'oggetto UptimeCheckConfig per la configurazione modificata.

C#

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.


// 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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

// 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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Potrebbe verificarsi un ritardo di massimo 5 minuti prima che venga visualizzato il nuovo controllo di uptime che consentono di analizzare i dati e visualizzare i risultati. Durante questo periodo, vengono visualizzati i risultati del precedente controllo di uptime nelle dashboard e utilizzate nei criteri di avviso.

Eliminazione di un controllo di uptime

Ti consigliamo di eliminare un controllo di uptime quando disattivi il servizio o risorsa che monitora. Nota: prima di eliminare un controllo di uptime, assicurati che non siano presenti avvisi che monitorano il controllo di uptime. Quando un criterio di avviso monitora un controllo di uptime, la console Google Cloud impedisce l'eliminazione di questo controllo. Tuttavia, l'API Cloud Monitoring non genera un errore né impedisce l'eliminazione. Non viene creato alcun incidente per il controllo mancante.

Per eliminare un controllo di uptime, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina  Controlli di uptime:

    Vai a Controlli di uptime

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Individua il controllo di uptime da modificare, quindi esegui una delle seguenti operazioni:

    • Fai clic su Altro e seleziona Elimina.
    • Visualizza i dettagli del controllo di uptime e poi fai clic su Elimina.

gcloud

Per eliminare un controllo di uptime o un monitoraggio sintetico, esegui gcloud monitoring uptime delete :

gcloud monitoring uptime delete CHECK_ID

Prima di eseguire il comando precedente, sostituisci CHECK_ID con l'identificatore del controllo dell'uptime o del monitoraggio sintetico. Puoi trovare l'identificatore eseguendo il comando gcloud monitoring uptime list-configs ed esaminando il campo name. Per ulteriori informazioni, consulta Trovare l'identificatore univoco di un controllo di uptime.

API

Per eliminare un controllo di uptime o un monitoraggio sintetico, chiama il metodo projects.uptimeCheckConfigs.delete. Compila il parametro come segue:

C#

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Java

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.


// 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

Per autenticarti a Monitoring, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

// 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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

# `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

Per autenticarti in Monitoraggio, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.

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

Monitora un controllo di uptime

Ti consigliamo di creare un criterio di avviso per ricevere una notifica quando il controllo di uptime non va a buon fine. Per saperne di più, consulta Creare criteri di avviso per i controlli di uptime.

Trovare l'identificatore univoco di un controllo di uptime

Quando viene creato il controllo di uptime, Monitoring gli assegna un noto come ID controllo di uptime. Questo identificatore è incorporato in il nome della risorsa per il controllo di uptime:

projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID

L'ID controllo-uptime è incluso nella risposta dei metodi dell'API Cloud Monitoring che creano o elencano i controlli di uptime. Puoi anche trovare l'ID del controllo di uptime Nel riquadro Configurazione della pagina Dettagli uptime nel nella console Google Cloud. Per informazioni su come visualizzare l'uptime dettagli, consulta la sezione Visualizzare i dettagli di un controllo di uptime di questo documento.

Passaggi successivi