全部产品
Search
文档中心

Container Service for Kubernetes:Pemantauan Insiden

更新时间:Jul 12, 2025

Pemantauan insiden adalah metode yang disediakan oleh Kubernetes untuk meningkatkan pemantauan sumber daya dalam hal ketepatan waktu, akurasi, dan skenario. Anda dapat menggunakan node-problem-detector (NPD) dengan pusat insiden Kubernetes dari Simple Log Service untuk memantau kluster. Konfigurasikan NPD untuk diagnosis kluster, aktifkan pengarsipan luring peristiwa abnormal, serta atur notifikasi peringatan melalui DingTalk dan remediasi otomatis melalui EventBridge.

Penagihan

Secara default, fitur pemantauan insiden ACK menyalurkan insiden kluster ke Simple Log Service. Anda dapat menyimpan dan menganalisis insiden di Simple Log Service. Periode retensi default insiden kluster ACK adalah 90 hari, tersedia gratis selama periode tersebut. Untuk informasi lebih lanjut, lihat Buat dan gunakan pusat insiden.

Informasi Latar Belakang

Kubernetes dirancang berdasarkan mesin status. Insiden dihasilkan dari transisi antarstatus yang berbeda. Biasanya, insiden Normal dihasilkan saat mesin status berubah ke status yang diharapkan, sedangkan insiden Peringatan dihasilkan saat mesin status berubah ke status yang tidak diharapkan.

ACK menyediakan solusi pemantauan insiden siap pakai untuk skenario kontainerisasi. ACK menggunakan NPD dan kube-eventer yang disediakan oleh NPD untuk memantau insiden kontainer.

  • NPD adalah alat untuk mendiagnosis node Kubernetes. NPD mendeteksi pengecualian node, menghasilkan insiden node, dan bekerja sama dengan kube-eventer untuk memunculkan peringatan atas insiden tersebut serta memungkinkan manajemen tertutup peringatan. NPD menghasilkan insiden node ketika mendeteksi pengecualian seperti Mesin Docker macet, kernel Linux macet, pengecualian lalu lintas arah keluar, dan pengecualian deskriptor file. Untuk informasi lebih lanjut, lihat NPD.

  • kube-eventer adalah emitor insiden sumber terbuka yang dikelola oleh ACK. kube-eventer mengirim insiden Kubernetes ke sink seperti DingTalk, Simple Log Service, dan EventBridge. kube-eventer juga menyediakan kondisi filter untuk menyaring insiden tingkat berbeda. Anda dapat menggunakan kube-eventer untuk mengumpulkan insiden secara real-time, memicu peringatan atas insiden tertentu, dan mengarsipkan insiden secara asinkron. Untuk informasi lebih lanjut, lihat kube-eventer.

Topik ini menjelaskan cara mengonfigurasi pemantauan insiden dalam skenario berikut:

Skenario 1: Gunakan NPD dengan pusat insiden Kubernetes dari Layanan Log Sederhana untuk menyalurkan insiden kluster

NPD bekerja sama dengan plugin pihak ketiga untuk mendeteksi pengecualian node dan menghasilkan insiden kluster. Kluster Kubernetes juga menghasilkan insiden saat status kluster berubah, misalnya ketika pod dievakuasi atau operasi tarik gambar gagal. Pusat insiden Kubernetes dari Simple Log Service mengumpulkan, menyimpan, dan memvisualisasikan insiden kluster, memungkinkan Anda untuk menanyakan, menganalisis, dan mengonfigurasi peringatan. Anda dapat menyalurkan insiden kluster ke pusat insiden Kubernetes dari Simple Log Service menggunakan metode berikut.

Langkah 1: Instal ack-node-problem-detector component

  • Jika Anda telah memilih Install node-problem-detector and Create Event Center saat membuat kluster, lanjutkan ke Langkah 2 untuk melihat pusat insiden Kubernetes. Untuk informasi lebih lanjut tentang cara menginstal komponen ack-node-problem-detector saat membuat kluster, lihat Buat kluster ACK yang dikelola.

  • Jika Anda tidak memilih Install node-problem-detector and Create Event Center saat membuat kluster, lakukan langkah-langkah berikut untuk menginstalnya secara manual.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi kiri, klik Add-ons.

    3. Di tab Logs and Monitoring, temukan dan instal ack-node-problem-detector.

