Memantau kondisi sistem dengan Pendeteksi Masalah Node

Mulai Milestone 77, Container-Optimized OS menyertakan agen Node Problem Detector. Anda dapat menggunakan fitur ini untuk memantau kondisi sistem instance COS. Node Problem Detector memantau kondisi instance dan melaporkan metrik terkait kesehatan ke Cloud Monitoring, termasuk metrik kapasitas dan error yang kemudian dapat Anda visualisasikan dengan dasbor Kemampuan Observasi Google Cloud. Metrik yang dikumpulkan dari konfigurasi default tidak dikenakan biaya. Google akan menggunakan metrik gabungan untuk memahami masalah node dan meningkatkan keandalan Container-Optimized OS.

Agen telah dikonfigurasi sebelumnya dengan kumpulan metrik yang akan diekspor. Penyesuaian metrik yang dilaporkan untuk agen bawaan tidak didukung untuk saat ini. Node Problem Detector adalah perangkat lunak {i>open source<i}. Anda dapat meninjau kode sumber dan konfigurasi di repositori sumbernya masing-masing.

Mengaktifkan pemantauan kondisi

Agen Node Problem Detector dinonaktifkan secara default pada waktu booting. Anda dapat mengaktifkan fitur ini menggunakan:

Menggunakan skrip startup

Anda dapat mengaktifkan Node Problem Detector menggunakan skrip startup.

Menggunakan cloud-init

Contoh cloud-init menjelaskan dasar-dasar mengonfigurasi instance OS yang Dioptimalkan untuk Container. Anda dapat menggunakan cloud-init untuk mengaktifkan pemantauan kondisi dengan contoh cloud-config berikut:

#cloud-config

runcmd:
- systemctl start node-problem-detector

Menggunakan metadata

Di Container-Optimized OS Milestone 88 dan yang lebih baru, Pendeteksi Masalah Node juga dapat diaktifkan dengan menyetel nilai google-monitoring-enabled ke true di bagian metadata kustom.

Untuk mengaktifkan pemantauan saat membuat instance:

gcloud compute instances create instance-name \
    --image-family cos-stable \
    --image-project cos-cloud \
    --metadata google-monitoring-enabled=true

Untuk mengaktifkan pemantauan dalam instance yang ada:

gcloud compute instances add-metadata instance-name \
    --metadata google-monitoring-enabled=true

Mulai milestone 97, pemantauan dapat diaktifkan di metadata project:

gcloud compute project-info add-metadata \
    --metadata google-monitoring-enabled=true

Setelah eksekusi, layanan node-problem-detector (deteksi masalah node) akan diaktifkan.

Menggunakan kebijakan tamu yang ditentukan pengguna

Container-Optimized OS menyertakan agen OS Config, yang menggunakan utilitas sistem OS untuk mempertahankan status untuk VM yang ditentukan dalam kebijakan tamu. Untuk mengetahui detail tentang kebijakan tamu, lihat Mengaktifkan agen Konfigurasi OS dan Membuat kebijakan tamu. Kebijakan tamu berikut akan mengaktifkan agen pendeteksi masalah Node di semua instance.

recipes:
- name: recipe-enable-npd
  desiredState: INSTALLED
  installSteps:
  - scriptRun:
      interpreter: SHELL
      script: |-
        #!/bin/bash
        systemctl start node-problem-detector

Melihat metrik yang dikumpulkan

Node Problem Detector melaporkan daftar metrik terhadap resource yang dimonitor instance Compute Engine. Metrik didokumentasikan di Daftar metrik pemantauan, yang diawali dengan compute.googleapis.com/guest/. Anda dapat melihat metrik yang dikumpulkan menggunakan Monitoring Metrics Explorer:

  1. Di konsol Google Cloud, buka Monitoring atau gunakan tombol berikut:

    Buka Monitoring

  2. Di panel navigasi Monitoring, klik Metrics Explorer.

  3. Untuk jenis resource, pilih Instance VM Compute Engine.

  4. Pilih metrik, misalnya "Jumlah Masalah".

  5. Anda akan melihat bagan dan statistik di sisi kanan. Untuk melihat hasil instance OS yang Dioptimalkan untuk Container tertentu, tetapkan filter ke "instance_id=[INSTANCE_ID]", dan ganti [INSTANCE_ID] dengan ID untuk instance yang diinginkan.

Menonaktifkan pemantauan kondisi

Untuk menonaktifkan layanan yang telah diaktifkan melalui cloud-config atau melalui skrip startup, hapus langkah systemctl start node-problem-detector, lalu mulai ulang instance Container-Optimized OS. Jika diaktifkan oleh metadata, pastikan kunci google-monitoring-enabled ditetapkan ke false.