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.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi kiri, klik Add-ons.
Di tab Logs and Monitoring, temukan dan instal ack-node-problem-detector.
Langkah 2: Lihat pusat insiden
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih .
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
Lihat Instal komponen ack-node-problem-detector untuk menginstal komponen ack-node-problem-detector.
CatatanJika komponen ack-node-problem-detector sudah diinstal, instal ulang. Untuk informasi lebih lanjut, lihat Instal ulang komponen ack-node-problem-detector.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih .
Di tab DaemonSets, pilih namespace kube-system, dan periksa apakah ack-node-problem-detector-daemonset berjalan sesuai harapan.
Ketika baik NPD maupun
eventerbekerja sesuai harapan, sistem menyalurkan insiden dan memunculkan peringatan berdasarkan konfigurasieventer.
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 | Tidak ada |
network_problem_check | Memeriksa apakah penggunaan tabel | Plugin ini diaktifkan secara default. |
inodes_usage_check | Memeriksa apakah penggunaan | 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 | Tidak ada |
pid_pressure_check | Memeriksa apakah rasio proses | Plugin ini diaktifkan secara default. |
docker_offline_check | Memeriksa apakah | 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.
Tambahkan chatbot DingTalk.
Klik
di sudut kanan atas kotak obrolan grup DingTalk untuk membuka halaman Group Settings.Klik Bot dan klik Add Robot untuk menambah chatbot. Custom dipilih dalam contoh ini.

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
Peringatanuntuk 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.Klik Copy untuk menyalin URL webhook.
CatatanDi 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.
Instal komponen ack-node-problem-detector. Untuk informasi lebih lanjut, lihat Instal komponen ack-node-problem-detector.
CatatanJika komponen ack-node-problem-detector sudah diinstal, instal ulang. Untuk informasi lebih lanjut, lihat Instal ulang komponen ack-node-problem-detector.
Perbarui komponen ack-node-problem-detector.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi sisi kiri, pilih .
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 parameterenabledkefalse.Atur
eventer.sinks.dingtalk.enabledketrue.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.
Buat proyek Simple Log Service dan Logstore.
Masuk ke Konsol Simple Log Service.
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.
CatatanDisarankan 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.
Di bagian Projects, temukan dan klik proyek k8s-log4j. Halaman detail proyek akan muncul.
Di panel Logstores sisi kiri, klik ikon + untuk membuka panel Create Logstore.
Di panel Create Logstore, atur parameter dan klik OK.
Dalam contoh ini, sebuah Logstore bernama k8s-logstore dibuat.

Setelah Logstore k8s-logstore dibuat, instruksi tentang cara menggunakan Wisaya Impor Data muncul di halaman. Klik Data Import Wizard. Kotak dialog Import Data muncul.
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.

Konfigurasikan log4j untuk kluster.
Lihat Instal komponen ack-node-problem-detector untuk menginstal komponen ack-node-problem-detector.
PentingKetika Anda menginstal komponen ack-node-problem-detector, tentukan
proyekdanLogstoreyang Anda buat di Langkah 1.Jika komponen ack-node-problem-detector sudah diinstal, instal ulang. Untuk informasi lebih lanjut, lihat Instal ulang komponen ack-node-problem-detector.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi sisi kiri, pilih .
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 parameterenabledkefalse.Atur
eventer.sinks.sls.enabledketrue.
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.

Tetapkan indeks dan pengarsipan. Untuk informasi lebih lanjut, lihat Buat indeks.
Masuk ke konsol Simple Log Service. Di bagian Projects, temukan dan klik nama proyek.
Klik
di sebelah nama Logstore lalu pilih Search & Analysis.Di sudut kanan atas halaman yang muncul, klik Enable Index.
Di panel Search & Analysis, atur parameter, dan klik OK.
Halaman kueri dan analisis log muncul.
CatatanKonfigurasi indeks berlaku dalam 1 menit.
Indeks yang baru diaktifkan atau dimodifikasi hanya berlaku untuk data yang diimpor setelah indeks diaktifkan atau dimodifikasi.
(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?.
Aktifkan EventBridge. Untuk informasi lebih lanjut, lihat Aktifkan EventBridge dan berikan izin kepada pengguna RAM.
Lihat Instal komponen ack-node-problem-detector untuk menginstal komponen ack-node-problem-detector.
CatatanJika komponen ack-node-problem-detector sudah diinstal, instal ulang. Untuk informasi lebih lanjut, lihat Instal ulang komponen ack-node-problem-detector.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi sisi kiri, pilih .
Di halaman Helm, temukan komponen ack-node-problem-detector. Lalu, klik Update di kolom Actions komponen, atur
eventer.sinks.eventbridge.enableketrueuntuk mengaktifkan EventBridge sebagai sink insiden Kubernetes, dan klik OK.
Setelah EventBridge diaktifkan sebagai sink insiden Kubernetes, Anda dapat melihat insiden Kubernetes di konsol EventBridge.
Masuk ke Konsol EventBridge.
Di panel navigasi sisi kiri, klik Event Buses.
- Di halaman Event Buses, klik nama bus insiden target.
- Di panel navigasi sisi kiri, klik Event Tracking.
Pilih metode kueri, atur kondisi kueri, lalu klik Query.
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
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel sisi kiri, pilih .
Di halaman Jobs, klik More di sebelah kanan kube-eventer-init-v1.7-xxxx dan klik Delete.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel sisi kiri, pilih .
Di halaman Helm, hapus komponen ack-node-problem-detector.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel navigasi sisi kiri, pilih .
Di tab Logging and Monitoring, temukan dan instal ulang ack-node-problem-detector.