Mengonfigurasi pengumpulan data dan pengoptimalan biaya dalam wawasan Kontainer menggunakan aturan pengumpulan data

Artikel ini menjelaskan cara mengonfigurasi pengumpulan data dalam wawasan Kontainer menggunakan aturan pengumpulan data (DCR) untuk kluster Kubernetes Anda. Ini termasuk konfigurasi prasetel untuk mengoptimalkan biaya Anda. DCR dibuat saat Anda melakukan onboarding kluster ke wawasan Kontainer. DCR ini digunakan oleh agen kontainer untuk menentukan pengumpulan data untuk kluster.

DCR terutama digunakan untuk mengonfigurasi pengumpulan data performa dan data inventaris dan untuk mengonfigurasi pengoptimalan biaya.

Konfigurasi tertentu yang dapat Anda lakukan dengan DCR meliputi:

  • Aktifkan/nonaktifkan pemfilteran kumpulan dan namespace untuk data performa dan inventori.
  • Menentukan interval pengumpulan untuk data performa dan inventori
  • Mengaktifkan/menonaktifkan koleksi Syslog
  • Pilih skema log

Penting

Konfigurasi lengkap pengumpulan data dalam wawasan Kontainer mungkin memerlukan pengeditan DCR dan ConfigMap untuk kluster karena setiap metode memungkinkan konfigurasi serangkaian pengaturan yang berbeda.

Lihat Mengonfigurasi pengumpulan data di Insight kontainer menggunakan ConfigMap untuk daftar pengaturan dan proses untuk mengonfigurasi pengumpulan data menggunakan ConfigMap.

Prasyarat

  • Kluster AKS harus menggunakan Sistem atau Identitas Terkelola yang Ditetapkan Pengguna. Jika kluster menggunakan Perwakilan Layanan, Anda harus meningkatkan ke Identitas Terkelola.

Mengonfigurasi kumpulan data

DCR yang dibuat saat Anda mengaktifkan wawasan Kontainer diberi nama MSCI-cluster-region-cluster-cluster-name><<>. Anda dapat melihatnya di portal Azure dengan memilih opsi Aturan Pengumpulan Data di menu Monitor di portal Azure. Daripada memodifikasi DCR secara langsung, Anda harus menggunakan salah satu metode yang dijelaskan di bawah ini untuk mengonfigurasi pengumpulan data. Lihat Parameter pengumpulan data untuk detail tentang berbagai pengaturan yang tersedia yang digunakan oleh setiap metode.

Peringatan

Pengalaman wawasan Kontainer default bergantung pada semua aliran data yang ada. Menghapus satu atau beberapa aliran default membuat pengalaman wawasan Kontainer tidak tersedia, dan Anda perlu menggunakan alat lain seperti dasbor Grafana dan kueri log untuk menganalisis data yang dikumpulkan.

Anda dapat menggunakan portal Azure untuk mengaktifkan pengoptimalan biaya pada kluster yang ada setelah wawasan Kontainer diaktifkan, atau Anda dapat mengaktifkan wawasan Kontainer pada kluster bersama dengan pengoptimalan biaya.

  1. Pilih kluster di portal Azure.

  2. Pilih opsi Wawasan di bagian Pemantauan pada menu.

  3. Jika Wawasan kontainer telah diaktifkan pada kluster, pilih tombol Pengaturan Pemantauan. Jika tidak, pilih Konfigurasikan Azure Monitor dan lihat Mengaktifkan pemantauan pada kluster Kubernetes Anda dengan Azure Monitor untuk detail tentang mengaktifkan pemantauan.

    Cuplikan layar kluster AKS dengan tombol pengaturan monitor.

  4. Untuk Kubernetes dengan dukungan AKS dan Arc, pilih Gunakan identitas terkelola jika Anda belum memigrasikan kluster ke autentikasi identitas terkelola.

  5. Pilih salah satu prasetel biaya yang dijelaskan dalam Prasetel biaya.

    Cuplikan layar yang memperlihatkan opsi onboarding.

  6. Jika Anda ingin menyesuaikan pengaturan, klik Edit pengaturan koleksi. Lihat Parameter pengumpulan data untuk detail tentang setiap pengaturan. Untuk Data yang dikumpulkan, lihat Data yang dikumpulkan di bawah ini.

    Cuplikan layar yang memperlihatkan opsi pengaturan koleksi.

  7. Klik Konfigurasikan untuk menyimpan pengaturan.

