GSP1026

Ringkasan
Di lab ini, Anda akan menggunakan Managed Service for Prometheus untuk mengumpulkan metrik dari sumber infrastruktur lain melalui pengekspor.
Tujuan
Di lab ini, Anda akan mempelajari cara:
- Men-deploy instance GKE
- Mengonfigurasi resource kustom
PodMonitoring dan alat node-exporter
- Membangun program biner GMP secara lokal dan men-deploy-nya ke instance GKE
- Menerapkan konfigurasi Prometheus untuk mulai mengumpulkan metrik
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. Men-deploy cluster GKE
- Jalankan perintah berikut untuk men-deploy cluster GKE dasar:
gcloud beta container clusters create gmp-cluster --num-nodes=1 --zone {{{project_0.default_zone | Zone}}} --enable-managed-prometheus
gcloud container clusters get-credentials gmp-cluster --zone={{{project_0.default_zone | Zone}}}
Tugas 2. Menyiapkan namespace
- Buat namespace Kubernetes
gmp-test untuk resource yang Anda buat sebagai bagian dari aplikasi contoh:
kubectl create ns gmp-test
Memeriksa apakah prometheus telah di-deploy
Tugas 3. Men-deploy aplikasi contoh
Layanan terkelola menyediakan manifes untuk aplikasi contoh yang menghasilkan metrik Prometheus di port metriknya. Aplikasi ini menggunakan tiga replika.
- Untuk men-deploy aplikasi contoh, jalankan perintah berikut:
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/example-app.yaml
Tugas 4. Mengonfigurasi resource PodMonitoring
Untuk menyerap data metrik yang dihasilkan oleh aplikasi contoh, gunakan scraping target. Scraping target dan penyerapan metrik dikonfigurasi menggunakan resource kustom Kubernetes. Layanan terkelola menggunakan resource kustom (CR) PodMonitoring.
CR PodMonitoring hanya melakukan scraping target di namespace tempat CR di-deploy. Untuk melakukan scraping target di beberapa namespace, deploy CR PodMonitoring yang sama di setiap namespace. Anda dapat memverifikasi bahwa resource PodMonitoring telah diinstal di namespace yang diinginkan dengan menjalankan kubectl get podmonitoring -A.
Untuk melihat dokumentasi referensi tentang semua CR Managed Service for Prometheus, buka prometheus-engine/doc/api reference.
Manifes berikut mendefinisikan resource PodMonitoring, prom-example, di namespace gmp-test. Resource ini menggunakan pemilih label Kubernetes untuk menemukan semua pod di namespace yang memiliki label app dengan nilai prom-example. Scraping untuk pod yang cocok dilakukan setiap 30 detik pada port bernama metrics, di jalur HTTP /metrics.
apiVersion: monitoring.googleapis.com/v1alpha1
kind: PodMonitoring
metadata:
name: prom-example
spec:
selector:
matchLabels:
app: prom-example
endpoints:
- port: metrics
interval: 30s
- Untuk menerapkan resource ini, jalankan perintah berikut:
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/pod-monitoring.yaml
Kolektor terkelola Anda kini melakukan scraping terhadap pod yang cocok.
Untuk mengonfigurasi pengumpulan horizontal yang berlaku untuk berbagai pod di semua namespace, gunakan resource ClusterPodMonitoring. Resource ClusterPodMonitoring menyediakan antarmuka yang sama dengan resource PodMonitoring, tetapi tidak membatasi pod yang ditemukan menjadi hanya namespace tertentu.
Catatan: Kolom targetLabels tambahan menyediakan konfigurasi pelabelan ulang gaya Prometheus yang lebih sederhana. Anda dapat menggunakan pelabelan ulang untuk menambahkan label pod sebagai label pada deret waktu yang diserap. Anda tidak dapat menimpa label target wajib yang terdaftar di resource prometheus_target.
Jika menjalankan GKE, Anda dapat melakukan hal berikut:
- Untuk mengkueri metrik yang diserap oleh aplikasi contoh, lihat Mengkueri data dari layanan Prometheus.
- Untuk mempelajari cara memfilter metrik yang diekspor dan mengadaptasi resource prom-operator Anda, lihat Additional topics for managed collection.
Tugas 5. Mendownload program biner prometheus
- Download program biner prometheus dari bucket berikut:
git clone https://github.com/GoogleCloudPlatform/prometheus && cd prometheus
git checkout v2.28.1-gmp.4
wget https://storage.googleapis.com/kochasoft/gsp1026/prometheus
chmod a+x prometheus
Tugas 6. Menjalankan program biner prometheus
- Simpan project ID Anda ke dalam variabel:
export PROJECT_ID=$(gcloud config get-value project)
- Simpan zona Anda ke dalam variabel. Nilai ini akan digunakan saat program biner prometheus Anda dijalankan.
export ZONE={{{project_0.default_zone | Zone}}}
- Jalankan program biner prometheus di cloud shell menggunakan perintah di bawah:
./prometheus \
--config.file=documentation/examples/prometheus.yml --export.label.project-id=$PROJECT_ID --export.label.location=$ZONE
Setelah program biner prometheus dimulai, Anda akan dapat membuka prometheus terkelola di UI Konsol dan menjalankan kueri PromQL “up” untuk melihat apakah program biner prometheus tersedia (yang akan menampilkan localhost yang menjalankan satu program prometheus biner sebagai nama instance).
Tugas 7. Mendownload dan menjalankan Node Exporter
-
Buka tab baru di Cloud Shell untuk menjalankan perintah node_exporter.
-
Download dan jalankan exporter di kotak cloud shell:
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
cd node_exporter-1.3.1.linux-amd64
./node_exporter
Catatan: Port tempat alat node_exporter dijalankan akan Anda gunakan untuk memodifikasi konfigurasi prometheus pada beberapa langkah berikutnya.
Anda akan melihat output seperti ini yang menunjukkan bahwa Node Exporter sekarang berjalan dan mengekspos metrik di port 9100:
ts=2023-03-01T10:27:17.262Z caller=node_exporter.go:199 level=info msg="Listening on" address=:9100
ts=2023-03-01T10:27:17.263Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false
Membuat file config.yaml
- Hentikan program biner prometheus yang berjalan di tab pertama Cloud Shell dan buat file konfigurasi baru yang akan mengambil metrik dari Node Exporter:
vi config.yaml
- Buat file
config.yaml dengan spesifikasi berikut:
global:
scrape_interval: 15s
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
- Upload file
config.yaml yang Anda buat untuk diverifikasi:
export PROJECT=$(gcloud config get-value project)
gsutil mb -p $PROJECT gs://$PROJECT
gsutil cp config.yaml gs://$PROJECT
gsutil -m acl set -R -a public-read gs://$PROJECT
Memeriksa apakah config.yaml dikonfigurasi dengan benar
- Jalankan kembali prometheus yang mengarah ke file konfigurasi yang baru dengan menjalankan perintah di bawah ini:
./prometheus --config.file=config.yaml --export.label.project-id=$PROJECT --export.label.location=$ZONE
Gunakan statistik berikut dari exporter untuk melihat jumlahnya dalam kueri PromQL.
- Di Cloud Shell, klik ikon pratinjau web.

- Tetapkan port menjadi
9090 dengan memilih Change Preview Port dan lihat pratinjau dengan mengklik Change and Preview.
Tulis kueri apa pun di Editor kueri PromQL yang diawali dengan “node_”. Tindakan ini akan memunculkan daftar input metrik yang dapat Anda pilih untuk divisualisasikan di editor grafis.
- "node_cpu_seconds_total" menyediakan data grafis.

Coba pilih metrik lain yang muncul untuk melihat data yang diekspor.
Selamat!
Di lab ini, Anda telah men-deploy instance GKE dan mengonfigurasi node-exporter. Kemudian, Anda mengonfigurasi program biner GMP untuk menyerap metrik dari node-exporter dan melihat metriknya.
Langkah berikutnya/Pelajari lebih lanjut
Anda dapat membaca lebih lanjut artikel tentang Google Cloud Managed Service for Prometheus.
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 16 April 2024
Lab Terakhir Diuji pada 27 Oktober 2023
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.