Solusi Pemantauan Kontainer di Azure Monitor

Simbol kontainer

Artikel ini menjelaskan cara menyiapkan dan menggunakan solusi Pemantauan Kontainer di Azure Monitor, yang membantu Anda melihat dan mengelola host kontainer Docker dan Windows di satu lokasi. Docker adalah sistem virtualisasi perangkat lunak yang digunakan untuk membuat kontainer yang mengotomatiskan penyebaran perangkat lunak ke infrastruktur TI mereka.

Penting

Solusi Pemantauan Kontainer secara bertahap dihentikan penggunaannya. Untuk memantau lingkungan Kubernetes Anda, sebaiknya Anda berpindah menggunakan Wawasan Kontainer Azure Monitor.

Catatan

Artikel ini baru-baru ini diperbarui untuk menggunakan istilah log Azure Monitor alih-alih Analitik Log. Data log masih disimpan di ruang kerja Analitik Log dan masih dikumpulkan dan dianalisis oleh layanan Analitik Log yang sama. Kami memperbarui terminologi untuk mencerminkan peran log di Azure Monitor dengan lebih baik. Lihat Perubahan terminologi Azure Monitor untuk detailnya.

Solusi menunjukkan kontainer mana yang berjalan, gambar kontainer apa yang mereka jalankan, dan di mana kontainer berjalan. Anda dapat melihat informasi audit terperinci yang memperlihatkan perintah yang digunakan dengan kontainer. Anda dapat memecahkan masalah kontainer dengan melihat dan mencari log terpusat tanpa harus melihat host Docker atau Windows dari jarak jauh. Anda dapat menemukan kontainer yang mungkin berisik dan mengonsumsi sumber daya berlebih pada host. Dan, Anda dapat melihat CPU terpusat, memori, penyimpanan, dan informasi penggunaan serta performa jaringan untuk kontainer. Pada komputer yang menjalankan Windows, Anda dapat memusatkan dan membandingkan log dari kontainer Windows Server, Hyper-V, dan Docker. Solusinya mendukung orkestrator kontainer berikut:

  • Docker Swarm
  • DC/OS
  • Service Fabric

Kami merekomendasikan penggunaan wawasan Kontainer Azure Monitor untuk memantau Kubernetes dan Red Hat OpenShift Anda:

Jika Anda memiliki kontainer yang digunakan dalam Azure Service Fabric, kami sarankan untuk mengaktifkan solusi Service Fabric dan solusi ini untuk menyertakan pemantauan peristiwa klaster. Sebelum mengaktifkan solusi Service Fabric, tinjau Menggunakan solusi Service Fabric untuk mengetahui apa yang disediakannya dan cara menggunakannya.

Jika kamu tertarik untuk memantau performa beban kerja yang disebarkan ke lingkungan Kubernetes yang dihosting di Azure Kubernetes Service (AKS), lihat Layanan Monitor Azure Kubernetes. Solusi Pemantauan Kontainer tidak mendukung pemantauan platform tersebut.

Diagram berikut menunjukkan hubungan antara berbagai host kontainer dan agen dengan Azure Monitor.

Diagram yang menunjukkan hubungan antara Azure Monitor dan host serta agen kontainer yang berada di cloud, cloud lain, dan jaringan lokal.

Persyaratan sistem dan platform yang didukung

Sebelum memulai, tinjau detail berikut untuk memverifikasi bahwa Anda memenuhi prasyarat.

Dukungan solusi pemantauan kontainer untuk Docker Orchestrator dan platform OS

Tabel berikut menguraikan orkestrasi Docker dan dukungan pemantauan sistem operasi inventaris kontainer, performa, dan log dengan Azure Monitor.

Orkestrasi Docker ACS Linux Windows Kontainer
Inventaris
Gambar
Inventaris
Node
Inventaris
Kontainer
Performa
Kontainer
Kejadian
Kejadian
Log
Kontainer
Log
Kubernetes
Mesosphere
DC/OS
Docker
Swarm
Layanan
Fabric
Red Hat Open
Shift
Windows Server
(mandiri)
Server Linux
(mandiri)

Versi Docker didukung di Linux

  • Docker 1,11 hingga 1,13
  • Docker CE dan EE v17.06

