Membuat kebijakan pemberitahuan

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.

  1. Download file konfigurasi kebijakan: admin-cluster-apiserver-unavailable.json.

  2. Buat kebijakan:

    gcloud alpha monitoring policies create --policy-from-file=POLICY_CONFIG
    

    Ganti POLICY_CONFIG dengan jalur file konfigurasi yang baru saja Anda download.

  3. Lihat kebijakan pemberitahuan Anda:

    Konsol

    1. Di konsol Google Cloud, buka halaman Monitoring.

      Buka Monitoring

    2. Di sebelah kiri, pilih Alerting.

    3. 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:

  1. Klik link di kolom kanan untuk mendownload file konfigurasi.

  2. 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.