Langkah 2: Lihat pusat insiden

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih Operations > Event Center.

  3. Di halaman Event Center, klik tab Event Overview (Event Center) untuk melihat informasi tentang insiden Kubernetes.

    Anda dapat melihat semua insiden Kubernetes beserta detailnya dan siklus hidup pod. Untuk informasi lebih lanjut, lihat Kumpulkan insiden Kubernetes.

Skenario 2: Konfigurasikan NPD untuk mendiagnosis kluster dan mengirim insiden pengecualian ke sink

Integrasi NPD dengan kube-eventer memungkinkan manajemen tertutup peringatan untuk insiden node. Untuk melakukan ini, ikuti langkah-langkah berikut:

Prosedur

  1. Lihat Instal komponen ack-node-problem-detector untuk menginstal komponen ack-node-problem-detector.

    Catatan

    Jika komponen ack-node-problem-detector sudah diinstal, instal ulang. Untuk informasi lebih lanjut, lihat Instal ulang komponen ack-node-problem-detector.

  2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih Workloads > DaemonSets.

  3. Di tab DaemonSets, pilih namespace kube-system, dan periksa apakah ack-node-problem-detector-daemonset berjalan sesuai harapan.

    Ketika baik NPD maupun eventer bekerja sesuai harapan, sistem menyalurkan insiden dan memunculkan peringatan berdasarkan konfigurasi eventer.

Plugin diagnosis node yang didukung oleh NPD

Plugin

Fitur

Deskripsi

fd_check

Memeriksa apakah persentase deskriptor file yang dibuka pada setiap node kluster melebihi maksimum 80%

Ambang batas default adalah 80%. Ambang batas ini dapat disesuaikan. Plugin ini mengonsumsi sejumlah besar sumber daya untuk melakukan pemeriksaan. Kami sarankan Anda tidak mengaktifkan plugin ini.

ram_role_check

Memeriksa apakah node kluster diberi peran RAM yang diperlukan dan apakah ID AccessKey dan Rahasia AccessKey dikonfigurasi untuk peran RAM tersebut

Tidak ada

ntp_check

Memeriksa apakah jam sistem node kluster disinkronkan dengan benar melalui Network Time Protocol (NTP)

Plugin ini diaktifkan secara default.

nvidia_gpu_check

Memeriksa apakah GPU NVIDIA node kluster dapat menghasilkan pesan Xid

Tidak ada

network_problem_check

Memeriksa apakah penggunaan tabel connection tracking (conntrack) pada setiap node kluster melebihi 90%

Plugin ini diaktifkan secara default.

inodes_usage_check

Memeriksa apakah penggunaan inode pada disk sistem setiap node kluster melebihi 80%

Ambang batas default adalah 80%. Ambang batas ini dapat disesuaikan. Plugin ini diaktifkan secara default.

csi_hang_check

Memeriksa apakah plugin Container Storage Interface (CSI) bekerja sesuai harapan pada node kluster

Tidak ada

ps_hang_check

Memeriksa apakah proses dalam keadaan tidur tak terputus (D) ada di sistem node kluster

Tidak ada

public_network_check

Memeriksa apakah node kluster dapat mengakses Internet

Tidak ada

irqbalance_check

Memeriksa apakah daemon irqbalance bekerja sesuai harapan di sistem node kluster

Tidak ada

pid_pressure_check

Memeriksa apakah rasio proses pid dalam sistem node terhadap proses pid maksimum yang diizinkan di kernel melebihi 85%

Plugin ini diaktifkan secara default.

docker_offline_check

Memeriksa apakah daemon docker bekerja sesuai harapan pada node kluster

Plugin ini diaktifkan secara default.

Skenario 3: Implementasikan pemantauan dan peringatan Kubernetes dengan chatbot DingTalk