Distribusi Linux x64 didukung sebagai host kontainer

  • Ubuntu 14.04 LTS dan 16.04 LTS
  • CoreOS(stabil)
  • Amazon Linux 2016.09.0
  • openSUSE 13.2
  • openSUSE LEAP 42.2
  • CentOS 7.2 and 7.3
  • SLES 12
  • RHEL 7.2 dan 7.3
  • Red Hat OpenShift Container Platform (OCP) 3.4 dan 3.5
  • ACS Mesosfer DC/OS 1.7.3 hingga 1.8.8
  • ACS Kubernetes 1.4.5 hingga 1.6
    • Peristiwa Kubernetes, inventaris Kubernetes, dan proses kontainer hanya didukung dengan versi 1.4.1-45 dan yang lebih baru dari agen Log Analytics untuk Linux
  • ACS Docker Swarm

Catatan

Sebagai bagian dari transisi yang sedang berlangsung dari Microsoft Operations Management Suite ke Azure Monitor, Operations Management Suite Agent untuk Windows atau Linux akan disebut sebagai agen Analitik Log untuk Windows dan agen Analitik Log untuk Linux.

Sistem operasi Windows yang didukung

  • Server Windows 2016
  • Edisi Ulang Tahun Windows 10 (Profesional atau Perusahaan)

Versi Docker didukung di Windows

  • Docker 1.12 dan 1.13
  • Docker 17.03.0 dan yang lebih baru

Menginstal dan mengonfigurasi solusi

Gunakan informasi berikut untuk menginstal dan mengonfigurasi solusi.

  1. Tambahkan solusi Pemantauan Kontainer ke ruang kerja Log Analytics Anda dari Marketplace Azure atau dengan menggunakan proses yang dijelaskan dalam Menambahkan solusi pemantauan dari Galeri Solusi.

  2. Instal dan gunakan Docker dengan agen Analitik Log. Berdasarkan sistem operasi dan orkestrator Docker, Anda dapat menggunakan metode berikut untuk mengonfigurasi agen Anda.

    • Untuk host mandiri:
      • Pada sistem operasi Linux yang didukung, instal dan jalankan Docker lalu instal dan konfigurasi agen Log Analytics untuk Linux.
      • Di CoreOS, Anda tidak dapat menjalankan agen Log Analytics untuk Linux. Sebagai alternatif, Anda dapat menjalankan versi kontainer agen Analitik Log untuk Linux. Tinjau host kontainer Linux termasuk host kontainer CoreOS atau Azure Government Linux termasuk CoreOS jika Anda menggunakan kontainer di Azure Government Cloud.
      • Pada Windows Server 2016 dan Windows 10, instal Docker Engine dan klien kemudian sambungkan agen untuk mengumpulkan informasi dan mengirimkannya ke Azure Monitor. Tinjau Menginstal dan mengonfigurasi host kontainer Windows jika Anda memiliki lingkungan Windows.
    • Untuk orkestrasi multi-host Docker:

Tinjau artikel Docker Engine pada Windows untuk informasi tambahan tentang cara menginstal dan mengonfigurasi Mesin Docker Anda pada komputer yang menjalankan Windows.

Penting

Docker harus sudah berjalan sebelum Anda menginstal agen Log Analytics untuk Linux di host kontainer Anda. Jika Anda sudah menginstal agen sebelum menginstal Docker, Anda perlu menginstal ulang agen Analitik Log untuk Linux. Untuk informasi selengkapnya tentang Docker, lihat situs web Docker.

Instal dan konfigurasi host kontainer Linux

Setelah menginstal Docker, gunakan pengaturan berikut untuk host kontainer Anda untuk mengonfigurasi agen untuk digunakan dengan Docker. Pertama, Anda memerlukan ID dan kunci ruang kerja Log Analytics, yang dapat Anda temukan di portal Microsoft Azure. Di ruang kerja Anda, klik Mulai Cepat>Komputer untuk menampilkan ID Ruang Kerja dan Kunci Primer. Salin dan tempel keduanya ke editor favorit Anda.

Untuk semua host kontainer Linux kecuali CoreOS:

Untuk semua host kontainer Linux termasuk CoreOS:

Mulai kontainer yang ingin Anda pantau. Ubah dan gunakan contoh berikut:

sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -h=`hostname` -p 127.0.0.1:25225:25225 --name="omsagent" --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest

Untuk semua host kontainer Azure Government Linux termasuk CoreOS:

Mulai kontainer yang ingin Anda pantau. Ubah dan gunakan contoh berikut:

sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/log:/var/log -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -e DOMAIN="opinsights.azure.us" -p 127.0.0.1:25225:25225 -p 127.0.0.1:25224:25224/udp --name="omsagent" -h=`hostname` --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest

Beralih dari menggunakan agen Linux yang diinstal menjadi satu dalam kontainer

Jika sebelumnya Anda menggunakan agen yang diinstal langsung dan ingin menggunakan agen yang berjalan dalam kontainer, Anda harus terlebih dahulu menghapus agen Log Analytics untuk Linux. Lihat Menghapus instalan agen Log Analytics untuk Linux untuk memahami cara berhasil menghapus instalan agen.

