Řešení monitorování kontejnerů ve službě Azure Monitor

Symbol kontejnerů

Tento článek popisuje, jak nastavit a používat řešení monitorování kontejnerů ve službě Azure Monitor, které vám pomůže zobrazit a spravovat hostitele kontejnerů Dockeru a Windows na jednom místě. Docker je systém virtualizace softwaru, který slouží k vytváření kontejnerů, které automatizují nasazování softwaru do infrastruktury IT.

Důležité

Řešení monitorování kontejnerů se postupně ukončuje. Pokud chcete monitorovat prostředí Kubernetes, doporučujeme přejít na Přehledy kontejnerů služby Azure Monitor.

Poznámka

Tento článek byl nedávno aktualizován tak, aby místo Log Analytics používal termín protokoly Azure Monitoru. Data protokolu jsou stále uložená v pracovním prostoru služby Log Analytics a stále je shromažďuje a analyzuje stejná služba Log Analytics. Aktualizujeme terminologii tak, aby lépe odrážela roli protokolů ve službě Azure Monitor. Podrobnosti najdete v tématu Změny terminologie služby Azure Monitor .

Řešení ukazuje, které kontejnery jsou spuštěné, jakou image kontejneru jsou spuštěné a kde kontejnery běží. Můžete zobrazit podrobné informace o auditu zobrazující příkazy používané s kontejnery. A můžete řešit potíže s kontejnery zobrazením a prohledáváním centralizovaných protokolů, aniž byste museli vzdáleně zobrazovat hostitele Dockeru nebo Windows. Můžete najít kontejnery, které můžou být hlučné a spotřebovávají nadbytečné prostředky na hostiteli. Můžete také zobrazit centralizované informace o využití procesoru, paměti, úložišti a síti a výkonu kontejnerů. Na počítačích s Windows můžete centralizovat a porovnávat protokoly z kontejnerů Windows Serveru, Hyper-V a Dockeru. Řešení podporuje následující orchestrátory kontejnerů:

  • Docker Swarm
  • DC/OS
  • Service Fabric

K monitorování Kubernetes a Red Hat OpenShiftu doporučujeme použít přehledy kontejnerů Azure Monitoru:

Pokud máte kontejnery nasazené v Azure Service Fabric, doporučujeme povolit řešení Service Fabric i toto řešení tak, aby zahrnovalo monitorování událostí clusteru. Než povolíte řešení Service Fabric, přečtěte si téma Používání řešení Service Fabric , kde se dozvíte, co poskytuje a jak ho používat.

Pokud vás zajímá monitorování výkonu úloh nasazených do prostředí Kubernetes hostovaných v Azure Kubernetes Service (AKS), přečtěte si téma Monitorování Azure Kubernetes Service. Řešení monitorování kontejnerů nepodporuje monitorování této platformy.

Následující diagram znázorňuje vztahy mezi různými hostiteli kontejnerů a agenty se službou Azure Monitor.

Diagram znázorňující vztahy mezi službou Azure Monitor a hostiteli a agenty kontejnerů umístěnými v cloudu Azure, jiných cloudech a místní síti

Požadavky na systém a podporované platformy

Než začnete, projděte si následující podrobnosti a ověřte, že splňujete požadavky.

Podpora řešení monitorování kontejnerů pro docker Orchestrator a platformu operačního systému

Následující tabulka popisuje podporu orchestrace a monitorování operačního systému Dockeru pro inventář kontejnerů, výkon a protokoly pomocí služby Azure Monitor.

Orchestrace Dockeru ACS Linux Windows Kontejner
inventář
Image
inventář
Uzel
inventář
Kontejner
Výkon
Kontejner
Událost
Událost
Protokol
Kontejner
Protokol
Kubernetes
Mesosphere
DC/OS
Docker
Roj
Služba
Fabric
Red Hat Open
Shift
Windows Server
(samostatně)
Linux Server
(samostatně)

Podporované verze Dockeru v Linuxu

  • Docker 1.11 až 1.13
  • Docker CE a EE v17.06

