Mengelola agen wawasan Kontainer

Container Insights menggunakan versi kontainer agen Analitik Log untuk Linux. Setelah penyebaran awal, Anda mungkin perlu melakukan tugas rutin atau opsional selama siklus hidupnya. Artikel ini menjelaskan cara meningkatkan agen secara manual dan menonaktifkan pengumpulan variabel lingkungan dari kontainer tertentu.

Catatan

Jika Anda telah menyebarkan kluster AKS dan mengaktifkan pemantauan dengan menggunakan Azure CLI atau templat Resource Manager, Anda tidak dapat menggunakan kubectl untuk meningkatkan, menghapus, menyebarkan ulang, atau menyebarkan agen. Templat perlu digunakan dalam grup sumber daya yang sama dengan klaster.

Meningkatkan agen wawasan Kontainer

Container Insights menggunakan versi kontainer agen Analitik Log untuk Linux. Ketika versi baru agen dirilis, agen secara otomatis ditingkatkan pada kluster Kubernetes terkelola yang dihosting di Azure Kubernetes Service (AKS) dan Kubernetes dengan dukungan Azure Arc.

Jika peningkatan versi agen gagal untuk kluster yang dihosting di AKS, artikel ini juga menjelaskan proses untuk meningkatkan versi agen secara manual. Untuk mengikuti versi yang dirilis, lihat Pengumuman rilis agen.

Meningkatkan agen pada kluster AKS

Proses untuk meningkatkan agen pada kluster AKS terdiri dari dua langkah. Langkah pertama adalah menonaktifkan pemantauan dengan wawasan Kontainer dengan menggunakan Azure CLI. Ikuti langkah-langkah yang dijelaskan dalam artikel Menonaktifkan wawasan Kontainer pada kluster Kubernetes Anda. Dengan menggunakan Azure CLI, Anda dapat menghapus agen dari simpul di kluster tanpa memengaruhi solusi dan data terkait yang disimpan di ruang kerja.

Catatan

Saat Anda melakukan aktivitas pemeliharaan ini, simpul dalam kluster tidak meneruskan data yang dikumpulkan. Tampilan performa tidak akan menampilkan data antara waktu Anda menghapus agen dan menginstal versi baru.

Langkah kedua adalah menginstal versi baru agen. Ikuti langkah-langkah yang dijelaskan dalam Mengaktifkan pemantauan dengan menggunakan Azure CLI untuk menyelesaikan proses ini.

Setelah Anda mengaktifkan kembali pemantauan, mungkin perlu waktu sekitar 15 menit sebelum Anda dapat melihat metrik kesehatan yang diperbarui untuk kluster. Anda memiliki dua metode untuk memverifikasi bahwa agen berhasil dimutakhirkan:

  • Jalankan perintah kubectl get pod <ama-logs-agent-pod-name> -n kube-system -o=jsonpath='{.spec.containers[0].image}'. Dalam status yang dikembalikan, perhatikan nilai di bawah Gambar untuk Agen Azure Monitor di bagian Kontainer output.
  • Pada tab Node , pilih node kluster. Pada panel Properti di sebelah kanan, perhatikan nilai di bawah Tag Gambar Agen.

Versi agen yang ditampilkan harus cocok dengan versi terbaru yang tercantum di halaman Riwayat rilis.

Meningkatkan agen pada kluster Kubernetes hibrid

Lakukan langkah-langkah berikut untuk meningkatkan agen pada kluster Kubernetes yang berjalan pada:

  • Kluster Kubernetes yang dikelola sendiri yang dihosting di Azure dengan menggunakan mesin AKS.
  • Kluster Kubernetes yang dikelola sendiri yang dihosting di Azure Stack atau lokal dengan menggunakan mesin AKS.

Jika ruang kerja Log Analytics berada di Azure komersial, jalankan perintah berikut:

$ helm upgrade --set omsagent.secret.wsid=<your_workspace_id>,omsagent.secret.key=<your_workspace_key>,omsagent.env.clusterName=<my_prod_cluster> incubator/azuremonitor-containers

Jika ruang kerja Analitik Log berada di Microsoft Azure yang dioperasikan oleh 21Vianet, jalankan perintah berikut:

$ helm upgrade --set omsagent.domain=opinsights.azure.cn,omsagent.secret.wsid=<your_workspace_id>,omsagent.secret.key=<your_workspace_key>,omsagent.env.clusterName=<your_cluster_name> incubator/azuremonitor-containers

Jika ruang kerja Analitik Log berada di Azure Pemerintah AS, jalankan perintah berikut:

$ helm upgrade --set omsagent.domain=opinsights.azure.us,omsagent.secret.wsid=<your_workspace_id>,omsagent.secret.key=<your_workspace_key>,omsagent.env.clusterName=<your_cluster_name> incubator/azuremonitor-containers

Menonaktifkan pengumpulan variabel lingkungan pada kontainer

Container Insights mengumpulkan variabel lingkungan dari kontainer yang berjalan dalam pod dan menyajikannya di panel properti kontainer yang dipilih dalam tampilan Kontainer . Anda dapat mengontrol perilaku ini dengan menonaktifkan koleksi untuk kontainer tertentu baik selama penyebaran kluster Kubernetes atau setelahnya dengan mengatur variabel AZMON_COLLECT_ENVlingkungan . Fitur ini tersedia dari versi agen ciprod11292018 dan yang lebih tinggi.

Untuk menonaktifkan pengumpulan variabel lingkungan pada kontainer baru atau yang sudah ada, atur variabel AZMON_COLLECT_ENV dengan nilai False dalam file konfigurasi YAML penyebaran Kube Anda.