Menggunakan chatbot DingTalk untuk memantau dan memberi peringatan pada insiden Kubernetes adalah implementasi ChatOps yang khas. Untuk melakukan ini, ikuti langkah-langkah berikut.

  1. Tambahkan chatbot DingTalk.

    1. Klik 群设置 di sudut kanan atas kotak obrolan grup DingTalk untuk membuka halaman Group Settings.

    2. Klik Bot dan klik Add Robot untuk menambah chatbot. Custom dipilih dalam contoh ini.

      自定义机器人

    3. Di halaman Robot details, klik Add untuk membuka halaman Add Robot.

      添加机器人

      Atur parameter berikut, baca dan terima Ketentuan Layanan Robot Kustom DingTalk, lalu klik Finished.

      Parameter

      Deskripsi

      Edit foto profil

      Foto profil chatbot. Parameter ini opsional.

      Nama chatbot

      Nama chatbot.

      Tambahkan ke Grup

      Grup DingTalk tempat chatbot ditambahkan.

      Pengaturan Keamanan

      Tiga jenis pengaturan keamanan didukung: kata kunci kustom, tanda tangan tambahan, dan alamat IP (atau blok CIDR).

      Hanya Custom Keywords yang didukung untuk menyaring peringatan yang dimunculkan atas insiden kluster.

      Pilih Custom Keywords dan masukkan Peringatan untuk menerima peringatan. Jika chatbot sering mengirim pesan, Anda dapat menambahkan lebih banyak kata kunci untuk menyaring pesan. Anda dapat menambahkan hingga 10 kata kunci. Pesan dari ACK juga disaring melalui kata kunci ini sebelum chatbot mengirimkannya ke grup DingTalk.

    4. Klik Copy untuk menyalin URL webhook.

      复制webhook

      Catatan

      Di halaman ChatBot, temukan chatbot dan klik 设置按钮 untuk melakukan operasi berikut:

      • Ubah avatar dan nama chatbot.

      • Enable atau disable dorongan pesan.

      • Reset URL webhook.

      • Hapus chatbot.

  2. Instal komponen ack-node-problem-detector. Untuk informasi lebih lanjut, lihat Instal komponen ack-node-problem-detector.

    Catatan

    Jika komponen ack-node-problem-detector sudah diinstal, instal ulang. Untuk informasi lebih lanjut, lihat Instal ulang komponen ack-node-problem-detector.

  3. Perbarui komponen ack-node-problem-detector.

    1. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi sisi kiri, pilih Applications > Helm.

    • Di halaman Helm, temukan komponen ack-node-problem-detector. Lalu, klik Update di kolom Actions komponen, ubah parameter berikut, dan klik OK.

      • Di bagian npd, atur parameter enabled ke false.

      • Atur eventer.sinks.dingtalk.enabled ke true.

      • Masukkan token yang terkandung dalam URL webhook yang dihasilkan pada langkah sebelumnya.

Keluaran yang Diharapkan:

eventer berlaku 30 detik setelah penyebaran selesai. Ketika insiden dengan tingkat keparahan melebihi ambang batas terjadi, peringatan dikirim ke grup DingTalk. 消息提醒

Skenario 4: Salurkan insiden Kubernetes ke Layanan Log Sederhana

Anda dapat menyalurkan insiden Kubernetes ke Simple Log Service untuk penyimpanan persisten, pengarsipan, dan audit. Untuk informasi lebih lanjut, lihat Buat dan gunakan pusat insiden.

  1. Buat proyek Simple Log Service dan Logstore.

    1. Masuk ke Konsol Simple Log Service.

    2. Di bagian Projects, klik Create Project. Di panel Create Project, atur parameter dan klik Create.

      Dalam contoh ini, sebuah proyek Simple Log Service bernama k8s-log4j dibuat di wilayah China (Hangzhou) tempat kluster ACK yang dipantau diterapkan.

      Catatan

      Disarankan untuk membuat proyek Simple Log Service di wilayah yang sama dengan kluster Anda. Ketika proyek Simple Log Service dan kluster berada di wilayah yang sama, log ditransmisikan melalui jaringan internal. Ini memungkinkan pengumpulan log secara real-time dan pengambilan cepat data log, serta menghindari transmisi lintas wilayah yang membutuhkan biaya bandwidth dan waktu tambahan.

    3. Di bagian Projects, temukan dan klik proyek k8s-log4j. Halaman detail proyek akan muncul.

    4. Di panel Logstores sisi kiri, klik ikon + untuk membuka panel Create Logstore.

    5. Di panel Create Logstore, atur parameter dan klik OK.

      Dalam contoh ini, sebuah Logstore bernama k8s-logstore dibuat.

      image

    6. Setelah Logstore k8s-logstore dibuat, instruksi tentang cara menggunakan Wisaya Impor Data muncul di halaman. Klik Data Import Wizard. Kotak dialog Import Data muncul.

    7. Pilih Log4j 1/2 dan konfigurasikan pengaturan dengan mengikuti langkah-langkah di halaman.

      Dalam contoh ini, pengaturan default digunakan. Anda juga dapat menyesuaikan pengaturan untuk memenuhi kebutuhan bisnis Anda.

      自定义数据

  2. Konfigurasikan log4j untuk kluster.

    1. Lihat Instal komponen ack-node-problem-detector untuk menginstal komponen ack-node-problem-detector.

    Penting
    1. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi sisi kiri, pilih Applications > Helm.

    2. Di halaman Helm, temukan komponen ack-node-problem-detector. Lalu, klik Update di kolom Actions komponen, ubah parameter berikut, dan klik OK.

      • Di bagian npd, atur parameter enabled ke false.

      • Atur eventer.sinks.sls.enabled ke true.

  3. Sebuah insiden dihasilkan setelah operasi dilakukan pada kluster, seperti penghapusan pod atau pembuatan aplikasi. Anda dapat masuk ke konsol Simple Log Service untuk melihat data log yang dikumpulkan. Untuk informasi lebih lanjut, lihat Konsumsi data log menggunakan SDK Simple Log Service.

    查看采集数据

  4. Tetapkan indeks dan pengarsipan. Untuk informasi lebih lanjut, lihat Buat indeks.

    1. Masuk ke konsol Simple Log Service. Di bagian Projects, temukan dan klik nama proyek.

    2. Klik 日志库管理图标 di sebelah nama Logstore lalu pilih Search & Analysis.

    3. Di sudut kanan atas halaman yang muncul, klik Enable Index.

    4. Di panel Search & Analysis, atur parameter, dan klik OK.

      Halaman kueri dan analisis log muncul. 日志分析页面

      Catatan
      • Konfigurasi indeks berlaku dalam 1 menit.

      • Indeks yang baru diaktifkan atau dimodifikasi hanya berlaku untuk data yang diimpor setelah indeks diaktifkan atau dimodifikasi.

    5. (Opsional) Dalam skenario yang memerlukan pengarsipan dan komputasi luring, Anda dapat menyalurkan data dari Logstore ke MaxCompute atau Object Storage Service (OSS). Untuk informasi lebih lanjut, lihat Buat pekerjaan pengiriman data versi baru untuk menyalurkan data ke MaxCompute dan Buat pekerjaan pengiriman data OSS (versi baru).