Prasetel biaya

Saat Anda menggunakan portal Azure untuk mengonfigurasi pengoptimalan biaya, Anda dapat memilih dari konfigurasi prasetel berikut. Anda dapat memilih salah satu dari ini atau menyediakan pengaturan yang disesuaikan sendiri. Secara default, wawasan Kontainer menggunakan preset Standar .

Prasetel biaya Frekuensi pengumpulan Filter namespace Kumpulan Syslog Data yang dikumpulkan
Standard 1 m Tidak Tidak diaktifkan Semua tabel wawasan kontainer standar
Biaya yang dioptimalkan 5 m Mengecualikan kube-system, gatekeeper-system, azure-arc Tidak diaktifkan Semua tabel wawasan kontainer standar
Syslog 1 m Tidak Diaktifkan secara default Semua tabel wawasan kontainer standar
Log dan Peristiwa 1 m Tidak Tidak diaktifkan ContainerLog/ContainerLogV2
KubeEvents
KubePodInventory

Data yang dikumpulkan

Opsi Data yang dikumpulkan memungkinkan Anda memilih tabel yang diisi untuk kluster. Ini setara dengan streams parameter saat melakukan konfigurasi dengan CLI atau ARM. Jika Anda memilih opsi apa pun selain Semua (Default), pengalaman wawasan Kontainer menjadi tidak tersedia, dan Anda harus menggunakan Grafana atau metode lain untuk menganalisis data yang dikumpulkan.

Cuplikan layar yang memperlihatkan opsi data yang dikumpulkan.

Pengelompokan Tabel Catatan
Semua (Default) Semua tabel wawasan kontainer standar Diperlukan untuk mengaktifkan visualisasi wawasan Kontainer default
Performa Perf, InsightsMetrics
Log dan peristiwa ContainerLog atau ContainerLogV2, KubeEvents, KubePodInventory Disarankan jika Anda telah mengaktifkan metrik Prometheus terkelola
Beban Kerja, Penyebaran, dan HPAs InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
Volume Persisten InsightsMetrics, KubePVInventory

Parameter pengumpulan data

Tabel berikut ini menjelaskan pengaturan pengumpulan data yang didukung dan nama yang digunakan untuk masing-masing untuk opsi orientasi yang berbeda.

Nama Deskripsi
Frekuensi pengumpulan
CLI: interval
LENGAN: dataCollectionInterval
Menentukan seberapa sering agen mengumpulkan data. Nilai yang valid adalah 1m - 30m dalam interval 1m Nilai default adalah 1m. Jika nilai berada di luar rentang yang diizinkan, nilai defaultnya adalah 1 m.
Pemfilteran namespace
CLI: namespaceFilteringMode
LENGAN: namespaceFilteringModeForDataCollection
Sertakan: Hanya mengumpulkan data dari nilai di bidang namespace .
Kecualikan: Mengumpulkan data dari semua namespace kecuali untuk nilai di bidang namespace .
Nonaktif: Mengabaikan pilihan namespace layanan apa pun dan mengumpulkan data di semua namespace layanan.
Pemfilteran namespace
CLI: namespaces
LENGAN: namespacesForDataCollection
Array namespace Layanan Kubernetes yang dipisahkan koma untuk mengumpulkan data inventori dan perf berdasarkan namespaceFilteringMode.
Misalnya, namespace = ["kube-system", "default"] dengan pengaturan Sertakan hanya mengumpulkan kedua namespace ini. Dengan pengaturan Kecualikan, agen mengumpulkan data dari semua namespace layanan lain kecuali untuk kube-system dan default. Dengan pengaturan Nonaktif, agen mengumpulkan data dari semua namespace termasuk kube-system dan default. Namespace tidak valid dan tidak dikenal diabaikan.
Mengaktifkan ContainerLogV2
CLI: enableContainerLogV2
LENGAN: enableContainerLogV2
Bendera Boolean untuk mengaktifkan skema ContainerLogV2. Jika diatur ke true, Log stdout/stderr diserap ke tabel ContainerLogV2 . Jika tidak, log kontainer diserap ke tabel ContainerLog , kecuali ditentukan lain dalam ConfigMap. Saat menentukan aliran individual, Anda harus menyertakan tabel yang sesuai untuk ContainerLog atau ContainerLogV2.
Data yang Dikumpulkan
CLI: streams
LENGAN: streams
Array aliran tabel wawasan kontainer. Lihat aliran yang didukung di atas untuk pemetaan tabel.

