Halaman ini menunjukkan cara membuat kebijakan pemberitahuan untuk GKE di cluster VMware.
Sebelum memulai
Anda harus memiliki izin berikut untuk membuat kebijakan pemberitahuan:
- monitoring.alertPolicies.create
- monitoring.alertPolicies.delete
- monitoring.alertPolicies.update
Anda akan memiliki izin ini jika memiliki salah satu peran berikut:
- monitoring.alertPolicyEditor
- monitoring.editor
- Editor Project
- Pemilik project
Untuk memeriksa peran Anda, buka halaman IAM di Google Cloud Console.
Membuat kebijakan: server API cluster admin tidak tersedia
Dalam latihan ini, Anda akan membuat kebijakan pemberitahuan untuk server Kubernetes API dari cluster admin. Dengan kebijakan ini, Anda dapat mengatur agar diberi tahu setiap kali server API cluster admin tidak tersedia.
Download file konfigurasi kebijakan: admin-cluster-apiserver-unavailable.json.
Buat kebijakan:
gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
Ganti POLICY_CONFIG dengan jalur file konfigurasi yang baru saja Anda download.
Lihat kebijakan pemberitahuan Anda:
Konsol
Di konsol Google Cloud, buka halaman Monitoring.
Di sebelah kiri, pilih Alerting.
Pada bagian Kebijakan, Anda dapat melihat daftar kebijakan pemberitahuan.
Dalam daftar, pilih server API cluster admin lokal GKE tidak tersedia (penting) untuk melihat detail tentang kebijakan baru Anda. Di bagian Kondisi, Anda dapat melihat deskripsi kebijakan. Contoh:
Policy violates when ANY condition is met GKE on-prem admin cluster API server uptime is absent GKE on-prem admin cluster API server uptime is less than 99.99% per minute
gcloud
gcloud alpha monitoring policies list
Output menunjukkan informasi mendetail tentang kebijakan. Contoh:
combiner: OR conditions: - conditionAbsent: aggregations: - alignmentPeriod: 60s crossSeriesReducer: REDUCE_MEAN groupByFields: - resource.label.project_id - resource.label.location - resource.label.cluster_name - resource.label.namespace_name - resource.label.container_name perSeriesAligner: ALIGN_MAX duration: 300s filter: resource.type = "k8s_container" AND resource.labels.namespace_name = "kube-system" AND metric.type = "kubernetes.io/anthos/container/uptime" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") trigger: count: 1 displayName: GKE on-prem admin cluster API server uptime is absent name: projects/…/alertPolicies/17065318077071152828/conditions/17065318077071154437 - conditionThreshold: aggregations: - alignmentPeriod: 120s crossSeriesReducer: REDUCE_MEAN groupByFields: - resource.label.project_id - resource.label.location - resource.label.cluster_name - resource.label.namespace_name - resource.label.container_name perSeriesAligner: ALIGN_MAX comparison: COMPARISON_LT duration: 300s filter: resource.type = "k8s_container" AND resource.labels.namespace_name = "kube-system" AND metric.type = "kubernetes.io/anthos/container/uptime" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") thresholdValue: 119.0 trigger: count: 1 displayName: GKE on-prem admin cluster API server uptime is less than 99.99% per minute name: projects/…/alertPolicies/17065318077071152828/conditions/17065318077071151950 creationRecord: mutateTime: … mutatedBy: … displayName: GKE on-prem admin cluster API server unavailable (critical) enabled: true mutationRecord: mutateTime: … mutatedBy: … name: projects/xxxxxx/alertPolicies/17065318077071152828
Membuat kebijakan pemberitahuan tambahan
Bagian ini menyediakan file deskripsi dan konfigurasi untuk serangkaian kebijakan pemberitahuan yang direkomendasikan.
Untuk membuat kebijakan, ikuti langkah-langkah yang sama dengan yang Anda gunakan dalam latihan sebelumnya:
Klik link di kolom kanan untuk mendownload file konfigurasi.
Jalankan
gcloud alpha monitoring policies create
untuk membuat kebijakan.
Ketersediaan komponen bidang kontrol cluster admin
Nama notifikasi | Deskripsi | Definisi kebijakan pemberitahuan di Cloud Monitoring |
---|---|---|
Server API cluster admin lokal GKE tidak tersedia (penting) | Server Admin Cluster API tidak aktif atau waktu beroperasinya kurang dari 99,99% per menit | admin-cluster-apiserver-unavailable.json |
Penjadwal cluster admin lokal GKE tidak tersedia (penting) | Penjadwal cluster admin tidak aktif atau waktu beroperasinya kurang dari 99,99% per menit | admin-cluster-scheduler-unavailable.json |
Pengelola pengontrol cluster admin lokal GKE tidak tersedia (penting) | Pengelola pengontrol cluster admin tidak aktif atau waktu beroperasinya kurang dari 99,99% per menit | admin-cluster-controller-manager-unavailable.json |
Cluster admin lokal GKE dll. tidak tersedia (penting) | Cluster admin etcd tidak aktif atau waktu beroperasi kurang dari 99,99% per menit | admin-cluster-etcd-unavailable.json |
Ketersediaan komponen bidang kontrol cluster pengguna
Pemberitahuan bidang kontrol cluster pengguna didasarkan pada metrik. Untuk sebagian besar metrik cluster, kolom cluster_name
adalah nama cluster itu sendiri. Namun, untuk
metrik bidang kontrol cluster pengguna, kolom cluster_name
adalah nama
cluster admin, dan kolom namespace_name
adalah nama cluster pengguna.
Anda dapat melihatnya di screenshot di bagian Membuat dasbor waktu beroperasi bidang kontrol.
Nama notifikasi | Deskripsi | Definisi kebijakan pemberitahuan di Cloud Monitoring | |
---|---|---|---|
Server API cluster pengguna lokal GKE tidak tersedia (penting) | Server cluster API pengguna tidak aktif atau waktu beroperasi kurang dari 99,99% per menit | user-cluster-apiserver-unavailable.json | |
Penjadwal cluster pengguna lokal GKE tidak tersedia (penting) | Penjadwal cluster pengguna tidak aktif atau waktu beroperasi kurang dari 99,99% per menit | user-cluster-scheduler-unavailable.json | |
Pengelola pengontrol cluster pengguna lokal GKE tidak tersedia (penting) | Pengelola pengontrol cluster pengguna tidak aktif atau waktu beroperasinya kurang dari 99,99% per menit | user-cluster-controller-manager-unavailable.json | |
Cluster pengguna GKE lokal etcd tidak tersedia (penting) | Cluster pengguna etcd tidak aktif atau waktu beroperasi kurang dari 99,99% per menit | user-cluster-etcd-unavailable.json |
Sistem Kubernetes
Nama notifikasi | Deskripsi | Definisi kebijakan pemberitahuan di Cloud Monitoring |
---|---|---|
Looping error pod lokal GKE (penting) | Pod dalam status loop error | pod-crash-looping.json |
Pod GKE lokal tidak siap selama lebih dari satu jam (penting) | Pod dalam status tidak siap selama lebih dari satu jam | pod-not-ready-1h.json |
Penggunaan tinggi volume persisten GKE lokal (penting) | Volume persisten yang diklaim diperkirakan akan terisi | persistent-volume-usage-high.json |
Node lokal GKE tidak siap selama lebih dari satu jam (penting) | Node dalam status tidak siap selama lebih dari satu jam | node-not-ready-1h.json |
Performa Kubernetes
Nama notifikasi | Deskripsi | Definisi kebijakan pemberitahuan di Cloud Monitoring |
---|---|---|
Rasio jumlah error server API cluster admin lokal GKE melebihi 10 persen (penting) | Server Admin Cluster API menampilkan error untuk lebih dari 10% permintaan | admin-cluster-apiserver-error-ratio-10-percent.json |
Rasio jumlah error server API cluster admin lokal GKE melebihi 5 persen (peringatan) | Server Admin Cluster API menampilkan error untuk lebih dari 5% permintaan | admin-cluster-apiserver-error-ratio-5-percent.json |
Rasio jumlah error server API cluster pengguna lokal GKE melebihi 10 persen (penting) | Server Cluster API pengguna menampilkan error untuk lebih dari 10% permintaan | user-cluster-apiserver-error-ratio-10-percent.json |
Rasio jumlah error server API cluster pengguna GKE lokal melebihi 5 persen (peringatan) | Server API cluster pengguna menampilkan error untuk lebih dari 5% permintaan | user-cluster-apiserver-error-ratio-5-percent.json |
Mendapatkan notifikasi
Setelah membuat kebijakan pemberitahuan, Anda dapat menentukan satu atau beberapa saluran notifikasi untuk kebijakan tersebut. Ada beberapa jenis saluran notifikasi. Misalnya, Anda dapat diberi tahu melalui email, saluran Slack, atau aplikasi seluler. Anda dapat memilih saluran yang sesuai dengan kebutuhan.
Untuk petunjuk cara mengonfigurasi saluran notifikasi, lihat Mengelola saluran notifikasi.