Konfigurasi agen Log Analytics untuk Docker Swarm

Anda dapat menjalankan agen Log Analytics sebagai layanan global di Docker Swarm. Gunakan informasi berikut untuk membuat layanan agen Log Analytics. Anda perlu memberikan ID Ruang Kerja Log Analytics dan Kunci Primer.

  • Jalankan yang berikut pada node master.

    sudo docker service create  --name omsagent --mode global  --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers -e WSID="<WORKSPACE ID>" -e KEY="<PRIMARY KEY>" -p 25225:25225 -p 25224:25224/udp  --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
    
Rahasia aman untuk Docker Swarm

Untuk Docker Swarm, setelah rahasia untuk ID Ruang Kerja dan Kunci Primer dibuat, gunakan informasi berikut untuk membuat informasi rahasia Anda.

  1. Jalankan yang berikut pada node master.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. Verifikasi bahwa rahasia dibuat dengan benar.

    keiko@swarmm-master-13957614-0:/run# sudo docker secret ls
    
    ID                          NAME                CREATED             UPDATED
    j2fj153zxy91j8zbcitnjxjiv   WSID                43 minutes ago      43 minutes ago
    l9rh3n987g9c45zffuxdxetd9   KEY                 38 minutes ago      38 minutes ago
    
  3. Jalankan perintah berikut untuk memasang rahasia ke agen Log Analytics yang telah ditempatkan di kontainer.

    sudo docker service create  --name omsagent --mode global  --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers --secret source=WSID,target=WSID --secret source=KEY,target=KEY  -p 25225:25225 -p 25224:25224/udp --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
    

Konfigurasi agen Log Analytics untuk Red Hat OpenShift

Ada tiga cara untuk menambahkan agen Log Analytics ke Red Hat OpenShift untuk mulai mengumpulkan data pemantauan kontainer.

Di bagian ini kami membahas langkah-langkah yang diperlukan untuk menginstal agen Log Analytics sebagai daemon-set OpenShift.

  1. Masuk ke node master OpenShift dan salin file yaml ocp-omsagent.yaml dari GitHub ke node master Anda dan ubah nilai dengan ID Ruang Kerja Log Analytics Anda dan dengan Kunci Primer Anda.

  2. Jalankan perintah berikut untuk membuat proyek untuk Azure Monitor dan atur akun pengguna.

    oc adm new-project omslogging --node-selector='zone=default'
    oc project omslogging  
    oc create serviceaccount omsagent  
    oc adm policy add-cluster-role-to-user cluster-reader   system:serviceaccount:omslogging:omsagent  
    oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent  
    
  3. Untuk menerapkan daemon-set, jalankan yang berikut:

    oc create -f ocp-omsagent.yaml

  4. Untuk memverifikasi bahwa daemon-set telah dikonfigurasi dan berfungsi dengan benar, ketik sebagai berikut:

    oc describe daemonset omsagent

    dan output harus menyerupai:

    [ocpadmin@khm-0 ~]$ oc describe ds oms  
    Name:           oms  
    Image(s):       mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest  
    Selector:       name=omsagent  
    Node-Selector:  zone=default  
    Labels:         agentVersion=1.4.0-12  
                    dockerProviderVersion=10.0.0-25  
                    name=omsagent  
    Desired Number of Nodes Scheduled: 3  
    Current Number of Nodes Scheduled: 3  
    Number of Nodes Misscheduled: 0  
    Pods Status:    3 Running / 0 Waiting / 0 Succeeded / 0 Failed  
    No events.  
    