Skenario 5: Salurkan insiden Kubernetes ke EventBridge

EventBridge adalah layanan insiden tanpa server yang disediakan oleh Alibaba Cloud. Layanan cloud Alibaba, aplikasi kustom, dan perangkat lunak sebagai layanan (SaaS) dapat terhubung ke EventBridge dengan cara yang standar dan terpusat. Insiden ACK dapat disalurkan ke EventBridge, memungkinkan Anda membangun arsitektur berbasis acara yang longgar dan terdistribusi di EventBridge. Untuk informasi lebih lanjut tentang EventBridge, lihat Apa itu EventBridge?.

  1. Aktifkan EventBridge. Untuk informasi lebih lanjut, lihat Aktifkan EventBridge dan berikan izin kepada pengguna RAM.

  2. Lihat Instal komponen ack-node-problem-detector untuk menginstal komponen ack-node-problem-detector.

    Catatan

    Jika komponen ack-node-problem-detector sudah diinstal, instal ulang. Untuk informasi lebih lanjut, lihat Instal ulang komponen ack-node-problem-detector.

  3. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi sisi kiri, pilih Applications > Helm.

  4. Di halaman Helm, temukan komponen ack-node-problem-detector. Lalu, klik Update di kolom Actions komponen, atur eventer.sinks.eventbridge.enable ke true untuk mengaktifkan EventBridge sebagai sink insiden Kubernetes, dan klik OK.

    image

  5. Setelah EventBridge diaktifkan sebagai sink insiden Kubernetes, Anda dapat melihat insiden Kubernetes di konsol EventBridge.

    1. Masuk ke Konsol EventBridge.

    2. Di panel navigasi sisi kiri, klik Event Buses.

    3. Di halaman Event Buses, klik nama bus insiden target.
    4. Di panel navigasi sisi kiri, klik Event Tracking.
    5. Pilih metode kueri, atur kondisi kueri, lalu klik Query.

    6. Di daftar insiden, temukan insiden yang ingin Anda lihat dan klik Details di kolom Actions.

      Untuk informasi lebih lanjut, lihat Kueri insiden berdasarkan ID insiden.

Instal Ulang Komponen ack-node-problem-detector

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel sisi kiri, pilih Workloads > Jobs.

  3. Di halaman Jobs, klik More di sebelah kanan kube-eventer-init-v1.7-xxxx dan klik Delete.

  4. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel sisi kiri, pilih Applications > Helm.

  5. Di halaman Helm, hapus komponen ack-node-problem-detector.

  6. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi sisi kiri, pilih Operations > Add-ons.

  7. Di tab Logging and Monitoring, temukan dan instal ulang ack-node-problem-detector.