Mengelola cek uptime

Dokumen ini menjelaskan cara mengelola pemeriksaan uptime menggunakan konsol Google Cloud, Google Cloud CLI, Cloud Monitoring API, dan library klien.

Mencantumkan semua pemeriksaan uptime

Konsol

  1. Di konsol Google Cloud, buka halaman  Pemeriksaan waktu aktif:

    Buka Cek uptime

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

    Contoh berikut menunjukkan contoh halaman Pemeriksaan uptime:

    Contoh ringkasan pemeriksaan uptime dengan filter.

  2. (Opsional) Untuk membatasi pemeriksaan waktu aktif yang tercantum, tambahkan filter.

    Setiap filter terdiri dari nama dan nilai. Anda dapat menetapkan nilai agar cocok persis dengan nama pemeriksaan waktu aktif, atau pencocokan sebagian. Pencocokan tidak peka huruf besar/kecil. Misalnya, untuk mencantumkan semua pemeriksaan waktu aktif yang namanya berisi default, lakukan hal berikut:

    • Klik Filter tabel, lalu pilih Nama tampilan.
    • Masukkan default, lalu tekan tombol kembali.

    Jika Anda memiliki beberapa filter, filter akan otomatis digabungkan oleh AND logis kecuali jika Anda menyisipkan filter OR. Contoh sebelumnya menggunakan filter OR sehingga pemeriksaan waktu aktif tercantum jika namanya cocok dengan default atau Testing check.

gcloud

Untuk menampilkan daftar pemeriksaan uptime dan monitor sintetis, jalankan perintah gcloud monitoring uptime list-configs:

gcloud monitoring uptime list-configs

Data yang ditampilkan mencakup hal berikut:

  • Nama dan nama tampilan.
  • Periksa ID.
  • Resource yang dimonitor.
  • Periode antara pemeriksaan.

Anda dapat mengonfigurasi perintah Google Cloud CLI untuk memfilter dan mengurutkan hasil.

API

Untuk mencantumkan pemeriksaan uptime dan monitor sintetis, panggil metode projects.uptimeCheckConfigs.list. Tentukan parameter berikut:

  • parent: Project yang pemeriksaan uptime-nya ingin Anda cantumkan. Formatnya adalah:

    projects/PROJECT_ID
    

Untuk mendapatkan pemeriksaan waktu aktif tertentu, panggil metode projects.uptimeCheckConfigs.get. Tentukan parameter berikut:

  • name: Nama lengkap konfigurasi pemeriksaan uptime.

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk informasi selengkapnya tentang ID pemeriksaan uptime, lihat Menemukan ID unik pemeriksaan uptime.

C#

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Melihat detail pemeriksaan uptime

Konsol

  1. Di konsol Google Cloud, buka halaman  Pemeriksaan waktu aktif:

    Buka Cek uptime

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Temukan pemeriksaan uptime yang ingin Anda lihat, lalu klik namanya.

    Screenshot berikut menunjukkan detail uptime untuk pemeriksaan uptime dengan nama "Pemeriksaan Uptime Saya":

    Contoh dasbor cek uptime.

    Halaman Detail uptime berisi informasi berikut:

    • Interval waktu yang dipilih. Secara default, intervalnya adalah 1 jam.
    • Nama pemeriksaan uptime. Dalam contoh, namanya adalah My Uptime Check.
    • Label yang Anda tambahkan ke pemeriksaan uptime.
    • Persentase waktu beroperasi dan latensi rata-rata. Nilai Persentase waktu aktif adalah persentase yang dihitung sebagai (S/T)*100, dengan S adalah jumlah respons pemeriksaan yang berhasil dan T adalah jumlah total respons pemeriksaan, dari semua lokasi. Untuk pemeriksaan grup, nilai S dan T dijumlahkan di semua anggota grup saat ini.

      Misalnya, selama periode 25 menit, pemeriksaan uptime dengan periode satu menit yang berjalan dari semua region akan mendapatkan 25 permintaan dari masing-masing 6 lokasi, dengan total 150 permintaan. Jika dasbor melaporkan waktu aktif 83,3%, berarti 125 dari 150 permintaan berhasil.

    • Panel Pemeriksaan yang lulus dan Latensi pemeriksaan uptime menampilkan secara grafis jumlah pemeriksaan yang lulus dan latensi setiap pemeriksaan sebagai fungsi waktu.

    • Panel Status saat ini menampilkan status pemeriksaan terbaru. Lingkaran hijau dengan tanda centang di samping region menunjukkan bahwa pengujian terakhir di region tersebut berhasil; lingkaran merah dengan x menunjukkan kegagalan.

    • Panel Konfigurasi menampilkan konfigurasi pemeriksaan uptime. Data ini ditetapkan saat pemeriksaan uptime dibuat. Nilai Check Id sesuai dengan nilai CHECK_ID dalam panggilan API.

    • Panel Kebijakan Pemberitahuan mencantumkan informasi tentang kebijakan pemberitahuan terkait. Di dasbor contoh, satu kebijakan pemberitahuan telah dikonfigurasi.

