Memantau Azure Kubernetes Service (AKS) dengan Azure Monitor
Skenario ini menjelaskan cara menggunakan Azure Monitor untuk memantau kesehatan dan performa Azure Kubernetes Service (AKS). Skenario ini menyertakan pengumpulan telemetri yang penting untuk pemantauan, analisis dan visualisasi data yang dikumpulkan untuk mengidentifikasi tren, serta cara mengonfigurasi pemberitahuan agar secara proaktif mendapat pemberitahuan tentang masalah yang penting.
Panduan Pemantauan Cloud menentukan tujuan pemantauan utama yang harus menjadi fokus sumber daya Azure Anda. Skenario ini memiliki fokus pemantauan Kesehatan dan Status menggunakan Azure Monitor.
Cakupan skenario
Skenario ini ditujukan bagi pelanggan yang menggunakan Azure Monitor untuk memantau AKS. Skenario ini tidak menyertakan hal berikut, meskipun konten ini dapat ditambahkan dalam pembaruan berikutnya ke skenario.
- Pemantauan kluster Kube di luar Azure kecuali untuk merujuk konten yang ada untuk Kube yang diaktifkan Azure Arc.
- Pemantauan AKS dengan alat selain Azure Monitor kecuali untuk mengisi celah di Azure Monitor dan Insight Kontainer.
Catatan
Azure Monitor dirancang untuk memantau ketersediaan dan performa sumber daya cloud. Data operasional yang disimpan di Azure Monitor dapat berguna untuk menyelidiki insiden keamanan, sementara layanan lain di Azure dirancang untuk memantau keamanan. Pemantauan keamanan untuk AKS dilakukan dengan Microsoft Azure Sentinel dan Pertahanan Microsoft untuk Cloud. Lihat Memantau mesin virtual dengan Azure Monitor - Pemantauan keamanan untuk deskripsi alat pemantauan keamanan di Azure serta hubungannya dengan Azure Monitor.
Untuk informasi selengkapnya tentang penggunaan layanan keamanan untuk memantau AKS, lihat Pertahanan Microsoft untuk Kube - keuntungan dan fitur serta Menghubungkan log diagnostik Azure Kubernetes Service (AKS) ke Microsoft Azure Sentinel.
Insight kontainer
AKS menghasilkan metrik platform dan log sumber daya, seperti sumber daya Azure lainnya. Sumber daya ini dapat Anda gunakan untuk memantau kesehatan dasar dan performanya. Mengaktifkan Insight Container untuk memperluas pemantauan ini. Insight kontainer adalah fitur dalam Azure Monitor yang memantau kesehatan dan performa kluster Kube terkelola yang dihosting di AKS selain konfigurasi kluster lain. Insight kontainer menyediakan tampilan dan buku kerja yang interaktif yang menganalisis data yang dikumpulkan untuk berbagai skenario pemantauan.
Prometheus dan Grafana adalah alat sumber terbuka yang populer dan didukung CNCF untuk pemantauan kube. AKS mengekspos sejumlah metrik dalam format Prometheus yang membuatnya menjadi pilihan populer untuk pemantauan. Insight Kontainer memiliki integrasi asli dengan AKS, yang digunakan untuk mengumpulkan metrik dan log penting, memberitahukan masalah yang teridentifikasi, dan menyediakan visualisasi dengan buku kerja. Fitur ini juga mengumpulkan metrik Prometheus dan sejumlah insight Azure Monitor asli lainnya dibangun dengan metrik Prometheus. Insight kontainer mendukung dan melengkapi pemantauan E2E terhadap AKS termasuk kumpulan log yang tidak disediakan oleh Prometheus sebagai alat mandiri. Banyak pelanggan menggunakan integrasi Prometheus dan Azure Monitor secara bersamaan untuk pemantauan E2E.
Pelajari lebih lanjut cara menggunakan insight Kontainer di Gambaran umum insight Kontainer. Lapisan pemantauan AKS dengan insight Kontainer berikut memperkenalkan berbagai fitur insight Kontainer dan skenario pemantauan yang didukungnya.
Mengonfigurasi pemantauan
Bagian berikut menjelaskan langkah-langkah yang harus dilakukan untuk mengonfigurasi pemantauan penuh pada kluster AKS Anda menggunakan Azure Monitor.
Membuat ruang kerja Analitik Log
Anda memerlukan setidaknya satu ruang kerja Analitik Log untuk mendukung insight Kontainer serta mengumpulkan dan menganalisis telemetri lain tentang kluster AKS Anda. Tidak ada biaya untuk ruang kerja, tetapi Anda dikenakan biaya konsumsi dan retensi ketika mengumpulkan data. Lihat Detail harga log Azure Monitor lebih lanjut.
Jika Anda baru saja menggunakan Azure Monitor, maka mulailah dengan ruang kerja tunggal dan pertimbangkan untuk membuat ruang kerja tambahan seiring perkembangan kebutuhan Anda. Banyak lingkungan akan menggunakan ruang kerja tunggal untuk semua sumber daya Azure yang dipantau lingkungan tersebut. Anda bahkan dapat berbagi ruang kerja yang digunakan oleh Pertahanan Microsoft untuk Cloud dan Microsoft Azure Sentinel, meskipun banyak pelanggan memilih untuk memisahkan ketersediaan dan performa telemetrinya dari data keamanan.
Lihat Merancang penyebaran Log Azure Monitor untuk mengetahui detail logika yang harus Anda pertimbangkan saat merancang konfigurasi ruang kerja.
Mengaktifkan wawasan kontainer
Saat mengaktifkan insight Kontainer untuk kluster AKS Anda, ia akan menyebarkan versi agen Analitik Log dalam kontainer yang mengirimkan data ka Azure Monitor. Ada beberapa metode untuk mengaktifkannya, tergantung kluster AKS baru atau yang telah ada yang Anda gunakan. Lihat Mengaktifkan insight Kontainer untuk opsi prasyarat dan konfigurasi.
Mengonfigurasi kumpulan dari Prometheus
Insight kontainer memungkinkan Anda mengumpulkan metrik Prometheus tertentu di ruang kerja Log Analitik Anda tanpa memerlukan server Prometheus. Anda dapat menganalisis data ini menggunakan fitur Azure Monitor bersama dengan data lain yang dikumpulkan oleh insight Kontainer. Lihat Mengonfigurasi ekstraksi metrik Prometheus dengan insight Kontainer untuk mengetahui detail konfigurasi ini.
Mengumpulkan log sumber daya
Log untuk komponen sarana kontrol AKS diimplementasikan di Azure sebagai log sumber daya. Insight kontainer saat ini tidak menggunakan log ini, jadi Anda perlu membuat kueri log Anda sendiri untuk melihat dan menganalisisnya. Lihat Cara mengkueri log dari insight Kontainer untuk mengetahui detail struktur log ini dan cara menulis kueri untuknya.
Anda perlu membuat pengaturan diagnostik untuk mengumpulkan log sumber daya. Buat beberapa pengaturan diagnostik untuk mengirim set log berbeda ke lokasi berbeda. Lihat Membuat pengaturan diagnostik untuk mengirim log dan metrik platform ke tujuan berbeda untuk membuat pengaturan diagnostik untuk kluster AKS Anda.
Pengiriman log sumber daya ke ruang kerja akan dikenakan biaya, jadi Anda seharusnya hanya mengumpulkan kategori log yang ingin Anda gunakan. Kirim log ke akun penyimpanan Azure untuk mengurangi biaya jika Anda perlu menyimpan informasi tetapi tidak mengharuskannya tersedia untuk keperluan analisis. Lihat Log sumber daya untuk deskripsi kategori yang tersedia untuk AKS dan Mengelola penggunaan dan biaya dengan Log Azure Monitor untuk detail biaya penyerapan dan penyimpanan data log. Mulailah dengan mengumpulkan jumlah kategori minimal dan kemudian ubah pengaturan diagnostik untuk mengumpulkan kategori tambahan selagi kebutuhan Anda meningkat dan saat Anda memahami biaya terkait.
Jika Anda tidak yakin mengenai log sumber daya mana yang harus terlebih dahulu diaktfikan, gunakan rekomendasi dalam tabel berikut yang didasarkan pada persyaratan pelanggan yang paling umum. Aktifkan kategori lain jika nantinya Anda merasa memerlukan informasi ini.
| Kategori | Aktifkan? | Tujuan |
|---|---|---|
| cluster-autoscaler | Aktifkan jika skala otomatis diaktifkan | Ruang kerja Analitik Log |
| penjaga | Aktifkan jika Azure Active Directory diaktifkan | Ruang kerja Analitik Log |
| kube-apiserver | Aktifkan | Ruang kerja Analitik Log |
| kube-audit | Aktifkan | Penyimpanan Azure. Hal ini menjaga biaya seminimal mungkin namun mempertahankan log audit jika diperlukan oleh auditor. |
| kube-audit-admin | Aktifkan | Ruang kerja Analitik Log |
| kube-controller-manager | Aktifkan | Ruang kerja Analitik Log |
| kube-scheduler | Nonaktifkan | |
| SemuaMetrics | Aktifkan | Ruang kerja Analitik Log |
Mengakses fitur Azure Monitor
Akses fitur Azure Monitor untuk semua kluster AKS dalam langganan Anda dari menu Pemantauan di portal Microsoft Azure atau untuk kluster AKS tunggal dari bagian Pantau menu layanan Kube. Cuplikan layar berikut menampilkan menu Pantau kluster.
| Opsi menu | Deskripsi |
|---|---|
| Wawasan | Buka insight kontainer untuk kluster saat ini. Pilih Kontainer dari menu Pantau untuk membuka insight kontainer semua kluster. |
| Peringatan | Menampilkan pemberitahuan untuk kluster saat ini. |
| Metrik | Buka penjelajah metrik dengan cakupan yang diatur untuk kluster saat ini. |
| Pengaturan diagnostik | Buat pengaturan diagnostik untuk kluster guna mengumpulkan log sumber daya. |
| Advisor | Rekomendasi untuk kluster saat ini dari Azure Advisor. |
| Log | Buka Analitik Log dengan cakupan yang diatur untuk kluster saat ini guna menganalisis data log dan mengakses kueri yang telah dibuta sebelumnya. |
| Buku kerja | Buka galeri buku kerja untuk layanan Kube. |
Lapisan pemantauan AKS dengan insight Kontainer
Dikarenakan banyaknya varian dalam implementasi Kube, setiap pelanggan akan memiliki persyaratan yang unik untuk pemantauan AKS. Pendekatan yang Anda pilih harus didasarkan pada berbagai faktor termasuk skala, topologi, peran organisasi, dan penyewaan multi-kluster. Bagian ini menyajikan strategi umum yang merupakan pendekatan bottoms-up mulai dari infrastruktur hingga aplikasi. Setiap lapisan memiliki persyaratan pemantauan yang berbeda. Lapisan ini digambarkan dalam diagram berikut dan dibahas secara lebih mendetail di bagian berikut.
Tingkat 1 - Komponen tingkat kluster
Tingkat kluster mencakup komponen berikut.
| Komponen | Persyaratan pemantauan |
|---|---|
| Node | Pahami status kesiapan dan performa CPU, memori, dan disk untuk setiap node dan pantau secara aktif tren penggunaannya sebelum menyebarkan beban kerja apa pun. |
Gunakan tampilan dan laporan yang ada dalam Insight Kontainer untuk memantau komponen tingkat kluster. Tampilan Kluster menyediakan tampilan cepat performa simpul dalam kluster Anda, termasuk penggunaan CPU dan memori. Gunakan tampilan Simpul untuk melihat kesehatan setiap node di samping kesehatan dan performa pod yang berjalan di setiap node. Lihat Memantau performa kluster Kube Anda dengan insight Kontainer untuk mengetahui detail mengenai penggunaan tampilan ini serta menganalisis kesehatan dan performa node.
Gunakan buku kerja Simpul dalam Insight Kontainer untuk menganalisis kapasitas disk dan IO di samping penggunaan GPU. Lihat buku kerja Simpul untuk penjelasan buku kerja ini.
Untuk skenario pemecahan masalah, Anda mungkin perlu mengakses node AKS secara langsung untuk pemeliharaan atau pengumpulan log segera. Simpul AKS tidak diekspos ke internet untuk tujuan keamanan, tetapi Anda dapat melakukan kubectl debug ke SSH ke node AKS. Lihat Menghubungkan dengan SSH ke node kluster Azure Kubernetes Service (AKS) untuk pemeliharaan atau pemecahan masalah untuk detail proses ini.
Tingkat 2 - Komponen AKS terkelola
Tingkat AKS terkelola mencakup komponen berikut.
| Komponen | Pemantauan |
|---|---|
| Server API | Pantau status server API, yang mengidentifikasi peningkatan dalam muatan permintaan dan penyempitan jika layanan sedang tidak berfungsi. |
| Kubelet | Pemantauan Kubelet membantu memecahkan masalah manajemen pod, pod tidak memulai, simpul tidak siap, atau pod dihentikan. |
Azure Monitor dan insight kontainer belum memberikan pemantauan penuh untuk server API. Anda dapat menggunakan metrik penjelajah untuk melihat penghitung Permintaan Inflight, tetapi Anda harus merujuk ke metrik di Prometheus untuk tampilan lengkap performa API Server. Hal ini mencakup nilai-nilai seperti latensi permintaan dan waktu pemrosesan antrean kerja. Dasbor Grafana yang menyediakan tampilan metrik penting untuk server API tersedia di Grafana Labs. Gunakan dasbor ini di server Grafana yang ada atau siapkan server Grafana baru di Azure menggunakan Memantau layanan Azure Anda di Grafana
Gunakan buku kerja Kubelet untuk melihat kesehatan dan performa setiap kubelet. Lihat buku kerja Pemantauan Sumber Daya untuk detail buku kerja ini. Untuk skenario pemecahan masalah, Anda dapat mengakses log kubelet menggunakan proses yang dijelaskan di Mendapatkan log kubelet dari node kluster Azure Kubernetes Service (AKS).
Log sumber daya
Gunakan kueri log dengan log sumber daya untuk menganalisis log sarana kontrol yang dihasilkan komponen AKS.
Tingkat 3 - Objek dan beban kerja Kube
Objek dan tingkat beban kerja Kube mencakup komponen berikut.
| Komponen | Persyaratan pemantauan |
|---|---|
| Penyebaran | Pantau status penyebaran yang sebenarnya vs yang diinginkan serta status dan pemanfaatan sumber daya pod yang berjalan di dalamnya. |
| Pod | Pantau status dan pemanfaatan sumber daya, termasuk CPU dan memori pod yang berjalan dalam kluster AKS Anda. |
| Kontainer | Pantau penggunaan sumber daya, termasuk CPU dan memori kontainer yang berjalan dalam kluster AKS Anda. |
Gunakan tampilan dan laporan yang ada di Insight Kontainer untuk memantau kontainer dan pod. Gunakan tampilan Simpul dan Pengontrol untuk melihat kesehatan dan performa pod yang berjalan di dalamnya dan telusuri secara mendetail kesehatan dan performa kontainernya. Lihat kesehatan dan performa kontainer secara langsung dari tampilan Kontainer. Lihat Memantau performa kluster Kube Anda dengan insight Kontainer untuk mengetahui detail tentang cara menggunakan tampilan ini serta menganalisis kesehatan dan performa kontainer.
Gunakan buku kerja Penyebaran di insight Kontainer untuk melihat metrik yang dikumpulkan untuk penyebaran. Lihat Menyebarkan & metrik HPA dengan Wawasan kontainer untuk detailnya.
Catatan
Tampilan penyebaran dalam insight Kontainer saat ini sedang dalam pratinjau publik.
Data langsung
Dalam skenario pemecahan masalah, insight Kontainer menyediakan akses ke log kontainer AKS langsung (stdout/stderror), kejadian, dan metrik pod. Lihat Cara melihat log, kejadian, dan metrik pod Kube secara real time untuk informasi lebih lanjut tentang fitur ini.
Tingkat 4- Aplikasi
Tingkat aplikasi mencakup beban kerja aplikasi yang berjalan di kluster AKS.
| Komponen | Persyaratan pemantauan |
|---|---|
| Aplikasi | Pantau penyebaran aplikasi layanan mikro untuk mengidentifikasi kegagalan aplikasi dan masalah latensi. Menyertakan informasi seperti tarif permintaan, waktu respons, dan pengecualian. |
Application Insights menyediakan pemantauan lengkap aplikasi yang berjalan di AKS dan lingkungan lainnya. Jika Anda memiliki aplikasi Java, Anda dapat memberikan pemantauan tanpa menginstrumentasikan kode Anda mengikuti Pemantauan aplikasi nol instrumenasi untuk Kube - Azure Monitor Application Insights. Untuk pemantauan penuh, Anda harus mengonfigurasi pemantauan berbasis kode tergantung aplikasi Anda.
Lihat Apa itu Application Insights?
Tingkat 5- Komponen eksternal
Komponen eksternal ke AKS mencakup hal berikut.
| Komponen | Persyaratan pemantauan |
|---|---|
| Service Mesh, Ingress, Egress | Metrik berdasarkan komponen. |
| Database dan antrean kerja | Metrik berdasarkan komponen. |
Pantau komponen eksternal seperti Service Mesh, Ingress, Egress dengan Prometheus dan Grafana atau alat kepemilikan lainnya. Pantau database dan sumber daya Azure lainnya menggunakan fitur lain Azure Monitor.
Analisis data metrik dengan penjelajah metrik
Gunakan penjelajah metrik saat Anda akan melakukan analisis kustom data metrik yang dikumpulkan untuk kontainer Anda. Penjelajah metrik memungkinkan Anda membuat merencanakan diagram, menghubungkan tren secara virtual, dan menginvestigasi lonjakan serta penurunan dalam nilai metrik. Buat pemberitahuan metrik agar secara proaktif memberi tahu Anda jika nilai metrik melewati ambang batas, dan sematkan bagan ke dasbor untuk digunakan anggota lain organisasi Anda.
Lihat Mulai menggunakan Azure Metrics Explorer untuk detail penggunaan fitur ini. Untuk mengetahui daftar metrik platform yang dikumpulkan, lihat Memantau metrik referensi data AKS. Jika insight Kontainer diaktifkan untuk kluster, nilai metrik tambahan akan tersedia.
Menganalisis data log dengan Analitik Log
Gunakan Analitik Log jika Anda ingin menganalisis log sumber daya atau mengetahui lebih lanjut data yang digunakan untuk membuat tampilan dalam insight Kontainer. Analitik log memungkinkan Anda melakukan analisis kustom pada data log Anda.
Lihat Cara mengkueri log dari insight Kontainer untuk mengetahui detail cara menggunakan kueri log guna menganalisis data yang dikumpulkan oleh insight Kontainer. Lihat Menggunakan kueri di Analitik Log Azure Monitor untuk informasi penggunaan kueri ini dan tutorial Analitik Log untuk tutorial lengkap terkait menggunakan Analitik Log untuk menjalankan kueri dan mendapatkan hasil.
Untuk daftar tabel yang dikumpulkan untuk AKS yang dapat Anda analisis dalam penjelajah metrik, lihat Memantau log referensi data AKS.
Selain data insight Kontainer, Anda dapat menggunakan kueri log untuk menganalisis log sumber daya dari AKS. Untuk daftar kategori log yang tersedia, lihat log sumber daya referensi data AKS. Anda harus membuat pengaturan diagnostik untuk mengumpulkan setiap kategori seperti yang dijelaskan di Mengonfigurasi pemantauan sebelum data dikumpulkan.
Peringatan
Pemberitahuan di Azure Monitor secara proaktif memberi tahu Anda tentang data dan pola yang menarik dalam data pemantauan Anda. Pemberitahuan ini memungkinkan Anda mengidentifikasi dan mengatasi masalah dalam sistem Anda sebelum pelanggan Anda mengetahuinya. Tidak ada aturan pemberitahuan yang dikonfigurasi sebelumnya untuk kluster AKS, namun Anda dapat membuatnya berdasar data yang dikumpulkan insight Kontainer.
Penting
Sebagian besar aturan pemberitahuan ditarik biaya yang tergantung pada jenis aturan, jumlah dimensi yang tercakup, dan frekuensi aturan dijalankan. Merujuk pada Aturan pemberitahuan di Harga Azure Monitor sebelum Anda membuat aturan pemberitahuan.
Pilih jenis pemberitahuan
Jenis aturan pemberitahuan yang paling umum dalam Azure Monitor adalah pemberitahuan metrik dan pemberitahuan kueri log. Jenis aturan pemberitahuan yang Anda buat untuk skenario tertentu akan bergantung pada tempat data yang Anda kirimi pemberitahuan. Anda mungkin memiliki kasus saat data untuk skenario pemberitahuan tertentu tersedia di Metrik dan Log, dan Anda perlu menentukan jenis aturan yang akan digunakan.
Strategi terbaiknya adalah menggunakan pemberitahuan metrik, bukan pemberitahuan log bila memungkinkan, karena pemberitahuan metrik lebih responsif dan stateful. Anda dapat membuat pemberitahuan metrik di nilai apa pun yang dapat Anda analisis di penjelajah metrik. Jika logika untuk aturan pemberitahuan Anda memerlukan data dalam Log, atau memerlukan logika yang lebih kompleks, maka Anda dapat menggunakan aturan pemberitahuan kueri log.
Misalnya, jika Anda ingin memberitahukan beban kerja aplikasi mengonsumsi CPU secara berlebihan, maka Anda dapat membuat pemberitahuan metrik menggunakan metrik CPU. Jika Anda memerlukan pemberitahuan saat pesan tertentu ditemukan di log sarana kontrol, maka Anda akan memerlukan pemberitahuan log.
Aturan pemberitahuan metrik
Aturan pemberitahuan metrik menggunakan nilai metrik yang sama dengan penjelajah metrik. Bahkan, Anda dapat membuat aturan pemberitahuan secara langsung dari penjelajah metrik dengan data yang sedang Anda analisis. Anda dapat menggunakan nilai apa pun di metrik referensi data AKS untuk aturan pemberitahuan metrik.
Insight Kontainer menyertakan fitur dalam pratinjau publik yang membuat set aturan pemberitahuan metrik yang direkomendasikan untuk kluster AKS Anda. Fitur ini membuat nilai metrik baru (juga dalam pratinjau) yang digunakan oleh aturan pemberitahuan yang dapat Anda gunakan dalam penjelajah metrik. Lihat Pemberitahuan metrik yang direkomendasikan (pratinjau) dari insight Kontainer untuk detail fitur ini dan membuat pemberitahuan metrik untuk AKS.
Aturan pemberitahuan log
Gunakan aturan pemberitahuan log untuk menghasilkan pemberitahuan dari hasil kueri log. Dapat berupa data yang dikumpulkan insight Kontainer atau dari log sumber daya AKS. Lihat Cara membuat pemberitahuan log dari wawasan Kontainer untuk detail aturan pemberitahuan log untuk AKS dan set kueri sampel yang dirancang untuk aturan pemberitahuan. Anda juga dapat merujuk ke Cara mengkueri log dari insight Kontainer untuk detail kueri log yang dapat diubah untuk aturan pemberitahuan.
Pemberitahuan mesin virtual
AKS mengandalkan set skala mesin virtual yang harus dalam kondisi sehat untuk menjalankan beban kerja AKS. Anda dapat memberitahukan metrik penting seperti CPU, memori, dan penyimpanan untuk mesin virtual dengan menggunakan panduan di Memantau mesin virtual dengan Azure Monitor: Pemberitahuan.
Pemberitahuan Prometheus
Dalam kondisi saat Azure Monitor tidak memiliki data yang diperlukan untuk kondisi waspada, atau pemberitahuan mungkin tidak cukup responsif, maka Anda harus mengonfigurasi pemberitahuan di Prometheus. Salah satu contohnya adalah mengirimkan pemberitahuan untuk server API. Azure Monitor tidak mengumpulkan informasi penting untuk server API, meskipun tersedia atau mengalami penyempitan. Anda dapat membuat pemberitahuan kueri log menggunakan data dari kategori log sumber daya kube-apiserver, tetapi hal ini dapat memakan waktu hingga beberapa menit sebelum Anda menerima pemberitahuan yang mungkin tidak cukup untuk persyaratan Anda.
Langkah berikutnya
- Lihat Memantau referensi data AKS untuk referensi metrik, log, dan nilai penting lainnya yang dibuat oleh AKS.










