Memantau dan mencatat data
Berlaku untuk: AKS di Azure Local 22H2, AKS di Windows Server
Artikel ini menjelaskan cara memantau penyebaran Azure Kubernetes Service (AKS) dan mengumpulkan data pengelogan di AKS yang diaktifkan oleh Azure Arc. Anda mempelajari cara menyiapkan dan mengakses pemantauan lokal menggunakan Prometheus
dan Graphana
, dan cara mengumpulkan dan melihat log menggunakan Elasticsearch
, Fluent Bit
, dan Kibana
(EFK).
Tersedia dua jenis solusi pemantauan dan pengelogan, seperti yang dijelaskan dalam tabel berikut:
Solusi | Konektivitas Azure | Dukungan dan layanan | Biaya | Penyebaran |
---|---|---|---|---|
Azure Monitor | Mengharuskan menghubungkan kluster Kubernetes ke Azure menggunakan Azure Arc untuk Kubernetes. | Dukungan penuh dan layanan dari Microsoft. | Memerlukan pendaftaran untuk layanan Azure Monitor. | Gunakan Azure Arc untuk kluster pemantauan . |
Pemantauan dan pencatatan di lokasi fisik | Tidak memerlukan konektivitas Azure. | Didukung sebagai perangkat lunak sumber terbuka oleh Microsoft (tanpa perjanjian dukungan atau SLA), komunitas, dan/atau vendor eksternal. | Tergantung vendor. | Digerakkan oleh pelanggan. Lihat Memantau kluster menggunakan pemantauan lokal. |
Untuk menggunakan Azure Monitor dengan kluster Kubernetes, lihat gambaran umum Azure Monitor.
Menggunakan pemantauan lokal
Sangat penting bagi Anda untuk memantau kesehatan, performa, dan penggunaan sumber daya simpul sarana kontrol dan beban kerja pada kluster Anda saat menjalankan aplikasi dalam produksi. Solusi pemantauan yang direkomendasikan mencakup dua alat berikut:
- Prometheus adalah toolkit pemantauan dan pemberitahuan yang dapat Anda gunakan untuk memantau beban kerja dalam kontainer. Prometheus bekerja dengan berbagai jenis kolektor dan agen untuk mengumpulkan metrik dan menyimpannya dalam database di mana Anda dapat mengkueri data dan melihat laporan. AKS Arc memudahkan penyebaran Prometheus, yang dijelaskan nanti dalam artikel ini.
- Grafana adalah alat yang digunakan untuk menampilkan, mengkueri, dan memvisualisasikan metrik di dasbor Grafana. Anda juga dapat mengonfigurasi Grafana untuk menggunakan Prometheus sebagai sumber data. Anda harus memiliki salinan Grafana berlisensi Anda sendiri yang terintegrasi dengan AKS Arc.
Gambaran umum solusi pemantauan
Sebagai bagian dari solusi Prometheus di AKS yang diaktifkan oleh Arc, komponen berikut disebarkan dan dikonfigurasi secara otomatis:
- operator prometheus
- Prometheus
- Kube state metrics
- pengekspor simpul
- pengekspor Windows
Penyebaran didasarkan pada bagan Helm Kube-Prometheus-stack yang tersedia untuk umum, yang kemudian diperluas untuk mendukung pengekspor Windows dan mengamankan pengumpulan metrik antara Prometheus dan agen. Setelah solusi Prometheus disebarkan, Node exporter berjalan pada setiap simpul Linux, dan Windows exporter berjalan pada setiap simpul Windows.
Nota
Karena komponen-komponen operator Prometheus, Prometheus, dan Kube state metrics hanya didukung di Linux, Anda perlu menyediakan setidaknya satu node Linux di kluster AKS Anda untuk menerapkan solusi ini.
Objek dan titik akhir yang dikorek solusi Prometheus menyertakan item berikut:
- Metrik keadaan Kube untuk mengumpulkan berbagai metrik yang disediakan oleh Kubernetes
- Server API Kubernetes
- Kubelet
- Pengekspor simpul untuk mengumpulkan metrik untuk simpul Linux
- Pengekspor Windows untuk mengumpulkan metrik untuk node Windows
Untuk melihat dasbor Grafana yang tersedia di AKS Arc, lihat dasbor Grafana yang tersedia di AKS Arc.
Menyebarkan solusi pemantauan menggunakan PowerShell
Bagian ini menjelaskan dua opsi yang dapat Anda gunakan untuk menyebarkan pemantauan pada kluster beban kerja.
Opsi 1: Menyebarkan solusi pemantauan saat membuat kluster beban kerja
Untuk mengaktifkan pemantauan, berikan parameter -enableMonitoring
saat Anda menggunakan New-AksHciCluster untuk membuat kluster beban kerja, seperti yang ditunjukkan dalam contoh berikut:
New-AksHciCluster -name mynewcluster -enableMonitoring
Pemantauan diinstal dengan konfigurasi default berikut:
- Ukuran volume persisten yang disediakan untuk menyimpan metrik (
storageSizeGB
) adalah 100 GB. - Waktu retensi untuk metrik yang dikumpulkan (
retentionTimeHours
) adalah 240 jam (atau 10 hari).
Opsi 2: Menyebarkan solusi pemantauan pada kluster beban kerja yang ada
Jalankan perintah Install-AksHciMonitoring
Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240
Parameter -storageSizeGB
mengatur ukuran volume persisten yang disediakan untuk menyimpan metrik, dan parameter -retentionTimeHours
mengatur jumlah waktu metrik yang dikumpulkan dipertahankan.
Solusi pemantauan diinstal di namespace terpisah yang disebut monitoring
dan menggunakan StorageClass yang disebut monitoring-sc
. Prometheus diekspos pada endpoint internal yang hanya dapat diakses di dalam kluster pada http://akshci-monitoring-prometheus-svc.monitoring:9090
.
Menghapus instalan solusi pemantauan menggunakan PowerShell
Jalankan perintah Uninstall-AksHciMonitoring
PowerShell untuk menghapus instalan solusi pemantauan AKS Arc, sebagai berikut:
Uninstall-AksHciMonitoring -Name <target cluster name>
Proses penghapusan instalasi menghapus semuanya, termasuk namespace, StorageClass, dan data dan metrik aktual dari volume persisten.
Menyebarkan Grafana, dan mengonfigurasinya untuk menggunakan Prometheus
Anda dapat mengikuti panduan apa pun untuk menyebarkan Grafana yang tersedia untuk umum. Anda juga dapat melihat panduan penyebaran Microsoft untuk menggunakan Grafana, yang merinci cara menyebarkan dan mengonfigurasi Grafana untuk menyambungkannya ke instans AKS Prometheus. Halaman GitHub ini juga menjelaskan cara menambahkan dasbor Grafana yang disediakan Microsoft untuk AKS yang diaktifkan oleh Arc.
Pencatatan di lokasi
Pengelogan sangat penting untuk pemecahan masalah dan diagnostik. Solusi pengelogan di AKS Arc didasarkan pada Elasticsearch, Fluent Bit, dan Kibana (EFK). Semua komponen ini disebarkan sebagai kontainer:
- Fluent Bit adalah prosesor log dan penerus yang mengumpulkan data dan log dari sumber yang berbeda. Kemudian memformat, menyatukan, dan menyimpannya di Elasticsearch.
- Elasticsearch adalah mesin pencarian dan analitik terdistribusi yang mampu menyimpan log secara terpusat untuk pencarian cepat dan analitik data.
- Kibana menyediakan visualisasi interaktif di dasbor web. Alat ini memungkinkan Anda melihat dan mengkueri log yang disimpan di Elasticsearch, lalu Anda dapat memvisualisasikannya melalui grafik dan dasbor.
Untuk menyiapkan solusi pengelogan lokal, lihat langkah-langkah untuk menyiapkan pengelogan untuk mengakses Kibana. Artikel ini mencakup semua komponen yang diperlukan untuk mengumpulkan, mengagregasi, dan mengkueri log kontainer di seluruh kluster.
Untuk langkah-langkah konfigurasi tingkat lanjut, lihat pengelogan Windows .