Menyetel pemberitahuan waktu beroperasi

Tutorial ini menunjukkan cara menyiapkan pemberitahuan uptime untuk aplikasi Python Hello World yang berjalan di lingkungan fleksibel App Engine menggunakan Cloud Monitoring. Pemberitahuan waktu aktif memberi tahu Anda saat aplikasi Anda tidak melayani traffic. Anda juga dapat menyetel alert waktu aktif untuk aplikasi yang berjalan di Compute Engine atau Google Kubernetes Engine (GKE).

Tujuan

  • Jalankan aplikasi Hello World dasar.
  • Buat pemeriksaan uptime yang memantau apakah aplikasi menampilkan kode status HTTP '200'.
  • Buat pemberitahuan yang mengirimkan pesan email kepada Anda saat pemeriksaan uptime gagal.
  • Mulai ulang aplikasi untuk memicu pemberitahuan.

Biaya

Pemantauan saat ini ditawarkan kepada pengguna beta tanpa biaya.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

Membuat clone aplikasi contoh

Aplikasi contoh tersedia di GitHub di GoogleCloudPlatform/getting-started-python.

  1. Buat cloning repositori:

    git clone https://github.com/GoogleCloudPlatform/getting-started-python.git
    
  2. Buka direktori contoh.

    cd getting-started-python/gce
    
  3. Karena hanya menampilkan "Hello World!", aplikasi ini tidak memerlukan konfigurasi, dan Anda dapat menjalankannya secara langsung.

    gcloud app deploy
    
  4. Untuk melihat pesan yang ditampilkan, masukkan URL berikut di browser Anda:

    https://PROJECT_ID.REGION_ID.r.appspot.com

    Ganti kode berikut:

Membuat cek uptime

Setelah men-deploy aplikasi, Anda dapat menggunakan Monitoring untuk membuat pemeriksaan uptime. Pemeriksaan terus-menerus melakukan ping pada aplikasi yang di-deploy untuk memastikan aplikasi menampilkan respons yang normal.

  1. Di konsol Google Cloud , buka halaman  Pemeriksaan uptime:

    Buka Cek uptime

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

  2. Klik Buat Cek Uptime.
  3. Beri judul pemeriksaan Anda, seperti Check Hello World, lalu klik Berikutnya.

  4. Di bagian Target, Anda menentukan apa yang akan dipantau oleh pemeriksaan uptime:

    1. Karena Anda men-deploy ke App Engine, ubah Resource Type menjadi App Engine, bukan URL. (URL digunakan untuk membuat URL kustom di instance Compute Engine.)
    2. Pilih Layanan yang akan dipantau oleh pemeriksaan uptime.
    3. Biarkan Jalur kosong untuk menggunakan halaman indeks utama secara default.
    4. Biarkan Check frequency pada default 1 menit.
    5. Klik Berikutnya.
  5. Biarkan kolom Response Validation pada nilai defaultnya, lalu klik Next.

  6. Di bagian Alert & Notification, Anda menentukan cara Anda diberi tahu jika terjadi pemberitahuan:

    • Pastikan label tombol adalah Pemberitahuan diaktifkan.
    • Biarkan kolom nama dan durasi pada nilai defaultnya.
    • Untuk menambahkan saluran notifikasi ke kebijakan pemberitahuan, di kotak teks berlabel Saluran notifikasi, klik Menu. Pilih channel yang akan ditambahkan, lalu klik OK. Notifikasi dikelompokkan menurut abjad untuk setiap jenis saluran.

      Untuk menambahkan entri ke daftar kotak centang, klik Kelola saluran notifikasi dan ikuti petunjuknya. Saat Anda kembali ke dialog ini, klik Muat ulang .

  7. Klik Create. Jika tindakan pembuatan berhasil, pesan Pemeriksaan dan pemberitahuan dibuat akan ditampilkan, lalu halaman dasbor Pemeriksaan uptime akan ditampilkan.

    Di dasbor pemeriksaan uptime, pemeriksaan uptime baru Anda akan tercantum. Jika Anda mengklik nama pemeriksaan, Anda akan membuka tampilan detail untuk pemeriksaan uptime tersebut. Tampilan ini menampilkan beberapa diagram, menunjukkan persentase waktu aktif dan informasi konfigurasi, serta mencantumkan kebijakan pemberitahuan yang dikonfigurasi. Untuk melihat kebijakan, klik namanya.

    Anda juga dapat melihat kebijakan pemberitahuan dengan memulai dari halaman Pemberitahuan. Dari halaman pemberitahuan, panel Policies mencantumkan subset kebijakan. Untuk melihat daftar semua kebijakan, klik Lihat semua kebijakan.

Menyimulasikan pemadaman layanan

Setelah cek uptime dibuat, Anda dapat menyimulasikan gangguan dengan mengubah aplikasi untuk merespons dengan error HTTP 404 Sorry, we can't find that page daripada respons HTTP 200 OK.

  1. Kode berikut menunjukkan tempat aplikasi Hello World hanya menampilkan pesan 'Hello World!', dan kode status respons secara default adalah 200 OK. Untuk melihat kode ini di aplikasi Hello World, gunakan fungsi tampilan.

    # Copyright 2019 Google LLC All Rights Reserved.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    from flask import Flask
    app = Flask(__name__)
    
    
    @app.route('/', methods=['GET'])
    def say_hello():
        return "Hello, world!"
    
    
    if __name__ == '__main__':
        app.run(host='127.0.0.1', port=8080, debug=True)
    
  2. Untuk menyebabkan aplikasi Hello World menampilkan kode error HTTP 404, ubah baris return dengan menambahkan nilai 404 ke bagian kedua nilai yang ditampilkan.

    return 'Hello World', 404
  3. Deploy aplikasi baru yang sengaja dibuat rusak.

    gcloud app deploy

    Dalam waktu setengah jam, Anda akan menerima pesan email yang menyatakan bahwa pemeriksaan uptime Anda gagal.

Pembersihan

Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

Untuk menghapus project:

  1. Di Konsol Google Cloud , buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.