Jika Anda ingin menggunakan rahasia untuk mengamankan ID Ruang Kerja Log Analytics dan Kunci Primer saat menggunakan file yaml daemon-set agen Log Analytics, lakukan langkah-langkah berikut.

  1. Masuk ke node master OpenShift dan salin file yaml ocp-ds-omsagent.yaml dan skrip pembangkit rahasia ocp-secretgen.sh dari GitHub. Skrip ini akan menghasilkan file yaml rahasia untuk ID Ruang Kerja Log Analytics dan Kunci Utama untuk mengamankan informasi rahasia Anda.

  2. Jalankan perintah berikut untuk membuat proyek untuk Azure Monitor dan atur akun pengguna. Skrip pembuatan rahasia meminta ID Ruang Kerja Log Analytics dan <WSID> Kunci Primer dan setelah <KEY> selesai, skrip tersebut akan membuat file ocp-secret.yaml.

    oc adm new-project omslogging --node-selector='zone=default'  
    oc project omslogging  
    oc create serviceaccount omsagent  
    oc adm policy add-cluster-role-to-user cluster-reader   system:serviceaccount:omslogging:omsagent  
    oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent  
    
  3. Sebarkan file rahasia dengan menjalankan yang berikut ini:

    oc create -f ocp-secret.yaml

  4. Verifikasi penyebaran dengan menjalankan hal berikut:

    oc describe secret omsagent-secret

    dan output harus menyerupai:

    [ocpadmin@khocp-master-0 ~]$ oc describe secret omsagent-secret  
    Name:           omsagent-secret  
    Namespace:      omslogging  
    Labels:         <none>  
    Annotations:    <none>  
    Type:   Opaque  
    Data  
    ====  
    KEY:    89 bytes  
    WSID:   37 bytes  
    
  5. Terapkan file yaml daemon-set agen Log Analytics dengan menjalankan yang berikut:

    oc create -f ocp-ds-omsagent.yaml

  6. Verifikasi penyebaran dengan menjalankan hal berikut:

    oc describe ds oms

    dan output harus menyerupai:

    [ocpadmin@khocp-master-0 ~]$ oc describe ds oms  
    Name:           oms  
    Image(s):       mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest  
    Selector:       name=omsagent  
    Node-Selector:  zone=default  
    Labels:         agentVersion=1.4.0-12  
                    dockerProviderVersion=10.0.0-25  
                    name=omsagent  
    Desired Number of Nodes Scheduled: 3  
    Current Number of Nodes Scheduled: 3  
    Number of Nodes Misscheduled: 0  
    Pods Status:    3 Running / 0 Waiting / 0 Succeeded / 0 Failed  
    No events.  
    

Mengonfigurasi agen Log Analytics Linux untuk Kubernetes

Untuk Kubernetes, Anda menggunakan skrip untuk membuat berkas rahasia yaml untuk ID Ruang Kerja dan Kunci Primer untuk menginstal agen Log Analytics untuk Linux. Di halaman Log Analytics Docker Kubernetes GitHub, terdapat file yang dapat digunakan dengan atau tanpa informasi rahasia.

  • Agen Log Analytics Default untuk Linux DaemonSet tidak memiliki informasi rahasia (omsagent.yaml)
  • Agen Log Analytics untuk file yaml Linux DaemonSet menggunakan informasi rahasia (omsagent-ds-secrets.yaml) dengan skrip generasi rahasia untuk menghasilkan file rahasia yaml (omsagentsecret.yaml).

Anda dapat memilih untuk membuat omsagent DaemonSets dengan atau tanpa rahasia.

File yaml OMSagent DaemonSet default tanpa rahasia

  • Untuk file yaml agen Log Analytics default DaemonSet, ganti <WSID> dan <KEY> ke WSID dan KEY Anda. Salin file ke node master Anda dan jalankan yang berikut:

    sudo kubectl create -f omsagent.yaml
    

File yaml OMSagent DaemonSet default dengan rahasia

  1. Untuk menggunakan agen Log Analytics DaemonSet menggunakan informasi rahasia, buat rahasia terlebih dahulu.

    1. Salin file templat skrip dan rahasia lalu pastikan untuk menyimpannya di direktori yang sama.

      • Skrip pembangkit rahasia - secret-gen.sh
      • templat rahasia - secret-template.yaml
    2. Jalankan skrip, seperti contoh berikut. Skrip meminta ID Ruang Kerja Log Analytics dan Kunci Primer dan setelah Anda memasukkannya, skrip membuat file yaml rahasia sehingga Anda dapat menjalankannya.

      #> sudo bash ./secret-gen.sh
      
    3. Buat pod secret dengan menjalankan langkah berikut:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. Untuk memverifikasi, lakukan langkah berikut:

      keiko@ubuntu16-13db:~# sudo kubectl get secrets
      

      Output harus menyerupai:

      NAME                  TYPE                                  DATA      AGE
      default-token-gvl91   kubernetes.io/service-account-token   3         50d
      omsagent-secret       Opaque                                2         1d
      
      keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
      

      Output harus menyerupai:

      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Buat daemon-set omsagent Anda dengan menjalankan sudo kubectl create -f omsagent-ds-secrets.yaml

  2. Verifikasi bahwa agen Log Analytics DaemonSet sedang berjalan, serupa dengan yang berikut ini:

    keiko@ubuntu16-13db:~# sudo kubectl get ds omsagent
    
    NAME       DESIRED   CURRENT   NODE-SELECTOR   AGE
    omsagent   3         3         <none>          1h
    

