1. Pengantar
Terakhir Diperbarui: 28-07-2023
Apa yang dimaksud dengan Google Cloud Operations Suite?
Google Cloud Operations Suite adalah platform tempat Anda dapat memantau, memecahkan masalah, dan meningkatkan performa aplikasi di lingkungan Google Cloud Anda. Pilar Utama Cloud Operations Suite mencakup Cloud Monitoring, Cloud Logging, dan Cloud Tracing.
Tonton video ini untuk mendapatkan ringkasan tingkat tinggi tentang Operasi Google Cloud.
Yang akan Anda bangun
Dalam codelab ini, Anda akan men-deploy API contoh di Google Cloud. Kemudian, Anda akan menjelajahi dan mengonfigurasi beberapa fitur di Cloud Monitoring sehubungan dengan API.
Yang akan Anda pelajari
- Penggunaan Cloud Shell Google Cloud untuk men-deploy aplikasi contoh ke Cloud Run.
- Penggunaan fitur Google Cloud Monitoring seperti Dasbor, Pemberitahuan, Pemeriksaan Waktu Operasional, Pemantauan SLI/SLO, dan lainnya.
Yang Anda butuhkan
- Chrome versi terbaru (74 atau yang lebih baru)
- Akun Google Cloud dan Project Google Cloud
2. Penyiapan dan Persyaratan
Penyiapan lingkungan mandiri
Jika belum memiliki Akun Google (Gmail atau Google Apps), Anda harus membuatnya. Login ke Google Cloud Platform console (console.cloud.google.com) dan buat project baru.
- Nama project adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
- Project ID harus unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai PROJECT_ID). Jika tidak menyukai ID yang dihasilkan, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri dan melihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan akan tetap ada selama durasi project.
- Sebagai informasi, ada nilai ketiga, Project Number yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
Perhatian: Project ID harus unik secara global dan tidak dapat digunakan orang lain setelah Anda memilihnya. Anda adalah satu-satunya pengguna ID tersebut. Meskipun project sudah dihapus, ID tersebut tidak dapat digunakan lagi
- Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini seharusnya tidak memerlukan banyak biaya, bahkan mungkin tidak sama sekali. Untuk mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus seluruh project. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
Penyiapan Google Cloud Shell
Meskipun Google Cloud dan Google Cloud Trace dapat dioperasikan secara jarak jauh dari laptop Anda, dalam codelab ini kita akan menggunakan Google Cloud Shell, yaitu lingkungan command line yang berjalan di Cloud.
Untuk mengaktifkan Cloud Shell dari Konsol Cloud, cukup klik Aktifkan Cloud Shell (hanya perlu waktu beberapa saat untuk melakukan penyediaan dan terhubung ke lingkungan).
Jika belum pernah memulai Cloud Shell, Anda akan melihat layar perantara (di paruh bawah) yang menjelaskan apa itu Cloud Shell. Jika memang demikian, klik Lanjutkan (dan Anda tidak akan pernah melihatnya lagi). Berikut tampilan layar sekali-tampil tersebut:
Perlu waktu beberapa saat untuk penyediaan dan terhubung ke Cloud Shell.
Virtual machine ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Sebagian besar pekerjaan Anda dalam codelab ini dapat dilakukan hanya dengan browser atau Chromebook.
Setelah terhubung ke Cloud Shell, Anda akan melihat bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke project ID Anda.
Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa Anda telah diautentikasi:
Setelah terhubung ke Cloud Shell, Anda akan melihat bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke PROJECT_ID
.
gcloud auth list
Output perintah
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
Output perintah
[core] project = <PROJECT_ID>
Jika, untuk beberapa alasan, project belum disetel, cukup jalankan perintah berikut:
gcloud config set project <PROJECT_ID>
Cloud Shell juga menetapkan beberapa variabel lingkungan secara default, yang mungkin berguna saat Anda menjalankan perintah di masa mendatang.
echo $GOOGLE_CLOUD_PROJECT
Output perintah
<PROJECT_ID>
Aplikasi Sampel
Kami telah memasukkan semua yang Anda perlukan untuk project ini ke dalam repo Git. Repo ini berisi beberapa aplikasi contoh dan Anda dapat memilih untuk menggunakan salah satunya untuk latihan ini.
Link repo Git: https://github.com/rominirani/cloud-code-sample-repository
3. Men-deploy aplikasi API
Apa yang dimaksud dengan aplikasi contoh atau API tersebut?
Aplikasi kami adalah aplikasi Inventory API sederhana yang mengekspos Endpoint REST API dengan beberapa operasi untuk mencantumkan item inventaris dan mendapatkan jumlah inventaris item tertentu.
Setelah men-deploy API dan mengasumsikan bahwa API dihosting di https://<somehost>, kita dapat mengakses endpoint API sebagai berikut:
- https://<somehost>/inventory
Tindakan ini akan mencantumkan semua item produk dengan tingkat inventaris di tangan.
- https://<somehost>/inventory/{productid}
Tindakan ini akan memberikan satu data dengan id produk dan tingkat inventaris langsung untuk produk tersebut.
Data respons yang ditampilkan menggunakan format JSON.
Data Contoh dan Permintaan/Respons API
Aplikasi ini tidak didukung oleh database di backend untuk menjaga semuanya tetap sederhana. Contoh ID produk ini berisi 3 contoh ID produk dan tingkat inventarisnya.
ID Produk | Tingkat Inventaris Manual |
I-1 | 10 |
I-2 | 20 |
I-3 | 30 |
Contoh Permintaan dan Respons API ditampilkan di bawah:
Permintaan API | Respons API |
https://<somehost>/inventory | [ { "I-1": 10, "I-2": 20, "I-3": 30 }] |
https://<somehost>/inventory/I-1 | { "productid": "I-1", "qty": 10} |
https://<somehost>/inventory/I-2 | { "productid": "I-2", "qty": 20} |
https://<somehost>/inventory/I-200 | { "productid": I-200, "qty": -1} |
Membuat Clone Repositori
Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.
Dari GCP Console, klik ikon Cloud Shell di toolbar kanan atas:
Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:
Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda di lab ini dapat dilakukan hanya dengan browser.
Menyiapkan gcloud
Di Cloud Shell, tetapkan project ID Anda dan simpan sebagai variabel PROJECT_ID.
PROJECT_ID=[YOUR-PROJECT-ID]
gcloud config set project $PROJECT_ID
Sekarang, jalankan perintah berikut:
$ git clone https://github.com/rominirani/cloud-code-sample-repository.git
Tindakan ini akan membuat folder berjudul cloud-code-sample-repository di folder ini.
(Opsional) Jalankan aplikasi di Cloud Shell
Anda dapat menjalankan aplikasi secara lokal dengan mengikuti langkah-langkah berikut:
- Dari terminal, buka API versi Python melalui perintah berikut:
$ cd cloud-code-sample-repository
$ cd python-flask-api
- Di terminal, berikan perintah berikut (Pada saat penulisan, Cloud Shell dilengkapi dengan Python 3.9.x yang diinstal dan kita akan menggunakan versi default. Jika berencana untuk menjalankannya secara lokal di laptop, Anda dapat menggunakan Python 3.8+) :
$ python app.py
- Anda dapat menjalankan perintah berikut untuk memulai Server Python secara lokal.
- Tindakan ini akan memulai server di port 8080 dan Anda dapat mengujinya secara lokal melalui fitur Pratinjau Web di Cloud Shell. Klik tombol Web Preview seperti yang ditunjukkan di bawah:
Klik Pratinjau di port 8080.
- Tindakan ini akan membuka jendela browser. Anda akan melihat pesan {i>Error<i} 404 dan itu bukan masalah. Ubah URL dan ubah agar hanya memiliki /inventory setelah nama host.
Misalnya, di komputer saya, tampilannya seperti ini:
https://8080-cs-557561579860-default.cs-asia-southeast1-yelo.cloudshell.dev/inventory
Tindakan ini akan menampilkan daftar item inventaris seperti yang dijelaskan sebelumnya:
- Anda dapat menghentikan server sekarang dengan membuka Terminal dan menekan Ctrl-C
Men-deploy aplikasi
Sekarang kita akan men-deploy aplikasi API ini ke Cloud Run. Proses ini melibatkan penggunaan klien command line gcloud untuk menjalankan perintah guna men-deploy kode ke Cloud Run.
Dari terminal, berikan perintah gcloud berikut:
$ gcloud run deploy --source .
Langkah ini akan mengajukan beberapa pertanyaan (jika diminta untuk memberikan otorisasi, silakan lanjutkan) dan beberapa poinnya disebutkan di bawah ini. Anda mungkin akan mendapatkan semua pertanyaan atau mungkin tidak, bergantung pada konfigurasi dan apakah Anda telah mengaktifkan API tertentu di project Google Cloud Anda.
- Nama layanan (python-flask-api): Gunakan nama default ini atau pilih nama seperti my-inventory-api
- API [run.googleapis.com] tidak diaktifkan di project [project-number]. Apakah Anda ingin mengaktifkan dan mencoba lagi (proses ini akan memerlukan waktu beberapa menit)? (y/T)? Y
- Tentukan wilayah: Pilih wilayah pilihan Anda dengan memberikan nomor.
- API [artifactregistry.googleapis.com] tidak diaktifkan pada project [project-number]. Apakah Anda ingin mengaktifkan dan mencoba lagi (proses ini akan memerlukan waktu beberapa menit)? (y/T)? Y
- Men-deploy dari sumber memerlukan repositori Docker Artifact Registry untuk menyimpan container yang dibangun. Repositori bernama [cloud-run-source-deploy] di region [us-west1] akan dibuat.
Do you want to continue (Y/n)? Y
- Izinkan pemanggilan yang tidak diautentikasi ke [my-inventory-api] (y/N)? Y
Terakhir, langkah ini akan memulai proses untuk mengambil kode sumber Anda, menyimpannya ke dalam container, mengirimnya ke Artifact Registry, lalu men-deploy layanan + revisi Cloud Run. Anda harus bersabar selama proses ini (dapat memerlukan waktu 3-4 menit) dan Anda akan melihat proses selesai dengan URL Layanan yang ditampilkan kepada Anda.
Contoh operasi ditampilkan di bawah ini:
Menguji aplikasi
Setelah men-deploy aplikasi ke Cloud Run, Anda dapat mengakses aplikasi API sebagai berikut:
- Catat URL Layanan dari langkah sebelumnya. Misalnya, dalam penyiapan saya, properti ditampilkan sebagai
https://my-inventory-api-bt2r5243dq-uw.a.run.app
. Sebut saja <SERVICE_URL>. - Buka browser dan akses 3 URL berikut untuk endpoint API:
- <SERVICE_URL>/inventory
- <SERVICE_URL>/inventory/I-1
- <SERVICE_URL>/inventory/I-100
Ini harus sesuai dengan spesifikasi yang telah kami berikan di bagian sebelumnya dengan contoh Permintaan dan Respons API.
Mendapatkan Detail Layanan dari Cloud Run
Kami men-deploy Layanan API ke Cloud Run, lingkungan komputasi serverless. Kita dapat mengunjungi layanan Cloud Run melalui konsol Google Cloud kapan saja.
Dari menu utama, buka Cloud Run. Tindakan ini akan menampilkan daftar layanan yang telah Anda jalankan di Cloud Run. Anda akan melihat layanan yang baru saja di-deploy. Bergantung pada nama yang dipilih, Anda akan melihat sesuatu seperti ini:
Klik nama Layanan untuk melihat detailnya. Detail contoh ditampilkan di bawah:
Perhatikan URL, yang tidak lain adalah URL layanan yang dapat Anda masukkan ke browser dan mengakses Inventory API yang baru saja kita deploy. Jangan ragu untuk melihat Metrics dan detail lainnya.
Mari kita mulai dengan Google Cloud Operations Suite sekarang.
4. Menyiapkan Dasbor
Salah satu fitur praktis yang disediakan Cloud Monitoring adalah dasbor Out-of-the-Box (OOTB) di beberapa resource di Google Cloud. Hal ini membuat penyiapan awal Dasbor dengan metrik standar menjadi proses yang cepat dan mudah.
Mari kita lihat cara melakukannya untuk Layanan API yang baru saja kita deploy ke Cloud Run.
Dasbor Kustom untuk Layanan kami
Setelah men-deploy layanan API ke Cloud Run, mari kita lihat cara menyiapkan Dasbor yang dapat membantu memvisualisasikan berbagai metrik, beberapa di antaranya mencakup latensi layanan.
Pertama, dari konsol, buka Monitoring → Overview seperti yang ditunjukkan di bawah ini:
Ringkasan menampilkan beberapa hal yang akan Anda konfigurasikan di Pemantauan seperti Dasbor, Pemberitahuan, Pemeriksaan uptime, dll.
Untuk saat ini, mari kita klik Dashboards dari menu utama samping. Tindakan ini akan membuka layar berikut:
Klik SAMPLE LIBRARY . Tindakan ini akan menampilkan daftar Dasbor Out-Of-The-Box (OOTB) yang tersedia di Google Cloud, di berbagai resource. Secara khusus, scroll ke bawah daftar dan pilih Google Cloud Run seperti yang ditunjukkan di bawah.
Tindakan ini akan menampilkan daftar dasbor standar yang tersedia untuk Google Cloud Run. Kita tertarik dengan hal itu karena telah men-deploy layanan di Cloud Run.
Anda akan melihat satu Dasbor untuk Pemantauan Cloud Run. Klik link PREVIEW untuk melihat daftar diagram standar (metrik) yang tersedia untuk Cloud Run Monitoring. Cukup klik IMPOR DASBOR CONTOH untuk mengimpor semua diagram ini ke dasbor kustom. Tindakan ini akan menampilkan layar Dasbor dengan nama yang telah diisi otomatis seperti yang ditunjukkan di bawah:
Anda dapat kembali dengan mengklik Panah Kiri , yang berada di sebelah kiri nama Dasbor, tepat di kiri atas. Tindakan ini akan membuka daftar Dasbor, yang akan menampilkan Dasbor baru yang baru saja Anda buat.
Klik link Dasbor tersebut dan Anda dapat memantau beberapa metrik yang tersedia secara default. Metrik ini mencakup metrik Latensi, Jumlah Permintaan, Penampung, dan lainnya.
Anda juga dapat memilih untuk menandai Dasbor sebagai favorit, cukup dengan memilih ikon bintang seperti yang ditunjukkan di bawah:
Tindakan ini akan menambahkan Dasbor ke layar Ringkasan Monitoring dan menjadi cara mudah untuk membuka dasbor yang sering digunakan.
Fantastis! Anda baru saja menambahkan Dasbor Kustom untuk memantau layanan Cloud Run. Bagus!
5. Cek uptime
Di bagian ini, kita akan menyiapkan cek uptime untuk Layanan API yang telah kita deploy. Pemeriksaan uptime publik dapat mengeluarkan permintaan dari beberapa lokasi di seluruh dunia ke URL yang tersedia secara publik atau resource Google Cloud untuk melihat apakah resource tersebut merespons.
Resource dalam hal ini adalah Layanan API yang telah kita deploy ke Cloud Run. URL akan menjadi endpoint tertentu yang ditampilkan Layanan API untuk menunjukkan kondisi layanan.
Dalam contoh kode layanan API, kita telah mengekspos endpoint /healthy yang menampilkan nilai string "All Izz Well". Jadi, yang perlu kita lakukan hanyalah menentukan pemeriksaan waktu aktif yang menjangkau sesuatu seperti https://<SERVICE_URL>/healthy dan memeriksa apakah string "All Izz Well" ditampilkan atau tidak.
Membuat Saluran Notifikasi
Sebelum kita membuat cek uptime, penting untuk mengonfigurasi saluran notifikasi terlebih dahulu. Saluran notifikasi adalah media di mana Anda akan diberi tahu jika ada insiden/masalah dengan resource yang dipantau. Contoh saluran notifikasi adalah Email dan Anda akan menerima email jika ada Peringatan, dll.
Untuk saat ini, kita akan mengonfigurasi Saluran Notifikasi Email dan mengonfigurasinya dengan alamat email kita, sehingga kita dapat menerima notifikasi jika ada pemberitahuan yang akan dimunculkan oleh sistem dan yang akan kita konfigurasi.
Untuk membuat Saluran Notifikasi, ikuti langkah-langkah berikut:
Buka Monitoring → Alerting dari menu utama di Google Cloud Console, seperti yang ditunjukkan di bawah:
Tindakan ini akan menampilkan halaman dengan Peringatan, Kebijakan, dan lainnya. Untuk saat ini, Anda akan melihat link di bagian atas berjudul EDIT CHANNEL NOTIFIKASI. Klik tombol tersebut.
Ini akan menampilkan daftar berbagai Saluran Notifikasi seperti yang ditampilkan di bawah ini:
Cari bagian Email, lalu klik ADD NEW untuk baris tersebut. Tindakan ini akan menampilkan detail Konfigurasi Email seperti yang ditunjukkan di bawah:
Masukkan alamat email dan Nama Tampilan Anda seperti yang ditunjukkan di bawah. Klik SIMPAN.
Tindakan ini akan menyelesaikan pembuatan Saluran Notifikasi Email. Mari kita konfigurasikan pemeriksaan uptime sekarang.
Membuat cek uptime
Buka Monitoring → Pemeriksaan waktu aktif dari menu utama di Konsol Google Cloud. Di bagian atas, Anda akan melihat link CREATE UPTIME CHECK. Klik tombol tersebut.
Tindakan ini akan menampilkan serangkaian langkah yang harus Anda selesaikan untuk mengonfigurasi pemeriksaan waktu aktif.
Langkah pertama adalah menyiapkan detail Target, yaitu informasi tentang layanan Cloud Run yang telah kita deploy. Formulir yang telah diisi ditampilkan di bawah ini:
Nilai yang berbeda-beda dapat dipilih sebagai berikut:
- Protokol : HTTPS
- Resource Type : Pilih Cloud Run Service. Perhatikan resource lain yang didukungnya dan Anda juga dapat menetapkan Pemeriksaan waktu aktif di resource tersebut.
- Layanan Cloud Run : Pilih my-inventory-api atau nama tertentu yang Anda miliki untuk layanan Cloud Run.
- Jalurnya adalah /healthy, karena kita menampilkan kembali string "All Izz Well" dan kita ingin memeriksanya.
Klik LANJUTKAN untuk melanjutkan ke langkah berikutnya. Langkah berikutnya adalah langkah Validasi Respons seperti yang ditunjukkan di bawah ini:
Anda dapat melihat bahwa kita mengaktifkan pemeriksaan untuk "Content Matching", lalu menyiapkan respons yang ditampilkan oleh endpoint /healthy menjadi "All Izz Well". Klik LANJUTKAN untuk melanjutkan ke langkah berikutnya, tempat kita akan mengonfigurasi Pemberitahuan dan saluran notifikasi yang akan digunakan untuk memberi tahu kita jika pemeriksaan Waktu Aktif gagal.
Pada langkah ini, beri nama untuk Pemberitahuan. Saya telah memilihnya sebagai Kegagalan Cek Uptime API Inventaris, tetapi Anda dapat memilih nama Anda. Hal yang penting di sini adalah memilih saluran notifikasi yang benar dari daftar yang telah Anda konfigurasi sebelumnya.
Klik TINJAU untuk langkah terakhir guna meninjau Pemeriksaan waktu aktif yang telah kita konfigurasi.
Pada langkah terakhir ini, beri nama pada Pemeriksaan uptime (misalnya Pemeriksaan Uptime Inventory API), lalu Anda juga dapat menguji apakah pemeriksaan dikonfigurasi dengan benar. Klik tombol TEST untuk melakukannya.
Lanjutkan dan selesaikan prosesnya (klik tombol CREATE di sebelah kiri). Google Cloud akan menginstruksikan probe pemeriksaan waktu aktif yang dikonfigurasi di berbagai region untuk melakukan ping ke URL dan respons ini akan dikumpulkan. Buka bagian Pemantauan → Pemeriksaan uptime setelah beberapa menit dan idealnya Anda akan melihat semua sinyal hijau yang menunjukkan bahwa URL dapat dijangkau dari berbagai probe.
Jika salah satu probe gagal selama jangka waktu tertentu (yang dapat dikonfigurasi), Anda akan mendapatkan Notifikasi Pemberitahuan di saluran email yang kami konfigurasi.
Dengan ini, kita telah menyelesaikan bagian tentang penyiapan Pemeriksaan uptime. Bagus!
6. Metrics Explorer
Cloud Monitoring menampilkan ribuan metrik standar dari beberapa produk Google Cloud. Metrik ini tersedia untuk Anda pelajari, buat kueri, konversikan ke Diagram, tambahkan ke Dasbor, aktifkan Pemberitahuan, dan lainnya.
Tujuan kita di bagian ini adalah:
- Pahami cara melihat berbagai metrik, lalu kami akan menyelidiki metrik spesifik (latensi) untuk layanan API kami.
- Konversikan metrik tersebut menjadi Diagram dan Dasbor kustom yang kemudian dapat kita gunakan untuk memvisualisasikan metrik kapan saja.
Pelajari Metrik Latensi untuk Layanan Inventory API
Buka Monitoring → Metrics Explorer dari menu utama di Konsol Google Cloud. Tindakan ini akan mengarahkan Anda ke layar Metrics Explorer. Klik SELECT A METRIC. Sekarang Anda dapat membuka beberapa resource aktif yang memiliki metrik yang dihasilkan.
Karena kita menangani layanan Cloud Run, klik Cloud Run Revision , lalu kategori dan metrik tertentu yang berjudul Request Latency seperti yang ditunjukkan di bawah ini:
Klik Apply. Tindakan ini akan menampilkan Latensi Permintaan dalam diagram. Anda dapat mengubah Jenis Widget menjadi Diagram Garis dari setelan Tampilan di sebelah kanan seperti yang ditunjukkan di bawah:
Langkah ini akan menampilkan Diagram Latensi seperti yang ditunjukkan di bawah ini:
Membuat Diagram dan Dasbor kustom
Mari kita simpan Diagram ini. Klik Save Chart dan gunakan detail seperti yang ditunjukkan di bawah:
Perhatikan bahwa kita membuat dasbor baru , bukan menyimpannya di dasbor yang ada. Klik tombol SIMPAN. Tindakan ini akan menambahkan dasbor yang baru dibuat ke daftar dasbor seperti yang ditunjukkan di bawah ini:
Klik dasbor tertentu yang kita buat untuk melihat detailnya.
Ini adalah bagian terakhir tentang menyelidiki berbagai metrik melalui Metrics Explorer dan cara membuat dasbor kustom.
7. Cloud Logging
Di bagian ini, kita akan mempelajari Cloud Logging. Cloud Logging dilengkapi dengan antarmuka Logs Explorer yang membantu Anda menjelajahi dan mempelajari log yang dihasilkan oleh berbagai Layanan Google dan aplikasi Anda sendiri.
Di bagian ini, kita akan mempelajari Logs Explorer dan menyimulasikan beberapa pesan log yang kemudian dapat kita telusuri dan konversi menjadi metrik, melalui fitur yang disebut Metrik berbasis log.
Logs Explorer
Anda dapat membuka Logs Explorer melalui Logging →Logs Explorer dari konsol Google Cloud utama seperti yang ditunjukkan di bawah:
Tindakan ini akan menampilkan antarmuka log tempat Anda dapat memilih/membatalkan pilihan berbagai Resource (Project, Resource Google Cloud, nama layanan, dll.) secara khusus beserta Level log untuk memfilter pesan log sesuai kebutuhan.
Yang ditampilkan di atas adalah daftar log untuk Revisi Cloud Run, yaitu layanan Cloud Run yang telah kita deploy. Anda akan melihat beberapa permintaan yang merupakan Pemeriksaan waktu aktif yang menjangkau endpoint /healthy yang telah kami konfigurasi.
Telusuri Peringatan
Simulasikan beberapa permintaan yang tidak valid ke Layanan Inventaris dengan memberikan ID produk yang bukan salah satu dari I-1, I-2, dan I-3. Misalnya, permintaan yang salah adalah:
https://<SERVICE_URL>/inventory/I-999
Sekarang, kami akan menelusuri semua PERINGATAN yang telah dihasilkan oleh API kami, jika ID Produk yang salah diberikan dalam Kueri.
Di Kotak Kueri, masukkan parameter kueri berikut:
resource.type="cloud_run_revision"
textPayload =~ "Permintaan inventaris diterima untuk productid yang salah"
Ini akan terlihat seperti berikut:
Klik Run Query. Tindakan ini akan menampilkan semua permintaan yang masuk dan yang memiliki masalah ini.
Metrik Berbasis Log
Mari kita buat Metrik Log Kustom untuk melacak error ini. Kami ingin memahami apakah ada panggilan dalam jumlah yang signifikan yang terjadi dengan ID Produk yang salah.
Untuk mengonversi metrik di atas menjadi metrik error, klik tombol Create Metric yang Anda lihat di Logs Explorer.
Tindakan ini akan memunculkan formulir untuk membuat definisi metrik. Pilih Metrik Penghitung dan masukkan detail untuk Nama Metrik (inventory_lookup_errors) dan Deskripsi seperti yang ditunjukkan di bawah, lalu klik Create Metric.
Tindakan ini akan membuat metrik penghitung dan Anda akan melihat pesan seperti yang ditampilkan di bawah ini:
Buka Logging → Logs-based Metrics dari menu utama dan Anda akan melihat metrik kustom yang kami tentukan dalam daftar Metrik yang ditentukan pengguna seperti yang diberikan di bawah ini:
Di akhir entri ini, Anda akan menemukan tiga titik vertikal. Klik titik tersebut untuk melihat operasi yang dapat Anda lakukan pada metrik kustom ini. Daftar tersebut seharusnya serupa dengan yang Anda lihat di bawah ini. Klik opsi Lihat di Metrics Explorer.
Tindakan ini akan mengarahkan kita ke Metrics Explorer yang telah kita pelajari di bagian sebelumnya, kecuali bahwa sekarang Metrics Explorer telah diisi otomatis untuk kita.
Klik Save Chart. Gunakan nilai berikut untuk opsi Simpan Diagram:
Tindakan ini akan membuat Dasbor baru yang dapat Anda gunakan untuk melihat error Penelusuran Inventaris dan akan tersedia dalam daftar Dasbor.
Bagus! Anda sekarang telah membuat metrik kustom dari log, dan mengubahnya menjadi diagram yang ada di dasbor kustom. Hal ini akan membantu kami melacak jumlah panggilan yang menggunakan ID produk yang salah.
8. Kebijakan Pemberitahuan
Di bagian ini, kita akan menggunakan metrik kustom yang telah dibuat dan memantau datanya untuk mengetahui nilai minimum, yaitu jika jumlah error melebihi nilai minimum tertentu, kita akan memunculkan pemberitahuan. Dengan kata lain, kita akan menyiapkan kebijakan pemberitahuan.
Buat Kebijakan Pemberitahuan
Mari kita buka Dasbor Penelusuran Inventaris. Tindakan ini akan menampilkan diagram yang kita buat untuk mencatat Error Penelusuran Inventaris seperti yang ditunjukkan di bawah ini:
Tindakan ini akan memunculkan data metrik saat ini. Pertama-tama, mari kita edit metrik seperti yang ditunjukkan di bawah ini (Klik tombol Edit):
Tindakan ini akan menampilkan detail metrik. Kita akan mengonversi diagram dari menampilkan rasio error menjadi jumlah, yaitu jumlah error. Kolom yang akan diubah ditampilkan di bawah ini:
Klik TERAPKAN di sudut kanan atas dan kita akan kembali ke layar Metrik, tetapi kali ini kita akan dapat melihat jumlah total error dalam periode penyelarasan vs. tingkat error.
Kita akan membuat Kebijakan Pemberitahuan yang dapat memberi tahu kita jika jumlah error melebihi batas. Klik 3 titik di sudut kanan atas diagram, lalu dari daftar opsi, seperti yang ditunjukkan di atas, klik Konversikan ke diagram pemberitahuan.
Anda akan melihat layar seperti yang ditunjukkan di bawah:
Klik Berikutnya , tindakan ini akan menampilkan nilai Nilai minimum yang dapat kita tetapkan. Batas sampel yang telah kita ambil di sini adalah 5 , tetapi Anda dapat memilih sesuai preferensi Anda.
Klik BERIKUTNYA untuk menampilkan formulir Notifikasi
Kita telah memilih Notification Channel sebagai saluran Email yang kita buat sebelumnya. Anda dapat mengisi detail lainnya seperti Dokumentasi (yang akan diberikan sebagai bagian dari Notifikasi yang diajukan). Klik BERIKUTNYA untuk melihat ringkasan dan menyelesaikan proses.
Setelah Anda membuat Kebijakan Pemberitahuan ini, kebijakan tersebut akan terlihat dalam daftar Kebijakan Pemberitahuan seperti yang ditunjukkan di bawah. Anda dapat membuka daftar Kebijakan Pemberitahuan dengan membuka Monitoring → Pemberitahuan. Cari bagian Kebijakan di halaman untuk melihat daftar kebijakan yang telah kita konfigurasikan sejauh ini.
Bagus! Sekarang Anda telah mengonfigurasi Kebijakan Pemberitahuan kustom yang akan memberi tahu Anda jika terjadi peningkatan frekuensi error saat mencari Inventory API.
9. Service Monitoring (Opsional)
Di bagian ini, kita akan menyiapkan SLI/SLO untuk layanan sesuai dengan prinsip Site Reliability Engineering (SRE). Anda akan melihat bahwa Cloud Monitoring mempermudah Anda dengan menemukan layanan yang telah Anda deploy di Cloud Run secara otomatis dan dapat menghitung SLI utama seperti Ketersediaan, Latensi secara otomatis untuk Anda beserta penghitungan Error Budget.
Mari kita siapkan SLO Latensi untuk Layanan API kita.
Menyiapkan SLO Latensi untuk Layanan Inventaris
Klik Monitoring → Services dari menu utama di Cloud Console. Tindakan ini akan menampilkan daftar layanan yang telah dikonfigurasi untuk Pemantauan Layanan.
Saat ini, kami tidak memiliki layanan yang telah disiapkan untuk Pemantauan SLI/SLO, sehingga daftarnya kosong. Klik link DEFINE SERVICE di bagian atas untuk menentukan / mengidentifikasi layanan terlebih dahulu.
Tindakan ini akan otomatis menemukan layanan yang merupakan kandidat untuk Monitoring SLO. API ini dapat menemukan layanan Cloud Run sehingga layanan Inventory API yang di-deploy ke Cloud Run akan terlihat dalam daftar.
Nama tampilan yang Anda lihat mungkin berbeda dan akan bergantung pada nama yang Anda pilih saat men-deploy layanan ke Cloud Run. Klik tombol KIRIM. Ini akan memunculkan layar yang ditunjukkan di bawah ini:
Anda dapat mengklik CREATE SLO. Tindakan ini akan memungkinkan Anda memilih dari SLI yang dihitung secara otomatis untuk Anda.
Kita memilih Latency SLI sebagai permulaan. Klik LANJUTKAN. Selanjutnya, Anda akan melihat layar yang menunjukkan kinerja layanan saat ini dan latensi yang normal.
Kita memasukkan nilai untuk Nilai minimum, yaitu 300 md, yang ingin kita capai. Anda dapat memilih nilai yang berbeda jika mau, tetapi perlu diingat bahwa hal ini akan memengaruhi anggaran error yang Anda tentukan. Klik CONTINUE.
Sekarang kita menetapkan SLO (Target dan Periode pengukuran) seperti yang ditunjukkan di bawah:
Artinya, kita memilih periode Pengukuran sebagai periode jenis Bergulir dan mengukurnya selama 7 hari. Demikian pula untuk target, kami telah memilih sasaran 90%. Yang ingin kami sampaikan di sini adalah bahwa 90% permintaan ke layanan API harus selesai dalam waktu 300 md dan ini harus diukur selama 7 hari.
Klik Lanjutkan. Tindakan ini akan menampilkan layar ringkasan, yang dapat Anda konfirmasi dengan mengklik tombol UPDATE SLO.
Tindakan ini akan menyimpan definisi SLO Anda dan Anggaran Error dihitung secara otomatis.
Beberapa hal yang dapat Anda coba:
- Gunakan API melalui beberapa panggilan dan lihat performa layanan serta pengaruhnya terhadap Error Budget yang tersisa.
- Ubah kode sumber untuk memasukkan beberapa penundaan tambahan (tidur) secara acak dalam beberapa panggilan. Hal ini akan meningkatkan latensi untuk sejumlah panggilan dan akan berdampak negatif pada Anggaran Error.
10. Selamat
Selamat, Anda telah berhasil men-deploy aplikasi contoh ke Google Cloud dan mempelajari cara menggunakan Google Cloud Operations Suite untuk memantau kondisi aplikasi.
Yang telah kita bahas
- Men-deploy Layanan ke Google Cloud Run.
- Menyiapkan Dasbor untuk Layanan Google Cloud Run.
- Pemeriksaan uptime.
- Menyiapkan Metrik log kustom dan Dasbor/Diagram berdasarkan metrik tersebut.
- Menjelajahi Metrics Explorer dan menyiapkan Dasbor/Diagram.
- Menyiapkan Kebijakan Pemberitahuan.
- Menyiapkan SLI/SLO untuk Pemantauan Layanan di Google Cloud.
Catatan: Jika Anda telah menjalankan codelab menggunakan akun dan project Google Cloud Anda sendiri, resource yang dialokasikan mungkin akan terus dikenai tagihan penagihan. Jadi, hapus Project dan resource setelah Anda selesai mengerjakan lab.
Apa selanjutnya?
Lihat Quest Cloud Skills Boost ini untuk mempelajari Google Cloud Operations Suite lebih lanjut.