- name: AZMON_COLLECT_ENV  
  value: "False"  

Jalankan perintah berikut untuk menerapkan perubahan pada kluster Kubernetes selain Azure Red Hat OpenShift: kubectl apply -f <path to yaml file>. Untuk mengedit ConfigMap dan menerapkan perubahan ini untuk kluster Azure Red Hat OpenShift, jalankan perintah berikut:

oc edit configmaps container-azm-ms-agentconfig -n openshift-azure-logging

Perintah ini membuka editor teks default Anda. Setelah Anda mengatur variabel, simpan file di editor.

Untuk memverifikasi perubahan konfigurasi berlaku, pilih kontainer dalam tampilan Kontainer di Wawasan kontainer. Di panel properti, perluas Variabel Lingkungan. Bagian hanya boleh menampilkan variabel yang dibuat sebelumnya, yaitu AZMON_COLLECT_ENV=FALSE. Untuk semua kontainer lainnya, bagian Variabel Lingkungan harus mencantumkan semua variabel lingkungan yang ditemukan.

Untuk mengaktifkan kembali penemuan variabel lingkungan, terapkan proses yang sama dengan yang Anda gunakan sebelumnya dan ubah nilai dari False ke True. Kemudian jalankan kubectl ulang perintah untuk memperbarui kontainer.

- name: AZMON_COLLECT_ENV  
  value: "True"  

Pembaruan versi semantik versi agen wawasan kontainer

Container Insights telah menggeser versi gambar dan konvensi penamaan ke [format semver] (https://semver.org/). SemVer membantu pengembang melacak setiap perubahan yang dilakukan pada perangkat lunak selama fase pengembangannya dan memastikan bahwa penerapan versi perangkat lunak konsisten dan bermakna. Versi lama dalam format ciprod<timestamp-commitId<>> dan win-ciprod<timestamp-commitId<>>, versi gambar pertama kami menggunakan format Semver adalah 3.1.4 untuk Linux dan win-3.1.4 untuk Windows.

Semver adalah skema penerapan versi perangkat lunak universal yang ditentukan dalam format MAJOR. KECIL. PATCH, yang mengikuti batasan berikut:

  1. Menaikkan versi MAJOR saat Anda membuat perubahan API yang tidak kompatibel.
  2. Tambahkan versi MINOR saat Anda menambahkan fungsionalitas dengan cara yang kompatibel mundur.
  3. Menaikkan versi PATCH saat Anda membuat perbaikan bug yang kompatibel dengan mundur.

Dengan munculnya Kubernetes dan ekosistem OSS, Container Insights bermigrasi untuk menggunakan gambar semver mengikuti standar yang direkomendasikan K8s di mana dengan setiap versi minor diperkenalkan, semua perubahan yang melanggar diperlukan untuk didokumentasikan secara publik dengan setiap rilis Kubernetes baru.

Memperbaiki agen duplikat

Jika Anda mengaktifkan Container Insights secara manual menggunakan metode kustom sebelum Oktober 2022, Anda dapat berakhir dengan beberapa versi agen yang berjalan bersama-sama. Ikuti langkah-langkah di bawah ini untuk menghapus duplikasi ini.

  1. Kumpulkan detail pengaturan kustom apa pun, seperti batas memori dan CPU pada kontainer omsagent Anda.

  2. Tinjau batas sumber daya default untuk ama-log dan tentukan apakah batas sumber daya tersebut memenuhi kebutuhan Anda. Jika tidak, Anda mungkin perlu membuat topik dukungan untuk membantu menyelidiki dan mengaktifkan batas memori/cpu. Ini dapat membantu mengatasi masalah keterbatasan skala yang ditemui beberapa pelanggan sebelumnya yang mengakibatkan pengecualian OOMKilled.

    OS Nama Pengontrol Batas Default
    Linux ds-cpu-limit-linux 500m
    Linux ds-memory-limit-linux 750Mi
    Linux rs-cpu-limit 1
    Linux rs-memory-limit 1.5Gi
    Jendela ds-cpu-limit-windows 500m
    Jendela ds-memory-limit-windows 1Gi
  3. Bersihkan sumber daya dari onboarding sebelumnya:

    Jika sebelumnya Anda melakukan onboarding menggunakan bagan helm :

    Cantumkan semua rilis di seluruh namespace layanan dengan perintah berikut:

     helm list --all-namespaces
    

    Bersihkan bagan yang diinstal untuk wawasan Kontainer dengan perintah berikut:

    helm uninstall <releaseName> --namespace <Namespace>
    

    Jika sebelumnya Anda melakukan onboarding menggunakan penyebaran yaml :

    Unduh file yaml penyebaran kustom sebelumnya dengan perintah berikut:

    curl -LO raw.githubusercontent.com/microsoft/Docker-Provider/ci_dev/kubernetes/omsagent.yaml
    

    Bersihkan bagan omsagent lama dengan perintah berikut:

    kubectl delete -f omsagent.yaml
    
  4. Nonaktifkan wawasan Kontainer untuk membersihkan semua sumber daya terkait menggunakan panduan di Menonaktifkan wawasan Kontainer pada kluster Kubernetes Anda

  5. Onboard ulang ke wawasan Kontainer menggunakan panduan di Mengaktifkan wawasan Kontainer pada kluster Kubernetes Anda

Langkah berikutnya

Jika Anda mengalami masalah saat meningkatkan agen, tinjau panduan pemecahan masalah untuk mendapatkan dukungan.