Untuk Kubernetes, kamu menggunakan skrip untuk membuat berkas rahasia yaml untuk ID Ruang Kerja dan Kunci Primer untuk menginstal agen Log Analytics untuk Linux. Gunakan contoh informasi berikut dengan file yaml omsagent untuk mengamankan informasi rahasia Anda.

keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
Name:           omsagent-secret
Namespace:      default
Labels:         <none>
Annotations:    <none>

Type:   Opaque

Data
====
WSID:   36 bytes
KEY:    88 bytes

Konfigurasikan Agen Log Analytics Windows untuk Kubernetes

Untuk Windows Kubernetes, Anda menggunakan skrip untuk membuat berkas rahasia yaml untuk ID Ruang Kerja dan Kunci Primer untuk menginstal agen Log Analytics untuk Linux. Di halaman Log Analytics Docker Kubernetes GitHub, terdapat file yang dapat digunakan dengan informasi rahasia Anda. Anda perlu menginstal agen Log Analytics secara terpisah untuk node master dan agen.

  1. Untuk menggunakan agen Log Analytics DaemonSet menggunakan informasi rahasia pada node Master, masuk dan buat rahasia terlebih dahulu.

    1. Salin file templat skrip dan rahasia lalu pastikan untuk menyimpannya di direktori yang sama.

      • Skrip pembangkit rahasia - secret-gen.sh
      • templat rahasia - secret-template.yaml
    2. Jalankan skrip, seperti contoh berikut. Skrip meminta ID Ruang Kerja Log Analytics dan Kunci Primer dan setelah Anda memasukkannya, skrip membuat file yaml rahasia sehingga Anda dapat menjalankannya.

      #> sudo bash ./secret-gen.sh
      
    3. Buat daemon-set omsagent Anda dengan menjalankan kubectl create -f omsagentsecret.yaml

    4. Untuk memeriksanya, lakukan langkah berikut:

      root@ubuntu16-13db:~# kubectl get secrets
      

      Output harus menyerupai:

      NAME                  TYPE                                  DATA      AGE
      default-token-gvl91   kubernetes.io/service-account-token   3         50d
      omsagent-secret       Opaque                                2         1d
      root@ubuntu16-13db:~# kubectl describe secrets omsagent-secret
      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Buat daemon-set omsagent Anda dengan menjalankan kubectl create -f ws-omsagent-de-secrets.yaml

  2. Verifikasi bahwa agen Log Analytics DaemonSet sedang berjalan, serupa dengan yang berikut ini:

    root@ubuntu16-13db:~# kubectl get deployment omsagent
    NAME       DESIRED   CURRENT   NODE-SELECTOR   AGE
    omsagent   1         1         <none>          1h
    
  3. Untuk menginstal agen pada Node Pekerja, yang menjalankan Windows, ikuti langkah-langkah di bagian menginstal dan mengkonfigurasi host kontainer Windows.

Gunakan Helm untuk menyebarkan agen Log Analytics di Linux Kubernetes

Untuk menggunakan helm untuk menyebarkan agen Log Analytics di lingkungan Linux Kubernetes, lakukan langkah-langkah berikut.

  1. Buat daemon-set omsagent Anda dengan menjalankan helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms

  2. Kueri ini akan terlihat serupa dengan kueri berikut:

    NAME:   omsagent
    LAST DEPLOYED: Tue Sep 19 20:37:46 2017
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/Secret
    NAME            TYPE    DATA  AGE
    omsagent-msoms  Opaque  3     3s
    
    ==> v1beta1/DaemonSet
    NAME            DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE-SELECTOR  AGE
    omsagent-msoms  3        3        3      3           3          <none>         3s
    
  3. Anda dapat memeriksa status omsagent dengan menjalankan: dan helm status "omsagent" output akan terlihat serupa dengan yang berikut:

    keiko@k8s-master-3814F33-0:~$ helm status omsagent
    LAST DEPLOYED: Tue Sep 19 20:37:46 2017
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/Secret
    NAME            TYPE    DATA  AGE
    omsagent-msoms  Opaque  3     17m
    
    ==> v1beta1/DaemonSet
    NAME            DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE-SELECTOR  AGE
    omsagent-msoms  3        3        3      3           3          <none>         17m
    

    Untuk informasi lebih lanjut, silakan kunjungi Container Solution Helm Chart.

Instal dan konfigurasi host kontainer Windows

Gunakan informasi di bagian untuk menginstal dan mengonfigurasi host kontainer Windows.

Persiapan sebelum menginstal agen Windows

