Administra las verificaciones de tiempo de actividad

En este documento, se describe cómo administrar las verificaciones de tiempo de actividad con la consola de Google Cloud, Google Cloud CLI, la API de Cloud Monitoring y las bibliotecas cliente.

Enumera todas las verificaciones de tiempo de actividad

Console

  1. En la consola de Google Cloud, ve a la página  Verificaciones de tiempo de actividad:

    Ve a Verificaciones de tiempo de actividad

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    En el siguiente ejemplo, se muestra una página de muestra de verificaciones de tiempo de actividad:

    Descripción general de las verificaciones de tiempo de actividad con filtros.

  2. Para restringir las verificaciones de tiempo de actividad que se enumeran, agrega filtros (opcional).

    Cada filtro se compone de un nombre y un valor. Puedes configurar que el valor sea una coincidencia exacta para un nombre de verificación de tiempo de actividad o una coincidencia parcial. Las coincidencias no distinguen mayúsculas de minúsculas. Por ejemplo, para ver una lista de todas las verificaciones de tiempo de actividad cuyo nombre contiene default, haz lo siguiente:

    • Haz clic en Filtrar tabla (Filter table) y selecciona Nombre visible (Display name).
    • Ingresa default y, luego, presiona la tecla Intro.

    Si tienes varios filtros, estos se unen de manera automática con un AND lógico, a menos que insertes un filtro OR. En el ejemplo anterior, se usa el filtro OR para que aparezca una verificación de tiempo de actividad si su nombre coincide con default o Testing check.

gcloud

Para enumerar tus verificaciones de tiempo de actividad y monitores sintéticos, ejecuta el comando gcloud monitoring uptime list-configs:

gcloud monitoring uptime list-configs

Los datos que se muestran incluyen lo siguiente:

  • Nombre y nombre visible
  • Verifica el identificador.
  • Recurso supervisado
  • Es el período entre verificaciones.

Puedes configurar el comando de Google Cloud CLI para filtrar y ordenar los resultados.

API

Para obtener una lista de tus verificaciones de tiempo de actividad y monitores sintéticos, llama al método projects.uptimeCheckConfigs.list. Especifica los siguientes parámetros:

  • parent: El proyecto del que se va a verificar el tiempo de actividad. El formato es:

    projects/PROJECT_ID
    

Para obtener una verificación de tiempo de actividad específica, llama al método projects.uptimeCheckConfigs.get. Especifica el siguiente parámetro:

C#

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Cómo ver los detalles de una verificación de tiempo de actividad

Console

  1. En la consola de Google Cloud, ve a la página  Verificaciones de tiempo de actividad:

    Ve a Verificaciones de tiempo de actividad

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Busca la verificación de tiempo de actividad que deseas ver y haz clic en su nombre.

    En la siguiente captura de pantalla, se muestran los detalles del tiempo de actividad de una verificación con el nombre "Mi tiempo de actividad":

    Panel de la verificación de tiempo de actividad de muestra.

    La página Detalles del tiempo de actividad contiene la siguiente información:

    • El intervalo de tiempo seleccionado. De forma predeterminada, el intervalo es de 1 hora.
    • El nombre de la verificación de tiempo de actividad. En la muestra, el nombre es Mi verificación de tiempo de actividad.
    • Las etiquetas que agregaste a la verificación de tiempo de actividad
    • El porcentaje de tiempo de actividad y la latencia promedio. El valor Porcentaje de tiempo de actividad (Percent uptime) es un porcentaje calculado como (S/T)*100, en el que S es el número de respuestas correctas y T es el número total de respuestas de verificación de todas las ubicaciones. En las verificaciones de grupo, se calcula la suma de los valores de S y T de todos los miembros actuales del grupo.

      Por ejemplo, durante un período de 25 minutos, una verificación de tiempo de actividad con un período de un minuto que se ejecute desde todas las regiones obtendrá 25 solicitudes de cada una de las 6 ubicaciones, es decir, un total de 150 solicitudes. Si el panel informa un 83.3% de tiempo de actividad, entonces 125 de 150 solicitudes se completaron correctamente.

    • En los paneles Aprobado (Passed checks) y Latencia de la verificación de tiempo de actividad (Uptime check latency), se muestra gráficamente la cantidad de verificaciones aprobadas y la latencia de cada verificación como una función de tiempo.

    • En el panel Estado actual (Current status), se muestra el estado de las verificaciones más recientes. Un círculo verde con una marca de verificación junto a una región indica que la última ejecución de la verificación en esa región se realizó correctamente; un círculo rojo con una x indica falla.

    • En el panel Configuración (Configuration), se muestra la configuración de la verificación de tiempo de actividad. Estos datos se asignan cuando se crea la verificación de tiempo de actividad. El valor ID de la verificación (Check ID) corresponde al valor CHECK_ID en las llamadas a la API.

    • En el panel Políticas de alertas (Alert Policies), se incluye información sobre las políticas de alertas asociadas. En el panel de muestra, se configura una política de alertas.