gcloud

Untuk mencantumkan detail pemeriksaan waktu aktif atau monitor sintetis, jalankan perintah gcloud monitoring uptime describe:

gcloud monitoring uptime describe CHECK_ID

Sebelum menjalankan perintah sebelumnya, ganti CHECK_ID dengan ID pemeriksaan waktu aktif atau monitor sintetis. Anda dapat menemukan ID dengan menjalankan perintah gcloud monitoring uptime list-configs dan memeriksa kolom name. Untuk mengetahui informasi selengkapnya, lihat Menemukan ID unik pemeriksaan uptime.

Data yang ditampilkan untuk pemeriksaan waktu aktif mencakup hal berikut:

  • Nama dan nama tampilan.
  • Periksa ID.
  • Resource yang dimonitor.
  • Periode antara pemeriksaan.

API

Untuk mencantumkan detail pemeriksaan waktu aktif atau monitor sintetis, panggil metode projects.uptimeCheckConfigs.get. Tentukan parameter berikut:

  • name: Nama lengkap konfigurasi pemeriksaan uptime.

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk informasi selengkapnya tentang ID pemeriksaan uptime, lihat Menemukan ID unik pemeriksaan uptime.

C#

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Mengedit cek uptime

Anda dapat mengubah beberapa kolom pemeriksaan waktu aktif. Misalnya, Anda mungkin ingin pemeriksaan terjadi lebih sering, atau Anda mungkin ingin meningkatkan waktu tunggu yang terkait dengan validasi respons. Namun, jika pemeriksaan waktu aktif tidak dikonfigurasi dengan protokol, jenis resource, atau resource yang benar, hapus pemeriksaan waktu aktif saat ini dan buat yang baru.

Untuk informasi tentang cara mengedit kebijakan pemberitahuan yang memantau pemeriksaan uptime, lihat dokumen berikut:

Untuk mengedit pemeriksaan uptime publik, Anda dapat menggunakan proses di salah satu tab berikut. Untuk mengedit pemeriksaan uptime pribadi, gunakan tab Konsol atau API:

Konsol

  1. Di konsol Google Cloud, buka halaman  Pemeriksaan waktu aktif:

    Buka Cek uptime

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Cari pemeriksaan uptime yang ingin diedit, lalu lakukan salah satu tindakan berikut:

    • Klik Lainnya , lalu pilih Edit.
    • Lihat detail pemeriksaan waktu aktif, lalu klik Edit.
  3. Ubah nilai kolom sesuai kebutuhan. Anda tidak dapat mengubah semua kolom. Jika nilai header kustom pemeriksaan disembunyikan, Anda tidak dapat membuatnya dapat dilihat.

  4. Untuk memverifikasi apakah pemeriksaan berfungsi, klik Uji. Jika pengujian gagal, lihat Pemeriksaan yang gagal untuk mengetahui kemungkinan penyebabnya.

  5. Klik Simpan.

gcloud

Untuk mengubah pemeriksaan uptime atau monitor sintetis, jalankan perintah gcloud monitoring uptime update:

gcloud monitoring uptime update CHECK_ID OPTIONAL_FLAGS

Sebelum menjalankan perintah sebelumnya, lakukan hal berikut:

  • Ganti CHECK_ID dengan ID pemeriksaan waktu aktif atau monitor sintetis. Anda dapat menemukan ID dengan menjalankan perintah gcloud monitoring uptime list-configs dan memeriksa kolom name. Untuk mengetahui informasi selengkapnya, lihat Menemukan ID unik pemeriksaan uptime.

  • Tentukan kolom yang ingin Anda ubah.

Misalnya, untuk menetapkan periode pemeriksaan waktu aktif menjadi 10 menit, jalankan perintah berikut:

gcloud monitoring uptime update CHECK_ID --period=10

API