Sebelum menginstal agen pada komputer yang menjalankan Windows, Anda perlu mengonfigurasi layanan Docker. Konfigurasi ini memungkinkan agen Windows atau ekstensi mesin virtual Azure Monitor untuk menggunakan soket Docker TCP sehingga agen dapat mengakses daemon Docker dari jarak jauh dan mengambil data untuk pemantauan.

Untuk mengonfigurasi layanan Docker

Lakukan perintah PowerShell berikut untuk mengaktifkan pipa TCP dan pipa bernama untuk Windows Server:

Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375  
Start-Service docker

Untuk informasi selengkapnya tentang konfigurasi daemon Docker yang digunakan dengan Windows Container, lihat Docker Engine di Windows.

Instal agen Windows

Untuk mengaktifkan pemantauan kontainer Windows dan Hyper-V, instal Microsoft Monitoring Agent (MMA) pada komputer Windows yang merupakan host kontainer. Untuk komputer yang menjalankan Windows di lingkungan lokal Anda, lihat Menyambungkan komputer Windows ke Azure Monitor. Untuk mesin virtual yang berjalan di Azure, sambungkan ke Azure Monitor menggunakan ekstensi mesin virtual.

Anda dapat memantau kontainer Windows yang berjalan pada Service Fabric. Namun, hanya mesin virtual yang berjalan di Azure dan komputer yang menjalankan Windows di lingkungan lokal Anda yang saat ini didukung untuk Service Fabric.

Anda bisa memverifikasi bahwa solusi Pemantauan Kontainer telah diatur dengan benar untuk Windows. Untuk memeriksa apakah paket manajemen diunduh dengan benar, cari ContainerManagement.xxx. File harus berada di folder C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs.

Komponen solusi

Dari portal Microsoft Azure, navigasi ke Galeri Solusi dan tambahkan Solusi Pemantauan Kontainer. Jika Anda menggunakan agen Windows, maka paket manajemen berikut diinstal di setiap komputer dengan agen saat Anda menambahkan solusi ini. Tidak diperlukan konfigurasi atau pemeliharaan untuk paket manajemen.

  • ContainerManagement.xxx diinstal di C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Packs

Detail pengumpulan data kontainer

Solusi Pemantauan Kontainer mengumpulkan berbagai metrik kinerja dan data log dari host kontainer dan kontainer menggunakan agen yang Anda aktifkan.

Data dikumpulkan setiap tiga menit berdasarkan jenis agen berikut.

Rekaman kontainer

Tabel berikut ini memperlihatkan contoh rekaman yang dikumpulkan oleh solusi Pemantauan Kontainer dan jenis data yang muncul dalam hasil pencarian log.

Jenis data Jenis data dalam Pencarian Log Bidang
Performa untuk host dan kontainer Perf Komputer, ObjectName, CounterName (%Waktu Prosesor, MB Pembacaan Disk, MB Penulisan Disk, MB Penggunaan Memori, Byte Penerimaan Jaringan, Byte Pengiriman Jaringan, detik Penggunaan Prosesor, Jaringan), CounterValue, TimeGenerated, CounterPath, SourceSystem
Inventaris kontainer ContainerInventory TimeGenerated, Computer, container name, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID
Inventaris gambar kontainer ContainerImageInventory TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Running, Paused, Stopped, Failed, SourceSystem, ImageID, TotalContainer
Log kontainer ContainerLog TimeGenerated, Computer, image ID, container name, LogEntrySource, LogEntry, SourceSystem, ContainerID
Log layanan kontainer ContainerServiceLog TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID
Inventaris node kontainer ContainerNodeInventory_CL TimeGenerated, Komputer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem
Inventaris Kubernetes KubePodInventory_CL TimeGenerated, Computer, PodLabel_deployment_s, PodLabel_deploymentconfig_s, PodLabel_docker_registry_s, Name_s, Namespace_s, PodStatus_s, PodIp_s, PodUid_g, PodCreationTimeStamp_t, SourceSystem
Proses kontainer ContainerProcess_CL TimeGenerated, Computer, Pod_s, Namespace_s, ClassName_s, InstanceID_s, Uid_s, PID_s, PPID_s, C_s, STIME_s, Tty_s, TIME_s, Cmd_s, Id_s, Name_s, SourceSystem
Peristiwa Kubernetes KubeEvents_CL TimeGenerated, Computer, Name_s, ObjectKind_s, Namespace_s, Reason_s, Type_s, SourceComponent_s, SourceSystem, Message

Label yang ditambahkan ke jenis data PodLabel adalah label kustom Anda sendiri. Label PodLabel yang ditambahkan yang ditunjukkan dalam tabel adalah contoh. Jadi, PodLabel_deployment_s, PodLabel_deploymentconfig_s, PodLabel_docker_registry_s akan berbeda dalam kumpulan data lingkungan Anda dan menyerupai PodLabel_yourlabel_s.