gcloud

Para enumerar los detalles de una verificación de tiempo de actividad o un monitor sintético, ejecuta el comando gcloud monitoring uptime describe:

gcloud monitoring uptime describe CHECK_ID

Antes de ejecutar el comando anterior, reemplaza CHECK_ID por el identificador de la verificación de tiempo de actividad o el monitor sintético. Para encontrar el identificador, ejecuta el comando gcloud monitoring uptime list-configs y examina el campo name. Para obtener más información, consulta Cómo encontrar el identificador único de una verificación de tiempo de actividad.

Los datos que se muestran para la verificación del tiempo de actividad incluyen lo siguiente:

  • Nombre y nombre visible
  • Verifica el identificador.
  • Recurso supervisado
  • Es el período entre verificaciones.

API

Para enumerar los detalles de una verificación de tiempo de actividad o un monitor sintético, llama al método projects.uptimeCheckConfigs.get. Especifica el siguiente parámetro:

C#

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Edita una verificación de tiempo de actividad

Puedes modificar algunos campos de una verificación de tiempo de actividad. Por ejemplo, es posible que desees que la verificación se realice con más frecuencia o que desees aumentar el tiempo de espera asociado con la validación de la respuesta. Sin embargo, si la verificación de tiempo de actividad no está configurada con el protocolo, el tipo de recurso o el recurso correctos, borra la verificación de tiempo de actividad actual y crea una nueva.

Para obtener información sobre cómo editar una política de alertas que supervise una verificación de tiempo de actividad, consulta los siguientes documentos:

Para editar una verificación de tiempo de actividad pública, puedes usar el proceso en cualquiera de las siguientes pestañas. Para editar una verificación de tiempo de actividad privada, usa la pestaña Console o API:

Console

  1. En la consola de Google Cloud, ve a la página  Verificaciones de tiempo de actividad:

    Ve a Verificaciones de tiempo de actividad

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Busca la verificación de tiempo de actividad que deseas editar y, luego, realiza una de las siguientes acciones:

    • Haz clic en Más y selecciona Editar.
    • Ve los detalles de la verificación de tiempo de actividad y haz clic en Editar.
  3. Cambia los valores de los campos según sea necesario. No puedes modificar todos los campos. Si los valores de encabezado personalizados de una verificación están ocultos, no podrás hacerlos visibles.

  4. Para comprobar si la verificación funciona, haz clic en Probar. Si la prueba falla, consulta Verificaciones que fallaron para ver las posibles causas.

  5. Haz clic en Guardar.

gcloud

Para modificar una verificación de tiempo de actividad o un monitor sintético, ejecuta el comando gcloud monitoring uptime update:

gcloud monitoring uptime update CHECK_ID OPTIONAL_FLAGS

Antes de ejecutar el comando anterior, haz lo siguiente:

Por ejemplo, para establecer el período de una verificación de tiempo de actividad en 10 minutos, ejecuta el siguiente comando:

gcloud monitoring uptime update CHECK_ID --period=10

API