Linuxové distribuce x64 podporované jako hostitelé kontejnerů

  • Ubuntu 14.04 LTS a 16.04 LTS
  • CoreOS (stabilní)
  • Amazon Linux 2016.09.0
  • openSUSE 13.2
  • openSUSE LEAP 42.2
  • CentOS 7.2 a 7.3
  • SLES 12
  • RHEL 7.2 a 7.3
  • Red Hat OpenShift Container Platform (OCP) 3.4 a 3.5
  • ACS Mesosphere DC/OS 1.7.3 až 1.8.8
  • ACS Kubernetes 1.4.5 až 1.6
    • Události Kubernetes, inventář Kubernetes a procesy kontejnerů se podporují jenom s agentem Log Analytics pro Linux verze 1.4.1-45 a novější.
  • ACS Docker Swarm

Poznámka

V rámci průběžného přechodu ze sady Microsoft Operations Management Suite na Azure Monitor se Agent sady Operations Management Suite pro Windows nebo Linux bude označovat jako agent Log Analytics pro Windows, resp. agent Log Analytics pro Linux.

Podporovaný operační systém Windows

  • Windows Server 2016
  • Windows 10 Anniversary Edition (Professional nebo Enterprise)

Verze Dockeru podporované ve Windows

  • Docker 1.12 a 1.13
  • Docker 17.03.0 a novější

Instalace a konfigurace řešení

K instalaci a konfiguraci řešení můžete použít následující informace.

  1. Přidejte řešení monitorování kontejnerů do pracovního prostoru služby Log Analytics z Azure Marketplace nebo pomocí postupu popsaného v tématu Přidání řešení monitorování z galerie řešení.

  2. Nainstalujte a používejte Docker s agentem Log Analytics. Na základě operačního systému a orchestrátoru Dockeru můžete ke konfiguraci agenta použít následující metody.

Další informace o instalaci a konfiguraci modulů Dockeru na počítačích s Windows najdete v článku Modul Dockeru ve Windows .

Důležité

Před instalací agenta Log Analytics pro Linux na hostitele kontejneru musí být Docker spuštěný. Pokud jste už agenta nainstalovali před instalací Dockeru, musíte přeinstalovat agenta Log Analytics pro Linux. Další informace o Dockeru najdete na webu Dockeru.

Instalace a konfigurace hostitelů kontejnerů s Linuxem

Po instalaci Dockeru pomocí následujících nastavení pro hostitele kontejneru nakonfigurujte agenta pro použití s Dockerem. Nejprve potřebujete ID a klíč pracovního prostoru služby Log Analytics, které najdete v Azure Portal. V pracovním prostoru klikněte naPočítačes rychlým startem> a zobrazte ID pracovního prostoru a primární klíč. Obě hodnoty zkopírujte a vložte do oblíbeného editoru.

Pro všechny hostitele kontejnerů s Linuxem kromě CoreOS:

Pro všechny hostitele kontejnerů s Linuxem, včetně CoreOS:

Spusťte kontejner, který chcete monitorovat. Upravte a použijte následující příklad:

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

Pro všechny hostitele kontejnerů Azure Government Linuxu, včetně CoreOS:

Spusťte kontejner, který chcete monitorovat. Upravte a použijte následující příklad:

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

Přechod z použití nainstalovaného agenta pro Linux na agenta v kontejneru

Pokud jste dříve používali přímo nainstalovaného agenta a chcete místo toho použít agenta spuštěného v kontejneru, musíte nejprve odebrat agenta Log Analytics pro Linux. Informace o tom, jak agenta úspěšně odinstalovat, najdete v tématu Odinstalace agenta Log Analytics pro Linux .

Konfigurace agenta Log Analytics pro Docker Swarm

Agenta Log Analytics můžete spustit jako globální službu v DockerU Swarm. Následující informace použijte k vytvoření služby agenta Log Analytics. Musíte zadat ID pracovního prostoru služby Log Analytics a primární klíč.

  • Na hlavním uzlu spusťte následující příkaz.

    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
    
Zabezpečení tajných kódů pro Docker Swarm

V případě Dockeru Swarm použijte po vytvoření tajného kódu ID pracovního prostoru a primárního klíče následující informace k vytvoření tajných informací.

  1. Na hlavním uzlu spusťte následující příkaz.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. Ověřte, že se tajné kódy správně vytvořily.

    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. Spuštěním následujícího příkazu připojte tajné kódy ke kontejnerizovanému agentu Log Analytics.

    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
    

