Mengelola cek uptime

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

Mencantumkan semua cek uptime

Konsol

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Uptime checks:

    Buka Cek uptime

    Contoh berikut menampilkan contoh halaman Uptime checks:

    Contoh ringkasan cek uptime dengan filter.

  2. (Opsional) Untuk membatasi cek uptime yang tercantum, tambahkan filter.

    Setiap filter terdiri dari nama dan nilai. Anda dapat menetapkan nilai menjadi pencocokan persis untuk nama cek uptime, atau kecocokan sebagian. Kecocokan tidak peka huruf besar/kecil. Misalnya, untuk mencantumkan semua cek uptime 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 yang logis, kecuali jika Anda menyisipkan filter OR. Contoh sebelumnya menggunakan filter OR sehingga cek uptime akan dicantumkan jika namanya cocok dengan default atau Testing check.

gcloud

Untuk mencantumkan cek 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 dipantau.
  • Periode di antara pemeriksaan.

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

API

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

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

    projects/PROJECT_ID
    

Untuk mendapatkan cek uptime tertentu, panggil metode projects.uptimeCheckConfigs.get. Tentukan parameter berikut:

  • name: Nama lengkap konfigurasi cek uptime.

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk mengetahui informasi selengkapnya tentang ID cek uptime, lihat Menemukan ID unik cek uptime.

C#

Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 cek uptime

Konsol

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Uptime checks:

    Buka Cek uptime

  2. Cari cek uptime yang ingin Anda lihat, lalu klik namanya.

    Screenshot berikut menunjukkan detail waktu beroperasi untuk cek uptime dengan nama "My Uptime Check":

    Contoh dasbor cek uptime.

    Halaman Detail waktu beroperasi berisi informasi berikut:

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

      Misalnya, selama periode 25 menit, cek 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 beroperasi 83,3%, berarti 125 dari 150 permintaan berhasil.

    • Panel Lulus pemeriksaan dan Latensi pemeriksaan waktu beroperasi secara grafis menampilkan jumlah pemeriksaan yang lulus dan latensi dari setiap pemeriksaan sebagai fungsi waktu.

    • Panel Current status menampilkan status pemeriksaan terbaru. Lingkaran hijau dengan tanda centang di samping region menunjukkan bahwa pemeriksaan terakhir telah berhasil dijalankan di region tersebut; lingkaran merah dengan x menunjukkan kegagalan.

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

    • Panel Alert Policy mencantumkan informasi tentang kebijakan pemberitahuan terkait. Di dasbor contoh, satu kebijakan pemberitahuan dikonfigurasi.

gcloud

Untuk mencantumkan detail cek uptime atau monitor sintetis, jalankan perintah gcloud monitoring uptime describe:

gcloud monitoring uptime describe CHECK_ID

Sebelum menjalankan perintah sebelumnya, ganti CHECK_ID dengan ID cek uptime 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 cek uptime.

Data yang ditampilkan untuk cek uptime mencakup hal berikut:

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

API

Untuk mencantumkan detail cek uptime atau monitor sintetis, panggil metode projects.uptimeCheckConfigs.get. Tentukan parameter berikut:

  • name: Nama lengkap konfigurasi cek uptime.

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk mengetahui informasi selengkapnya tentang ID cek uptime, lihat Menemukan ID unik cek uptime.

C#

Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 cek uptime. Misalnya, Anda mungkin ingin pemeriksaan lebih sering terjadi, atau Anda mungkin ingin meningkatkan waktu tunggu yang terkait dengan validasi respons. Namun, jika cek uptime Anda tidak dikonfigurasi dengan protokol, jenis resource, atau resource yang benar, hapus cek uptime saat ini dan buat yang baru.

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

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

Konsol

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Uptime checks:

    Buka Cek uptime

  2. Temukan cek uptime yang ingin Anda edit, lalu lakukan salah satu hal berikut:

    • Klik More dan pilih Edit.
    • Lihat detail cek uptime, lalu klik Edit.
  3. Ubah nilai kolom sesuai kebutuhan. Anda tidak dapat mengubah semua kolom. Jika nilai header kustom suatu pemeriksaan disembunyikan, Anda tidak dapat membuatnya terlihat.

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

  5. Klik Save.

gcloud

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

gcloud monitoring uptime update CHECK_ID OPTIONAL_FLAGS

Sebelum Anda menjalankan perintah sebelumnya, lakukan hal berikut:

  • Ganti CHECK_ID dengan ID cek uptime 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 cek uptime.

  • Tentukan kolom yang ingin Anda ubah.

Misalnya, untuk menetapkan periode cek uptime 10 menit, jalankan perintah berikut:

gcloud monitoring uptime update CHECK_ID --period=10

API

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

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

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk mengetahui informasi selengkapnya tentang ID cek uptime, lihat Menemukan ID unik cek 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 terkait dalam konfigurasi yang ada. Jika suatu kolom memiliki subkolom, dan kolom tercantum dalam mask kolom, tetapi tidak satu pun subkolomnya, semua subkolom dari 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 cek uptime yang baru. Selama waktu tersebut, hasil cek uptime sebelumnya ditampilkan di dasbor dan digunakan dalam kebijakan pemberitahuan.

Menghapus cek uptime

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

Untuk menghapus cek uptime, lakukan hal berikut:

Konsol

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Uptime checks:

    Buka Cek uptime

  2. Temukan cek uptime yang ingin Anda edit, lalu lakukan salah satu hal berikut:

    • Klik Lainnya dan pilih Hapus.
    • Lihat detail cek uptime, lalu klik Delete

gcloud

Untuk menghapus cek 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 cek uptime 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 cek uptime.

API

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

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

    projects/PROJECT_ID/uptimeCheckConfigs/CHECK_ID
    

    Untuk mengetahui informasi selengkapnya tentang ID cek uptime, lihat Menemukan ID unik cek uptime.

C#

Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca 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 yang memberi tahu Anda saat cek uptime Anda gagal. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan pemberitahuan untuk cek uptime.

Menemukan ID unik cek uptime

Setelah cek uptime Anda dibuat, Monitoring akan menetapkan ID yang disebut sebagai ID cek uptime. ID ini disematkan dalam nama resource untuk cek 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 cek uptime di panel Configuration di halaman Detail uptime di Google Cloud Console. Untuk mengetahui informasi tentang cara melihat halaman Detail waktu beroperasi, lihat bagian Melihat detail cek uptime dalam dokumen ini.

Langkah selanjutnya