Realiza una llamada al método projects.uptimeCheckConfigs.patch. Establece los parámetros en el método de la siguiente manera:

  • uptimeCheckConfig.name: obligatorio. Esto forma parte de la URL de REST. Es el nombre del recurso de la verificación de tiempo de actividad para editar:

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Para obtener más información sobre el identificador de verificación de tiempo de actividad, consulta Cómo encontrar el identificador único de una verificación de tiempo de actividad.

  • updateMask: opcional. Este es un parámetro de búsqueda: ?updateMask=[FIELD_LIST]. [FIELD_LIST] es una lista de campos separados por comas en el objeto UptimeCheckConfig que se debe cambiar. Por ejemplo:

    "resource.type,httpCheck.path"
    
  • El cuerpo de la solicitud debe contener un UptimeCheckConfig con los valores de campo nuevos.

Si se configura updateMask, solo los campos enumerados en updateMask reemplazarán los campos correspondientes en la configuración existente. Si un campo tiene subcampos, y el campo aparece en la máscara, pero ninguno de sus subcampos aparece, entonces todos los subcampos de ese campo reemplazan los campos correspondientes.

Si updateMask no está establecido, la configuración en el cuerpo de la solicitud reemplaza toda la configuración existente.

El método patch muestra el objeto UptimeCheckConfig para la configuración modificada.

C#

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Puede haber un retraso de hasta 5 minutos antes de que veas los resultados nuevos de la verificación de tiempo de actividad. Durante ese tiempo, los resultados de la verificación de tiempo de actividad anterior se muestran en los paneles y se usan para política de alertas.

Borrar una verificación de tiempo de actividad

Te recomendamos que borres una verificación de tiempo de actividad cuando desactives el servicio o el recurso que supervisa. Nota: Antes de borrar una verificación de tiempo de actividad, asegúrate de que no haya ninguna política de alertas que supervise la verificación de tiempo de actividad. Cuando una política de alertas supervisa una verificación de tiempo de actividad, la consola de Google Cloud impide que se borre. Sin embargo, la API de Cloud Monitoring no genera un error ni evita la eliminación. No se crea ningún incidente para la verificación faltante.

Para borrar una verificación de tiempo de actividad, sigue los pasos a continuación:

Console

  1. En la consola de Google Cloud, ve a la página  Verificaciones de tiempo de actividad:

    Ve a Verificaciones de tiempo de actividad

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. Busca la verificación de tiempo de actividad que deseas editar y, luego, realiza una de las siguientes acciones:

    • Haga clic en Más y seleccione Borrar.
    • Consulte los detalles de la verificación de tiempo de actividad y haga clic en Borrar

gcloud

Para borrar una verificación de tiempo de actividad o un monitor sintético, ejecuta el comando gcloud monitoring uptime delete:

gcloud monitoring uptime delete CHECK_ID

Antes de ejecutar el comando anterior, reemplaza CHECK_ID por el identificador de la verificación de tiempo de actividad o el monitor sintético. Para encontrar el identificador, ejecuta el comando gcloud monitoring uptime list-configs y examina el campo name. Para obtener más información, consulta Cómo encontrar el identificador único de una verificación de tiempo de actividad.

API

Para borrar una verificación de tiempo de actividad o un monitor sintético, llama al método projects.uptimeCheckConfigs.delete. Completa el parámetro de la siguiente manera:

C#

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Java

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Para autenticarte en Monitoring, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Supervisa una verificación de tiempo de actividad

Te recomendamos que crees una política de alertas para que te notifique cuando falle la verificación de tiempo de actividad. Para obtener más información, consulta Crea políticas de alertas para verificaciones de tiempo de actividad.

Cómo encontrar el identificador único de una verificación de tiempo de actividad

Cuando se crea tu verificación de tiempo de actividad, Monitoring le asigna un identificador denominado ID de la verificación de tiempo de actividad. Este identificador está incorporado en el nombre del recurso para la verificación de tiempo de actividad:

projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID

El ID de verificación de tiempo de actividad se incluye en la respuesta de los métodos de la API de Cloud Monitoring que crean o enumeran verificaciones de tiempo de actividad. También puedes encontrar el ID de la verificación de tiempo de actividad en el panel Configuración de la página Detalles del tiempo de actividad en la consola de Google Cloud. Para obtener información sobre cómo ver la página Detalles del tiempo de actividad, consulta la sección Cómo ver los detalles de una verificación de tiempo de actividad de este documento.

¿Qué sigue?