Konfigurace agenta Log Analytics pro Red Hat OpenShift

Existují tři způsoby, jak přidat agenta Log Analytics do Red Hat OpenShiftu a začít shromažďovat data monitorování kontejnerů.

V této části probereme kroky potřebné k instalaci agenta Log Analytics jako sady démonů OpenShift.

  1. Přihlaste se k hlavnímu uzlu OpenShift a zkopírujte soubor yaml ocp-omsagent.yaml z GitHubu do hlavního uzlu a upravte hodnotu pomocí ID pracovního prostoru služby Log Analytics a primárního klíče.

  2. Spuštěním následujících příkazů vytvořte projekt pro Azure Monitor a nastavte uživatelský účet.

    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. Pokud chcete nasadit sadu démonů, spusťte následující příkaz:

    oc create -f ocp-omsagent.yaml

  4. Pokud chcete ověřit, že je správně nakonfigurovaná a funguje, zadejte následující příkaz:

    oc describe daemonset omsagent

    výstup by měl vypadat takto:

    [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.  
    

Pokud chcete k zabezpečení ID a primárního klíče pracovního prostoru služby Log Analytics použít tajné kódy při použití souboru yaml démona agenta Log Analytics, proveďte následující kroky.

  1. Přihlaste se k hlavnímu uzlu OpenShift a zkopírujte soubor yaml ocp-ds-omsagent.yaml a skript pro generování tajných kódů ocp-secretgen.sh z GitHubu. Tento skript vygeneruje soubor yaml tajných kódů pro ID pracovního prostoru služby Log Analytics a primární klíč k zabezpečení informací o tajných klíčích.

  2. Spuštěním následujících příkazů vytvořte projekt pro Azure Monitor a nastavte uživatelský účet. Skript pro generování tajného kódu požádá o ID <WSID> vašeho pracovního prostoru služby Log Analytics a primární klíč <KEY> a po dokončení vytvoří soubor 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. Nasaďte soubor tajného kódu spuštěním následujícího příkazu:

    oc create -f ocp-secret.yaml

  4. Spuštěním následujícího příkazu ověřte nasazení:

    oc describe secret omsagent-secret

    výstup by měl vypadat takto:

    [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. Spuštěním následujícího příkazu nasaďte soubor yaml daemon-set agenta Log Analytics:

    oc create -f ocp-ds-omsagent.yaml

  6. Spuštěním následujícího příkazu ověřte nasazení:

    oc describe ds oms

    výstup by měl vypadat takto:

    [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.  
    

Konfigurace agenta Log Analytics pro Linux pro Kubernetes

V případě Kubernetes použijete skript k vygenerování souboru yaml tajných kódů pro ID pracovního prostoru a primárního klíče pro instalaci agenta Log Analytics pro Linux. Na stránce Dockeru Kubernetes Pro Log Analytics na GitHubu jsou soubory, které můžete použít s tajnými informacemi nebo bez ní.

  • Výchozí agent Log Analytics pro Linux DaemonSet nemá tajné informace (omsagent.yaml).
  • Soubor yaml agenta Log Analytics pro Linux DaemonSet používá tajné informace (omsagent-ds-secrets.yaml) se skripty generování tajných kódů k vygenerování tajných kódů yaml (omsagentsecret.yaml).

Můžete se rozhodnout vytvářet omsagent daemonSets s tajnými kódy nebo bez nich.

Výchozí soubor yaml daemonSet OMSagent bez tajných kódů

  • Výchozí soubor yaml agenta Log Analytics DaemonSet nahraďte <WSID> a <KEY> za WSID a KEY. Zkopírujte soubor do hlavního uzlu a spusťte následující příkaz:

    sudo kubectl create -f omsagent.yaml
    

Výchozí soubor OMSagent DaemonSet yaml s tajnými kódy

  1. Pokud chcete použít agenta Log Analytics DaemonSet s využitím tajných informací, nejprve vytvořte tajné kódy.

    1. Zkopírujte skript a soubor šablony tajného kódu a ujistěte se, že jsou ve stejném adresáři.

      • Skript pro generování tajných kódů – secret-gen.sh
      • šablona tajného kódu – secret-template.yaml
    2. Spusťte skript jako v následujícím příkladu. Skript požádá o ID pracovního prostoru služby Log Analytics a primární klíč a po jejich zadání vytvoří tajný soubor yaml, abyste ho mohli spustit.

      #> sudo bash ./secret-gen.sh
      
    3. Vytvořte pod tajných kódů spuštěním následujícího příkazu:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. Pokud to chcete ověřit, spusťte následující příkaz:

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

      Výstup by měl vypadat takto:

      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
      

      Výstup by měl vypadat takto:

      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. Vytvoření sady démonů omsagent spuštěním příkazu sudo kubectl create -f omsagent-ds-secrets.yaml

  2. Ověřte, že je spuštěný agent Log Analytics DaemonSet, podobně jako v následujícím příkladu:

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

V případě Kubernetes pomocí skriptu vygenerujte soubor yaml tajných kódů pro ID pracovního prostoru a primární klíč agenta Log Analytics pro Linux. K zabezpečení tajných informací použijte následující ukázkové informace se souborem yaml omsagent .

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

Konfigurace agenta Log Analytics pro Windows pro Kubernetes

Pro Windows Kubernetes pomocí skriptu vygenerujete soubor yaml tajných kódů pro ID pracovního prostoru a primární klíč pro instalaci agenta Log Analytics. Na stránce GitHubu Dockeru Kubernetes pro Log Analytics najdete soubory, které můžete použít s tajnými informacemi. Agenta Log Analytics musíte nainstalovat samostatně pro hlavní uzel a uzel agenta.

  1. Pokud chcete použít agenta Log Analytics DaemonSet s využitím tajných informací na hlavním uzlu, přihlaste se a nejprve vytvořte tajné kódy.

    1. Zkopírujte skript a soubor šablony tajného kódu a ujistěte se, že jsou ve stejném adresáři.

      • Skript pro generování tajných kódů – secret-gen.sh
      • šablona tajného kódu – secret-template.yaml
    2. Spusťte skript jako v následujícím příkladu. Skript požádá o ID pracovního prostoru služby Log Analytics a primární klíč a po jejich zadání vytvoří tajný soubor yaml, abyste ho mohli spustit.

      #> sudo bash ./secret-gen.sh
      
    3. Vytvoření sady démonů omsagent spuštěním příkazu kubectl create -f omsagentsecret.yaml

    4. Pokud to chcete zkontrolovat, spusťte následující příkaz:

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

      Výstup by měl vypadat takto:

      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. Vytvoření sady démonů omsagent spuštěním příkazu kubectl create -f ws-omsagent-de-secrets.yaml

  2. Ověřte, že je spuštěný agent Log Analytics DaemonSet, podobně jako v následujícím příkladu:

    root@ubuntu16-13db:~# kubectl get deployment omsagent
    NAME       DESIRED   CURRENT   NODE-SELECTOR   AGE
    omsagent   1         1         <none>          1h
    
  3. Pokud chcete nainstalovat agenta na pracovní uzel se systémem Windows, postupujte podle pokynů v části Instalace a konfigurace hostitelů kontejnerů Windows.

Nasazení agenta Log Analytics v Linuxu Kubernetes pomocí Helmu

Pokud chcete k nasazení agenta Log Analytics v linuxovém prostředí Kubernetes použít helm, proveďte následující kroky.

  1. Vytvoření sady démonů omsagent spuštěním příkazu helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms

  2. Výsledky budou vypadat nějak takto:

    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. Stav agenta omsagent můžete zkontrolovat spuštěním příkazu a helm status "omsagent" výstup bude vypadat nějak takto:

    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
    

    Další informace najdete v chartu Helm řešení kontejneru.

Instalace a konfigurace hostitelů kontejnerů Windows

Informace v části použijte k instalaci a konfiguraci hostitelů kontejnerů Windows.

Příprava před instalací agentů pro Windows

Před instalací agentů do počítačů s Windows musíte nakonfigurovat službu Docker. Konfigurace umožňuje agentovi Windows nebo rozšíření virtuálního počítače Azure Monitoru používat soket Docker TCP, aby agenti mohli vzdáleně přistupovat k démonovi Dockeru a zaznamenávat data pro účely monitorování.

Konfigurace služby Dockeru

Provedením následujících příkazů PowerShellu povolte kanál TCP a pojmenovaný kanál pro Windows Server:

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

Další informace o konfiguraci démona Dockeru používaném s kontejnery Windows najdete v tématu Modul Dockeru ve Windows.

Instalace agentů pro Windows

Pokud chcete povolit monitorování kontejnerů s Windows a Hyper-V, nainstalujte agenta Microsoft Monitoring Agent (MMA) na počítače s Windows, které jsou hostiteli kontejnerů. Informace o počítačích s Windows v místním prostředí najdete v tématu Připojení počítačů s Windows ke službě Azure Monitor. U virtuálních počítačů spuštěných v Azure je připojte ke službě Azure Monitor pomocí rozšíření virtuálního počítače.

Kontejnery Windows spuštěné v Service Fabric můžete monitorovat. V současné době se ale pro Service Fabric podporují jenom virtuální počítače běžící v Azure a počítače s Windows ve vašem místním prostředí .

Můžete ověřit, jestli je řešení monitorování kontejnerů pro Windows správně nastavené. Pokud chcete zkontrolovat, jestli se sada Management Pack stáhla správně, vyhledejte ContainerManagement.xxx. Soubory by měly být ve složce C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Pack.

Součásti řešení

V Azure Portal přejděte do galerie řešení a přidejte řešení pro monitorování kontejnerů. Pokud používáte agenty systému Windows, po přidání tohoto řešení se do každého počítače s agentem nainstaluje následující sada Management Pack. Sada Management Pack nevyžaduje žádnou konfiguraci ani údržbu.

  • ContainerManagement.xxx nainstalované ve složce C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Management Pack

Podrobnosti o shromažďování dat kontejneru

Řešení monitorování kontejnerů shromažďuje různé metriky výkonu a data protokolů z hostitelů a kontejnerů kontejnerů pomocí agentů, které povolíte.

Následující typy agentů shromažďují data každé tři minuty.

Záznamy kontejneru

V následující tabulce jsou uvedeny příklady záznamů shromažďovaných řešením Monitorování kontejnerů a datové typy, které se zobrazují ve výsledcích prohledávání protokolu.

Datový typ Datový typ ve vyhledávání protokolu Pole
Výkon hostitelů a kontejnerů Perf Počítač, ObjectName, CounterName (%Procesor Time, Disk Reads MB, Disk Writes MB, Memory Usage MB, Network Receive Bytes, Network Send Bytes, Processor Usage s, Network), CounterValue,TimeGenerated, CounterPath, SourceSystem
Inventář kontejnerů ContainerInventory TimeGenerated, Computer, název kontejneru, ContainerHostname, Image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID
Inventář imagí kontejneru ContainerImageInventory TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Running, Paused, Stopped, Failed, SourceSystem, ImageID, TotalContainer
Protokol kontejneru ContainerLog TimeGenerated, Počítač, ID image, název kontejneru, LogEntrySource, LogEntry, SourceSystem, ContainerID
Protokol služby Container Service ContainerServiceLog TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID
Inventář uzlů kontejneru ContainerNodeInventory_CL TimeGenerated, Počítač, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem
Inventář Kubernetes KubePodInventory_CL TimeGenerated, Počítač, PodLabel_deployment_s, PodLabel_deploymentconfig_s, PodLabel_docker_registry_s, Name_s, Namespace_s, PodStatus_s, PodIp_s, PodUid_g, PodCreationTimeStamp_t, SourceSystem
Proces kontejneru ContainerProcess_CL TimeGenerated, Počítač, 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
Události Kubernetes KubeEvents_CL TimeGenerated, Computer, Name_s, ObjectKind_s, Namespace_s, Reason_s, Type_s, SourceComponent_s, SourceSystem, Message

Popisky připojené k datovým typům PodLabel jsou vaše vlastní popisky. Příklady jsou připojené popisky PodLabel zobrazené v tabulce. Takže , PodLabel_deployment_sPodLabel_deploymentconfig_sPodLabel_docker_registry_s se bude lišit v datové sadě vašeho prostředí a obecně se bude podobat PodLabel_yourlabel_s.

Monitorování kontejnerů

Po povolení řešení v Azure Portal se na dlaždici Kontejnery zobrazí souhrnné informace o hostitelích kontejnerů a kontejnerech spuštěných na hostitelích.

Snímek obrazovky znázorňující dlaždici Kontejnery, která obsahuje výsečový graf zobrazující souhrnné informace o kontejnerech

Dlaždice zobrazuje přehled toho, kolik kontejnerů máte v prostředí a jestli jsou neúspěšné, spuštěné nebo zastavené.

Použití řídicího panelu Kontejnery

Klikněte na dlaždici Kontejnery . Odtud uvidíte zobrazení uspořádaná podle:

  • Události kontejneru – zobrazuje stav kontejneru a počítače s kontejnery, které selhaly.
  • Protokoly kontejnerů – zobrazuje graf souborů protokolů kontejnerů vygenerovaných v průběhu času a seznam počítačů s nejvyšším počtem souborů protokolů.
  • Události Kubernetes – zobrazuje graf událostí Kubernetes vygenerovaných v průběhu času a seznam důvodů, proč pody události vygenerovaly. Tato datová sada se používá jenom v prostředích Linuxu.
  • Inventář oboru názvů Kubernetes – zobrazuje počet oborů názvů a podů a zobrazuje jejich hierarchii. Tato datová sada se používá jenom v prostředích Linuxu.
  • Inventář uzlů kontejneru – zobrazuje počet typů orchestrace použitých na uzlech nebo hostitelích kontejneru. Uzly nebo hostitelé počítačů jsou také uvedeny podle počtu kontejnerů. Tato datová sada se používá jenom v prostředích Linuxu.
  • Inventář imagí kontejnerů – zobrazuje celkový počet použitých imagí kontejneru a počet typů imagí. Značka image uvádí také počet obrázků.
  • Stav kontejnerů – zobrazuje celkový počet uzlů kontejneru nebo hostitelských počítačů se spuštěnými kontejnery. Počítače jsou také uvedeny podle počtu spuštěných hostitelů.
  • Proces kontejneru – zobrazuje spojnicový graf procesů kontejnerů spuštěných v průběhu času. Kontejnery jsou také uvedeny spuštěním příkazu nebo procesu v kontejnerech. Tato datová sada se používá jenom v prostředích Linuxu.
  • Výkon procesoru kontejneru – zobrazuje spojnicový graf průměrného využití procesoru v průběhu času pro uzly nebo hostitele počítačů. Vypíše také uzly a hostitele počítačů na základě průměrného využití procesoru.
  • Výkon paměti kontejneru – zobrazuje spojnicový graf využití paměti v průběhu času. Uvádí také využití paměti počítače na základě názvu instance.
  • Výkon počítače – zobrazuje spojnicové grafy procenta výkonu procesoru v průběhu času, procenta využití paměti v průběhu času a megabajty volného místa na disku v průběhu času. Pokud chcete zobrazit další podrobnosti, můžete najet myší na libovolnou čáru v grafu.

Každá oblast řídicího panelu je vizuální reprezentací vyhledávání, které se spouští na shromážděných datech.

Snímek obrazovky s řídicím panelem pro zobrazení shromážděných dat

Snímek obrazovky s řídicím panelem pro zobrazení shromážděných dat, který zahrnuje stav, proces, výkon a inventář kontejnerů.

V oblasti Stav kontejneru klikněte na horní oblast, jak je znázorněno níže.

Snímek obrazovky zobrazující oblast Stav kontejneru na řídicím panelu Kontejnery, která obsahuje výsečový graf zobrazující informace o stavu kontejneru

Otevře se Log Analytics a zobrazí informace o stavu kontejnerů.

Snímek obrazovky znázorňující Log Analytics s dotazem na stav kontejnerů a výsledky hledání

Tady můžete upravit vyhledávací dotaz a upravit ho tak, abyste našli konkrétní informace, které vás zajímají. Další informace o dotazech na protokoly najdete v tématu Dotazy protokolu ve službě Azure Monitor.

Řešení potíží vyhledáním neúspěšného kontejneru

Log Analytics označí kontejner jako neúspěšný , pokud se ukončil s nenulovým ukončovacím kódem. Přehled chyb a selhání v prostředí najdete v oblasti Neúspěšné kontejnery .

Vyhledání neúspěšných kontejnerů

  1. Klikněte na oblast Stav kontejneru .
    Snímek obrazovky zobrazující oblast Stav kontejneru na řídicím panelu Kontejnery, která obsahuje výsečový graf zobrazující informace o stavu kontejneru
  2. Otevře se Log Analytics a zobrazí stav kontejnerů, podobně jako v následujícím příkladu.
    Snímek obrazovky znázorňující Log Analytics s dotazem na stav kontejnerů a výsledky hledání
  3. Rozbalte řádek Selhání a kliknutím na + přidejte do dotazu jeho kritéria. Potom v dotazu zakomentujte řádek Souhrn. Snímek obrazovky znázorňující řádek, který by měl být zakomentován
  4. Spusťte dotaz a rozbalte řádek ve výsledcích, abyste zobrazili ID image.
    Snímek obrazovky, který ukazuje, jak zobrazit ID obrázku
  5. Do dotazu na protokol zadejte následující příkaz. ContainerImageInventory | where ImageID == <ImageID> k zobrazení podrobností o obrázku, jako je velikost obrázku a počet zastavených a neúspěšných obrázků.
    Snímek obrazovky znázorňující Log Analytics s dotazem na image kontejneru a podrobnostmi o imagi

Dotazování protokolů na data kontejneru

Při řešení potíží s konkrétní chybou vám může pomoct zjistit, kde se ve vašem prostředí vyskytuje. Následující typy protokolů vám pomůžou vytvořit dotazy, které vrátí požadované informace.

  • ContainerImageInventory – tento typ použijte, když se pokoušíte najít informace uspořádané podle obrázku a zobrazit informace o obrázku, jako jsou ID nebo velikosti obrázků.
  • ContainerInventory – tento typ použijte, když chcete získat informace o umístění kontejneru, o jejich jménech a o tom, jaké image běží.
  • ContainerLog – Tento typ použijte, pokud chcete najít konkrétní informace a položky protokolu chyb.
  • ContainerNodeInventory_CL Tento typ použijte, pokud chcete získat informace o hostiteli nebo uzlu, kde se kontejnery nacházejí. Poskytuje informace o verzi Dockeru, typu orchestrace, úložišti a síti.
  • ContainerProcess_CL Tento typ slouží k rychlému zobrazení procesu spuštěného v kontejneru.
  • ContainerServiceLog – Tento typ použijte, když se pokoušíte najít informace o záznamu auditu pro démona Dockeru, jako jsou například příkazy start, stop, delete nebo pull.
  • KubeEvents_CL Tento typ použijte k zobrazení událostí Kubernetes.
  • KubePodInventory_CL Tento typ použijte, pokud chcete porozumět informacím o hierarchii clusteru.

Dotazování protokolů na data kontejneru

  • Vyberte image, o které víte, že v nedávné době selhala, a vyhledejte protokoly chyb. Začněte vyhledáním názvu kontejneru, na kterém je spuštěná tato image, pomocí hledání ContainerInventory . Vyhledejte například ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
    Snímek obrazovky znázorňující hledání neúspěšných kontejnerů Ubuntu a výsledky hledání

    Rozbalením libovolného řádku ve výsledcích zobrazíte podrobnosti o daném kontejneru.

Příklady dotazů na protokoly

Často je užitečné vytvářet dotazy začínající příkladem nebo dvěma a pak je upravit tak, aby vyhovovaly vašemu prostředí. Jako výchozí bod můžete experimentovat s oblastí UKÁZKOVÉ DOTAZY na pravé straně stránky řešení, která vám pomůže vytvářet pokročilejší dotazy.

Snímek obrazovky znázorňující oblast Ukázkové dotazy s ukázkovými dotazy na protokoly

Ukládání dotazů na protokoly

Ukládání dotazů je standardní funkcí ve službě Azure Monitor. Když si je uložíte, budete mít ty, které jste považovali za užitečné pro budoucí použití.

Po vytvoření dotazu, který je pro vás užitečný, ho uložte kliknutím na Oblíbené v horní části stránky Prohledávání protokolu. Pak k němu budete mít snadný přístup později ze stránky Můj řídicí panel .

Odebrání řešení z pracovního prostoru

Pokud chcete odebrat řešení pro monitorování kontejnerů, postupujte podle pokynů pro odebrání řešení pomocí jednoho z následujících způsobů: Azure Portal, PowerShell nebo Azure CLI.

Další kroky

Dotazování protokolů pro zobrazení podrobných záznamů dat kontejneru