Pantau kontainer

Setelah Anda mengaktifkan solusi di portal Microsoft Azure, petak Kontainer menampilkan informasi ringkasan tentang host kontainer Anda dan kontainer yang berjalan di host.

Cuplikan layar yang menampilkan petak peta Kontainer, yang mencakup diagram pai yang menampilkan informasi rangkuman tentang kontainer.

Petak memperlihatkan gambaran umum tentang berapa banyak kontainer yang Anda miliki di lingkungan itu dan apakah kontainer tersebut gagal, sedang berjalan, atau dihentikan.

Menggunakan dasbor Kontainer

Klik petak Kontainer. Anda akan melihat tampilan yang diatur oleh:

  • Peristiwa Kontainer - Menampilkan status kontainer dan komputer dengan kontainer yang gagal.
  • Log Kontainer - Menampilkan bagan file log kontainer yang dihasilkan dari waktu ke waktu dan daftar komputer dengan jumlah file log tertinggi.
  • Peristiwa Kubernetes - Menampilkan bagan peristiwa Kubernetes yang dihasilkan dari waktu ke waktu dan daftar alasan Pod menghasilkan peristiwa tersebut. Himpunan data ini hanya digunakan di lingkungan Linux.
  • Inventaris Namespace Kubernetes - Menampilkan jumlah namespace dan pod dan menunjukkan hierarkinya. Himpunan data ini hanya digunakan di lingkungan Linux.
  • Container Node Inventory - Menunjukkan jumlah jenis orkestrasi yang digunakan pada node/host kontainer. Node/host komputer juga dicantumkan berdasarkan jumlah kontainer. Himpunan data ini hanya digunakan di lingkungan Linux.
  • Container Images Inventory - Menunjukkan jumlah total gambar kontainer yang digunakan dan jumlah jenis gambar. Jumlah gambar juga dicantumkan dengan tag gambar.
  • Status Kontainer - Menunjukkan jumlah total node kontainer/komputer host yang memiliki kontainer yang berjalan. Komputer juga dicantumkan berdasarkan jumlah host yang sedang berjalan.
  • Proses Kontainer - Menampilkan bagan garis proses kontainer yang berjalan dari waktu ke waktu. Kontainer juga dicantumkan dengan menjalankan perintah/proses dalam kontainer. Himpunan data ini hanya digunakan di lingkungan Linux.
  • Performa CPU Kontainer - Menampilkan bagan garis utilisasi CPU rata-rata dari waktu ke waktu untuk node/host komputer. Juga mencantumkan node/host komputer berdasarkan pemanfaatan CPU rata-rata.
  • Performa Memori Kontainer - Menampilkan bagan garis penggunaan memori dari waktu ke waktu. Juga mencantumkan pemanfaatan memori komputer berdasarkan nama instans.
  • Performa Komputer - Menampilkan grafik garis dari persentase performa CPU dari waktu ke waktu, persentase penggunaan memori dari waktu ke waktu, dan megabita ruang disk kosong dari waktu ke waktu. Anda bisa mengarahkan mouse ke atas garis mana pun di bagan untuk melihat detail selengkapnya.

Setiap area dasbor adalah representasi visual dari pencarian yang dijalankan pada data yang dikumpulkan.

Cuplikan layar yang memperlihatkan dasbor untuk menampilkan data yang dikumpulkan.

Cuplikan layar yang menampilkan dasbor untuk menampilkan data yang dikumpulkan, yang mencakup inventaris status, proses, performa, dan gambar kontainer.

Di area Status Kontainer, klik area atas, seperti yang diperlihatkan di bawah ini.

Cuplikan layar yang menampilkan area Status Kontainer dari dasbor Kontainer, yang mencakup diagram pai yang menampilkan informasi status.

Log Analytics terbuka, menampilkan informasi tentang status kontainer Anda.

Cuplikan layar yang menampilkan Analitik Log dengan kueri untuk status kontainer dan hasil pencarian.

Anda bisa mengedit kueri pencarian untuk memodifikasinya untuk menemukan informasi spesifik yang Anda minati. Untuk informasi selengkapnya tentang kueri log, lihat Kueri log di Azure Monitor.

Pecahkan masalah dengan menemukan kontainer yang gagal

Log Analytics menandai kontainer sebagai Gagal jika telah keluar dengan kode keluar bukan nol. Anda dapat melihat gambaran umum kesalahan dan kegagalan di lingkungan di area Kontainer Gagal.

