GSP1024

Ringkasan
Managed Service for Prometheus adalah layanan penyimpanan dan kueri terkelola sepenuhnya dari Google Cloud untuk metrik Prometheus. Layanan ini dibangun di atas Monarch, penyimpanan data skalabel global yang sama dengan Cloud Monitoring.
Di lab ini, Anda akan menyiapkan cluster Google Kubernetes Engine, lalu men-deploy Managed Service for Prometheus untuk menyerap metrik dari aplikasi sederhana.
Fork tipis Prometheus menggantikan deployment Prometheus yang lama dan mengirim data ke layanan terkelola tanpa intervensi pengguna. Data ini kemudian dapat dikueri menggunakan PromQL melalui Prometheus Query API yang didukung oleh layanan terkelola dan dengan menggunakan mekanisme kueri lama dari Cloud Monitoring.
Tujuan
- Men-deploy Managed Service for Prometheus ke cluster GKE.
- Men-deploy aplikasi Python untuk dipantau.
- Membuat dasbor Cloud Monitoring untuk melihat metrik yang dikumpulkan.
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:
- Tombol Open Google Cloud console
- Waktu tersisa
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.
Tips: Atur tab di jendela terpisah secara berdampingan.
Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
-
Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.
{{{user_0.username | "Username"}}}
Anda juga dapat menemukan Username di panel Lab Details.
-
Klik Next.
-
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
-
Klik Next.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
-
Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan mendaftar uji coba gratis.
Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.
Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search.
Mengaktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.
-
Klik Activate Cloud Shell
di bagian atas Konsol Google Cloud.
-
Klik jendela berikut:
- Lanjutkan melalui jendela informasi Cloud Shell.
- Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:
Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
- (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
- Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
- (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project
Output:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.
Tugas 1. Membuat repositori Docker
Dalam tugas ini, Anda akan membuat repositori Docker pribadi dalam Artifact Registry dan menambahkan image ke repositori pribadi. Tugas ini melibatkan pemberian tag pada image dengan nama repositori untuk menentukan tujuan, lalu mengirimnya ke Artifact Registry.
- Di Cloud Shell, jalankan perintah berikut untuk membuat repositori Docker baru bernama docker-repo di lokasi , dengan deskripsi "Docker repository".
gcloud artifacts repositories create docker-repo --repository-format=docker \
--location={{{project_0.default_region | Region}}} --description="Docker repository" \
--project={{{project_0.project_id| Project ID}}}
-
Di kolom judul konsol, ketik Artifact Registry di kolom Search, lalu klik "Artifact Registry" dari hasil penelusuran.
-
Di halaman Artifact Registry Repositories, pastikan Anda dapat melihat repositori Anda, docker-repo.
-
Di Cloud Shell, muat image siap pakai dari bucket penyimpanan:
wget https://storage.googleapis.com/spls/gsp1024/flask_telemetry.zip
unzip flask_telemetry.zip
docker load -i flask_telemetry.tar
- Jalankan perintah berikut untuk memberi tag pada image sebagai
flask-telemetry:v1:
docker tag gcr.io/ops-demo-330920/flask_telemetry:61a2a7aabc7077ef474eb24f4b69faeab47deed9 \
{{{project_0.default_region | Region}}}-docker.pkg.dev/{{{project_0.project_id| Project ID}}}/docker-repo/flask-telemetry:v1
- Jalankan perintah berikut untuk mengirim image docker ke Artifact Registry:
docker push {{{project_0.default_region | Region}}}-docker.pkg.dev/{{{project_0.project_id| Project ID}}}/docker-repo/flask-telemetry:v1
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat repositori Docker
Tugas 2. Menyiapkan cluster Google Kubernetes Engine
Dalam tugas ini, Anda akan men-deploy dan mengautentikasi cluster GKE standar.
- Jalankan perintah berikut untuk men-deploy cluster GKE standar, yang akan meminta Anda untuk memberi otorisasi serta mengaktifkan GKE API:
gcloud beta container clusters create gmp-cluster --num-nodes=1 --zone {{{project_0.default_zone | Zone}}} --enable-managed-prometheus
Cluster memerlukan waktu beberapa menit untuk membuatnya. Tunggu hingga pembuatan selesai, lalu lanjutkan ke langkah berikutnya.
- Jalankan perintah berikut untuk mengautentikasi ke cluster:
gcloud container clusters get-credentials gmp-cluster --zone {{{project_0.default_zone | Zone}}}
Tugas 3. Men-deploy layanan Prometheus
- Jalankan perintah berikut untuk membuat namespace yang akan digunakan:
kubectl create ns gmp-test
Klik Periksa progres saya untuk memverifikasi tujuan.
Memeriksa apakah Prometheus telah di-deploy.
Tugas 4. Men-deploy aplikasi
- Dapatkan aplikasi yang menghasilkan metrik di endpoint
/metrics:
wget https://storage.googleapis.com/spls/gsp1024/gmp_prom_setup.zip
unzip gmp_prom_setup.zip
cd gmp_prom_setup
-
Pada langkah ini, Anda akan mengupdate flask_deployment.yaml untuk menggunakan nama image yang Anda kirim pada langkah sebelumnya:
- Gunakan nano untuk membuka
flask_deployment.yaml:
nano flask_deployment.yaml
- Ganti
<ARTIFACT REGISTRY IMAGE NAME> dengan perintah berikut:
{{{project_0.default_region | Region}}}-docker.pkg.dev/{{{project_0.project_id| Project ID}}}/docker-repo/flask-telemetry:v1
- Tekan CTRL+X, Y, lalu ENTER untuk menyimpan file yang diupdate dan menutup nano.
-
Men-deploy aplikasi sederhana:
kubectl -n gmp-test apply -f flask_deployment.yaml
kubectl -n gmp-test apply -f flask_service.yaml
- Pastikan aplikasi Python Flask sederhana ini menyajikan metrik dengan perintah berikut:
url=$(kubectl get services -n gmp-test -o jsonpath='{.items[*].status.loadBalancer.ingress[0].ip}')
Catatan: Layanan harus di-deploy sepenuhnya agar perintah curl berhasil.
curl $url/metrics
Anda akan melihat output berikut:
# HELP flask_exporter_info Multiprocess metric
# TYPE flask_exporter_info gauge
flask_exporter_info{version="0.18.5"} 1.0
Catatan: Anda mungkin perlu menunggu beberapa saat untuk melihat output yang diperlukan. Jika Anda tidak mendapatkan output yang diharapkan, jalankan kembali kedua perintah dalam langkah ini.
- Beri tahu Prometheus tempat untuk mulai scraping metrik dengan menerapkan file PodMonitoring:
kubectl -n gmp-test apply -f prom_deploy.yaml
- Sebelum menyelesaikan tutorial ini, buat beberapa beban pada aplikasi dengan interaksi sederhana dengan aplikasi:
timeout 120 bash -c -- 'while true; do curl $(kubectl get services -n gmp-test -o jsonpath='{.items[*].status.loadBalancer.ingress[0].ip}'); sleep $((RANDOM % 4)) ; done'
Kueri ini berjalan selama 2 menit, dan setelah selesai, Anda dapat membuat visualisasi seperti apa hasilnya.
Klik Periksa progres saya untuk memverifikasi tujuan.
Memeriksa apakah aplikasi Flask telah di-deploy.
Tugas 5. Mengamati aplikasi melalui metrik
Di bagian terakhir ini, gunakan gcloud untuk men-deploy dasbor pemantauan kustom yang menampilkan metrik dari aplikasi ini dalam diagram garis.
- Di Cloud Shell, jalankan skrip berikut:
Catatan: Pastikan untuk menyalin semua blok kode ini.
gcloud monitoring dashboards create --config='''
{
"category": "CUSTOM",
"displayName": "Prometheus Dashboard Example",
"mosaicLayout": {
"columns": 12,
"tiles": [
{
"height": 4,
"widget": {
"title": "prometheus/flask_http_request_total/counter [MEAN]",
"xyChart": {
"chartOptions": {
"mode": "COLOR"
},
"dataSets": [
{
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"apiSource": "DEFAULT_CLOUD",
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_NONE",
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"prometheus.googleapis.com/flask_http_request_total/counter\" resource.type=\"prometheus_target\"",
"secondaryAggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_MEAN",
"groupByFields": [
"metric.label.\"status\""
],
"perSeriesAligner": "ALIGN_MEAN"
}
}
}
}
],
"thresholds": [],
"timeshiftDuration": "0s",
"yAxis": {
"label": "y1Axis",
"scale": "LINEAR"
}
}
},
"width": 6,
"xPos": 0,
"yPos": 0
}
]
}
}
'''
- Setelah dibuat, kembali ke konsol. Di kolom judul, ketik Monitoring Dashboard di kolom Search, lalu klik Dashboards di hasil penelusuran.
- Temukan Prometheus Dashboard Example yang baru dibuat dalam daftar Dashboard. Klik Prometheus Dashboard untuk melihat Prometheus Dashboard Example.
Klik Periksa progres saya untuk memverifikasi tujuan.
Memastikan dasbor telah dibuat.
Selamat!
Anda telah melihat dasar-dasar deployment aplikasi GKE dengan Metrik Prometheus dan pembuatan Dasbor Cloud Monitoring dari aplikasi tersebut.
Langkah berikutnya/Pelajari lebih lanjut
Jika Anda ingin mempelajari lebih lanjut, lihat dokumentasi Prometheus dan cari deployment koleksi yang dikelola sendiri.
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual terakhir diperbarui pada 21 April 2025
Lab terakhir diuji pada 21 April 2025
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.