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 contoh kebijakan: Server API tidak tersedia
Dalam latihan ini, Anda akan membuat kebijakan pemberitahuan untuk server Kubernetes API. Dengan kebijakan ini, Anda dapat mengatur agar diberi tahu setiap kali server API cluster tidak tersedia.
Download file konfigurasi kebijakan: 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 Anthos cluster API server unavailable (critical) untuk melihat detail kebijakan baru Anda. Di bagian Kondisi, Anda dapat melihat deskripsi kebijakan. Contoh:
Policy violates when ANY condition is met Anthos cluster API server uptime is absent for 5m
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 - resource.label.pod_name perSeriesAligner: ALIGN_MAX duration: 300s filter: resource.type = "k8s_container" AND metric.type = "kubernetes.io/anthos/container/uptime" AND resource.label."container_name"=monitoring.regex.full_match("kube-apiserver") trigger: count: 1 displayName: Anthos cluster API server uptime is absent for 5m name: projects/…/alertPolicies/…/conditions/… displayName: Anthos cluster API server unavailable (critical) enabled: true mutationRecord: mutateTime: … mutatedBy: … name: projects/…/alertPolicies/…
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.
Secara opsional, sesuaikan kondisi agar lebih sesuai dengan kebutuhan spesifik Anda, misalnya, Anda dapat menambahkan filter tambahan untuk subset cluster, atau menyesuaikan nilai batas untuk menyeimbangkan antara derau dan kekritisan.
Jalankan
gcloud alpha monitoring policies create
untuk membuat kebijakan.
Ketersediaan komponen bidang kontrol
Nama notifikasi | Deskripsi | Definisi kebijakan pemberitahuan di Cloud Monitoring |
---|---|---|
Server API tidak tersedia (penting) | Metrik waktu beroperasi server API tidak tersedia | apiserver-unavailable.json |
Penjadwal tidak tersedia (penting) | Metrik waktu beroperasi Scheduler tidak tersedia | scheduler-unavailable.json |
Pengelola pengontrol tidak tersedia (penting) | Metrik waktu beroperasi pengelola pengontrol tidak tersedia | controller-manager-unavailable.json |
Sistem Kubernetes
Nama notifikasi | Deskripsi | Definisi kebijakan pemberitahuan di Cloud Monitoring |
---|---|---|
Looping error pod (peringatan) | Pod terus memulai ulang dan mungkin dalam status loop error | pod-crash-looping.json |
Pod tidak siap selama lebih dari satu jam (penting) | Pod dalam status tidak siap selama lebih dari satu jam | pod-not-ready-1h.json |
Penggunaan CPU container melebihi 80 persen (peringatan) | Penggunaan CPU container melebihi batas 80% | container-cpu-usage-high-reaching-limit.json |
Penggunaan memori container melebihi 85 persen (peringatan) | Penggunaan memori container melebihi 85% batas | container-memory-usage-high-reaching-limit.json |
Penggunaan tinggi dengan volume persisten (penting) | Volume persisten yang diklaim memiliki ruang kosong kurang dari 3 persen | persistent-volume-usage-high.json |
Penggunaan CPU node melebihi 80 persen (peringatan) | Penggunaan CPU node lebih dari 80% dari total yang dapat dialokasikan untuk 5 m | node-cpu-usage-high.json |
Penggunaan disk node melebihi 85 persen (peringatan) | Gratis per titik pemasangan disk selama 10 menit kurang dari 15 persen | node-disk-usage-high.json |
Penggunaan memori node melebihi 80 persen (peringatan) | Penggunaan memori node melebihi 80% dari total yang dapat dialokasikan untuk 5 m | node-memory-usage-high.json |
Node 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 error server API melebihi 20 persen (penting) | Server API memberikan error 5xx atau 429 pada lebih dari 20% semua permintaan per verb selama 15 m | apiserver-error-ratio-high.json |
Perubahan pemimpin ETCD atau kegagalan proposal terlalu sering (peringatan) | etcd perubahan pemimpin atau kegagalan proposal terlalu sering terjadi |
etcd-leader-changes-or-proposal-failures-frequent.json |
Server ETCD tidak dalam kuorum (penting) | Tidak ada proposal server etcd yang di-commit selama 5 menit, sehingga mungkin telah kehilangan kuorum |
etcd-server-not-in-quorum.yaml |
Penyimpanan ETCD melebihi batas 90 persen (peringatan) | Penggunaan penyimpanan etcd melebihi 90% dari batas |
etcd-storage-usage-high.json |
Kebijakan Pemberitahuan dengan PromQL
Kueri dalam kebijakan pemberitahuan juga dapat dinyatakan dalam PromQL, bukan MQL.
Misalnya, versi PromQL kebijakan API server error ratio exceeds 20
percent (critical)
dapat didownload: apiserver-error-ratio-high-promql.json.
Untuk mengetahui informasi selengkapnya, baca dokumentasi Menggunakan Layanan Terkelola untuk Prometheus untuk GKE di VMware serta dokumentasi Kebijakan pemberitahuan dengan PromQL untuk Cloud Monitoring.
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.