Tabel dan metrik yang berlaku

Pengaturan untuk frekuensi pengumpulan dan pemfilteran namespace tidak berlaku untuk semua data wawasan Kontainer. Tabel berikut mencantumkan tabel di ruang kerja Analitik Log yang digunakan oleh wawasan Kontainer dan metrik yang dikumpulkannya bersama dengan pengaturan yang berlaku untuk masing-masing.

Catatan

Fitur ini mengonfigurasi pengaturan untuk semua tabel wawasan kontainer kecuali untuk ContainerLog dan ContainerLogV2. Untuk mengonfigurasi pengaturan untuk tabel ini, perbarui ConfigMap yang dijelaskan dalam pengaturan pengumpulan data agen.

Nama tabel Interval? Namespaces? Keterangan
ContainerInventory Ya Ya
ContainerNodeInventory Ya Tidak Pengaturan pengumpulan data untuk namespace tidak berlaku karena Node Kubernetes bukan sumber daya cakupan namespace
KubeNodeInventory Ya Tidak Pengaturan pengumpulan data untuk namespace tidak berlaku Kubernetes Node bukan sumber daya cakupan namespace
KubePodInventory Ya Ya
KubePVInventory Ya Ya
KubeServices Ya Ya
KubeEvents Tidak Ya Pengaturan pengumpulan data untuk interval tidak berlaku untuk Peristiwa Kubernetes
Perf Ya Ya Pengaturan pengumpulan data untuk namespace tidak berlaku untuk metrik terkait Simpul Kubernetes karena Node Kubernetes bukan objek cakupan namespace.
InsightsMetrics Ya Ya Pengaturan pengumpulan data hanya berlaku untuk metrik yang mengumpulkan namespace berikut: container.azm.ms/kubestate, container.azm.ms/pv, dan container.azm.ms/gpu
Namespace metrik Interval? Namespaces? Keterangan
Insights.container/nodes Ya Tidak Simpul bukan sumber daya cakupan namespace
Insights.container/pods Ya Ya
Insights.container/containers Ya Ya
Insights.container/persistentvolumes Ya Ya

Nilai aliran

Saat Anda menentukan tabel yang akan dikumpulkan menggunakan CLI atau ARM, Anda menentukan nama streaming yang sesuai dengan tabel tertentu di ruang kerja Analitik Log. Tabel berikut mencantumkan nama aliran untuk setiap tabel.

Catatan

Jika Anda terbiasa dengan struktur aturan pengumpulan data, nama aliran dalam tabel ini ditentukan di bagian aliran data DCR.

Stream Tabel wawasan kontainer
Microsoft-ContainerInventory ContainerInventory
Microsoft-ContainerLog ContainerLog
Microsoft-ContainerLogV2 ContainerLogV2
Microsoft-ContainerNodeInventory ContainerNodeInventory
Microsoft-InsightsMetrics InsightsMetrics
Microsoft-KubeEvents KubeEvents
Microsoft-KubeMonAgentEvents KubeMonAgentEvents
Microsoft-KubeNodeInventory KubeNodeInventory
Microsoft-KubePodInventory KubePodInventory
Microsoft-KubePVInventory KubePVInventory
Microsoft-KubeServices KubeServices
Microsoft-Perf Perf

Dampak pada visualisasi dan pemberitahuan

Jika saat ini Anda menggunakan tabel di atas untuk pemberitahuan atau bagan kustom lainnya, maka mengubah pengaturan pengumpulan data Anda mungkin menurunkan pengalaman tersebut. Jika Anda mengecualikan namespace layanan atau mengurangi frekuensi pengumpulan data, tinjau pemberitahuan, dasbor, dan buku kerja yang sudah ada menggunakan data ini.

Untuk memindai pemberitahuan yang mereferensikan tabel ini, jalankan kueri Azure Resource Graph berikut ini:

resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "Perf" or properties  contains "InsightsMetrics" or properties  contains "ContainerInventory" or properties  contains "ContainerNodeInventory" or properties  contains "KubeNodeInventory" or properties  contains"KubePodInventory" or properties  contains "KubePVInventory" or properties  contains "KubeServices" or properties  contains "KubeEvents" 
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc

Langkah berikutnya