Untuk menemukan kontainer yang gagal

  1. Klik area Status Kontainer.
    Cuplikan layar yang menampilkan area Status Kontainer dari dasbor Kontainer, yang mencakup diagram pai yang menampilkan informasi status kontainer.
  2. Log Analytics membuka dan menampilkan status kontainer Anda, mirip dengan yang berikut ini.
    Cuplikan layar yang menampilkan Analitik Log dengan kueri untuk status kontainer dan hasil pencarian.
  3. Perluas baris Gagal dan klik + untuk menambahkan kriterianya ke kueri. Lalu komentari baris Ringkas dalam kueri. Cuplikan layar yang menampilkan garis yang harus diberi komentar.
  4. Jalankan kueri lalu perluas garis dalam hasil untuk menampilkan ID gambar.
    Cuplikan layar yang memperlihatkan cara menampilkan ID gambar.
  5. Ketik yang berikut ini dalam kueri log. ContainerImageInventory | where ImageID == <ImageID> untuk melihat detail tentang gambar seperti ukuran gambar dan jumlah gambar yang dihentikan dan gagal.
    Cuplikan layar yang menampilkan Analitik Log dengan kueri untuk gambar kontainer dan detail tentang gambar tersebut.

Log kueri untuk data kontainer

Saat Anda memecahkan masalah untuk kesalahan tertentu, log kueri dapat membantu menemukan letak kesalahan yang terjadi di lingkungan Anda. Jenis log berikut ini akan membantu Anda membuat kueri untuk mengembalikan informasi yang Anda inginkan.

  • ContainerImageInventory - Gunakan jenis ini saat Anda mencoba menemukan informasi yang diatur menurut gambar dan melihat informasi gambar seperti ID gambar atau ukuran.
  • ContainerInventory - Gunakan jenis ini ketika Anda menginginkan informasi tentang lokasi kontainer, apa nama mereka, dan gambar apa yang mereka jalankan.
  • ContainerLog - Gunakan jenis ini ketika Anda ingin menemukan informasi dan entri log kesalahan tertentu.
  • ContainerNodeInventory_CL Gunakan jenis ini jika Anda menginginkan informasi tentang host/node tempat kontainer berada. Jenis ini memberi Anda versi Docker, jenis orkestrasi, penyimpanan, dan informasi jaringan.
  • ContainerProcess_CL Gunakan jenis ini untuk melihat proses berjalan dalam kontainer dengan cepat.
  • ContainerServiceLog - Gunakan jenis ini saat Anda mencoba menemukan informasi jejak audit untuk daemon Docker, seperti perintah mulai, berhenti, hapus, atau tarik.
  • KubeEvents_CL Gunakan jenis ini untuk melihat peristiwa Kubernetes.
  • KubePodInventory_CL Gunakan jenis ini jika Anda ingin memahami informasi hierarki kluster.

Log kueri untuk data kontainer

  • Pilih gambar yang menurut Anda telah gagal baru-baru ini dan temukan log kesalahan untuk itu. Mulailah dengan menemukan nama kontainer yang menjalankan gambar tersebut dengan pencarian ContainerInventory. Misalnya, cari ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
    Cuplikan layar yang menampilkan pencarian untuk kontainer Ubuntu yang gagal dan hasil pencarian.

    Perluas baris mana pun dalam hasil untuk melihat detail untuk kontainer tersebut.

Kueri log sampel

Seringkali berguna untuk membuat kueri yang dimulai dengan satu atau dua contoh dan kemudian memodifikasinya agar sesuai dengan lingkungan Anda. Sebagai titik awal, Anda dapat bereksperimen dengan area KUERI SAMPEL di ujung kanan halaman solusi, untuk membantu Anda membuat kueri yang lebih canggih.

Cuplikan layar yang menampilkan area Kueri Sampel dengan kueri log contoh.

Kueri log simpan

Kueri simpan adalah fitur standar di Azure Monitor. Dengan menyimpannya, Anda akan memilikinya yang menurut Anda berguna untuk digunakan di masa mendatang.

Setelah Anda membuat kueri yang menurut Anda berguna, simpan dengan mengklik Favorit di bagian atas halaman Pencarian Log. Kemudian Anda dapat dengan mudah mengaksesnya nanti dari halaman Dasbor Saya.

Menghapus solusi dari ruang kerja Anda

Untuk menghapus Solusi Pemantauan Kontainer, ikuti petunjuk untuk menghapus solusi menggunakan salah satu dari berikut ini: portal Azure, PowerShell, atau Azure CLI

Langkah berikutnya

Log kueri untuk menampilkan rekaman data kontainer mendetail.