Panggil metode projects.uptimeCheckConfigs.patch. Tetapkan parameter ke metode sebagai berikut:

  • uptimeCheckConfig.name: Wajib diisi. Ini adalah bagian dari URL REST. Ini adalah nama resource cek uptime yang akan diedit:

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk informasi selengkapnya tentang ID pemeriksaan uptime, lihat Menemukan ID unik pemeriksaan uptime.

  • updateMask: Opsional. Ini adalah parameter kueri: ?updateMask=[FIELD_LIST]. [FIELD_LIST] adalah daftar kolom yang dipisahkan koma dalam objek UptimeCheckConfig yang harus diubah. Contoh:

    "resource.type,httpCheck.path"
    
  • Isi permintaan harus berisi UptimeCheckConfig dengan nilai kolom baru.

Jika updateMask ditetapkan, hanya kolom yang tercantum dalam updateMask yang akan menggantikan kolom yang sesuai dalam konfigurasi yang ada. Jika kolom memiliki subkolom, dan kolom tersebut tercantum dalam mask kolom, tetapi tidak ada subkolomnya, semua subkolom kolom tersebut akan menggantikan kolom yang sesuai.

Jika updateMask tidak ditetapkan, konfigurasi dalam isi permintaan akan menggantikan seluruh konfigurasi yang ada.

Metode patch menampilkan objek UptimeCheckConfig untuk konfigurasi yang diubah.

C#

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Mungkin ada penundaan hingga 5 menit sebelum Anda melihat hasil pemeriksaan uptime baru. Selama waktu tersebut, hasil cek uptime sebelumnya ditampilkan di dasbor dan digunakan dalam kebijakan pemberitahuan.

Menghapus cek uptime

Sebaiknya hapus pemeriksaan waktu aktif saat Anda menonaktifkan layanan atau resource yang dipantaunya. Catatan: Sebelum menghapus pemeriksaan uptime, pastikan tidak ada kebijakan pemberitahuan yang memantau pemeriksaan uptime. Saat kebijakan pemberitahuan memantau cek uptime, konsol Google Cloud akan mencegah penghapusan cek uptime tersebut. Namun, Cloud Monitoring API tidak menghasilkan error atau mencegah penghapusan. Tidak ada insiden yang dibuat untuk pemeriksaan yang tidak ada.

Untuk menghapus pemeriksaan uptime, lakukan langkah-langkah berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman  Pemeriksaan waktu aktif:

    Buka Cek uptime

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Cari pemeriksaan uptime yang ingin diedit, lalu lakukan salah satu tindakan berikut:

    • Klik Lainnya , lalu pilih Hapus.
    • Lihat detail pemeriksaan waktu aktif, lalu klik Hapus

gcloud

Untuk menghapus pemeriksaan uptime atau monitor sintetis, jalankan perintah gcloud monitoring uptime delete:

gcloud monitoring uptime delete CHECK_ID

Sebelum menjalankan perintah sebelumnya, ganti CHECK_ID dengan ID pemeriksaan waktu aktif atau monitor sintetis. Anda dapat menemukan ID dengan menjalankan perintah gcloud monitoring uptime list-configs dan memeriksa kolom name. Untuk mengetahui informasi selengkapnya, lihat Menemukan ID unik pemeriksaan uptime.

API

Untuk menghapus pemeriksaan uptime atau monitor sintetis, panggil metode projects.uptimeCheckConfigs.delete. Isi parameter sebagai berikut:

  • name: Wajib diisi. Ini adalah nama resource konfigurasi pemeriksaan uptime yang akan dihapus:

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk informasi selengkapnya tentang ID pemeriksaan uptime, lihat Menemukan ID unik pemeriksaan uptime.

C#

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Java

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Untuk melakukan autentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

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

Memantau cek uptime

Sebaiknya buat kebijakan pemberitahuan untuk memberi tahu Anda saat pemeriksaan uptime gagal. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan pemberitahuan untuk pemeriksaan uptime.

Menemukan ID unik cek uptime

Saat cek uptime dibuat, Monitoring akan menetapkan ID, yang disebut sebagai ID cek uptime. ID ini disematkan dalam nama resource untuk pemeriksaan uptime:

projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID

ID cek uptime disertakan dalam respons metode Cloud Monitoring API yang membuat atau mencantumkan cek uptime. Anda juga dapat menemukan ID pemeriksaan waktu aktif di panel Configuration pada halaman Uptime details di konsol Google Cloud. Untuk informasi tentang cara melihat halaman Detail uptime, lihat bagian Melihat detail pemeriksaan uptime dalam dokumen ini.

Langkah selanjutnya