Řešení pro monitorování kontejnerů v Azure Monitor

Symbol kontejnerů

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

Důležité

Řešení Pro monitorování kontejnerů se postupně umistí, abyste mohli monitorovat prostředí Kubernetes, a proto doporučujeme použít Azure Monitor Container Insights.

Poznámka

Tento článek byl nedávno aktualizován, aby používal Azure Monitor protokoly místo Log Analytics. Data protokolu se pořád ukládají do Log Analyticsho pracovního prostoru a pořád se shromažďují a analyzují pomocí stejné služby Log Analytics. Aktualizujeme terminologii, aby lépe odrážela roli protokolů v Azure monitor. Podrobnosti najdete v tématu Azure monitor změny terminologie .

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

  • Docker Swarm
  • DC/OS
  • Service Fabric

Ke sledování Kubernetes a Red Hat OpenShiftu doporučujeme použít Azure Monitor Container Insights:

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. Před povolením tohoto Service Fabric si v tématu Použití řešení Service Fabric, abyste pochopili, co poskytuje a jak ho používat.

Pokud vás zajímá monitorování výkonu úloh nasazených v prostředích Kubernetes hostovaných v Azure Kubernetes Service (AKS), podívejte se na Azure Kubernetes Service . Řešení Container Monitoring nepodporuje monitorování této platformy.

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

Diagram kontejnerů

Požadavky na systém a podporované platformy

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

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

Následující tabulka popisuje podporu orchestrace Dockeru a monitorování operačního systému inventáře kontejnerů, výkonu a protokolů pomocí 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
skupin
Server Linux
skupin

Verze Docker podporované v systému Linux

  • Docker 1,11 na 1,13
  • docker CE a EE v 17.06

distribuce x64 pro Linux podporovaná jako hostitelé kontejnerů

  • Ubuntu 14,04 LTS a 16,04 LTS
  • CoreOS (stabilní)
  • Amazon Linux 2016.09.0
  • openSUSE 13.2
  • openSUSE, přestupné 42,2
  • CentOS 7,2 a 7,3
  • SLES 12
  • RHEL 7,2 a 7,3
  • Platforma Red Hat OpenShift Container Platform (OCP) 3,4 a 3,5
  • ACS Mesosphere DC/OS 1.7.3 na 1.8.8
  • ACS Kubernetes 1.4.5 na 1,6
    • Kubernetes události, inventář Kubernetes a procesy kontejneru se podporují jenom s verzí 1.4.1-45 a novějším agenta Log Analytics pro Linux.
  • Swarm Docker služby ACS

Poznámka

V rámci průběžného přechodu od Microsoft Operations Management Suite k Azure Monitor se agent Operations Management Suite pro Windows nebo Linux bude označovat jako agent Log Analytics pro Windows a agenta Log Analytics pro Linux.

podporované Windows operační systém

  • Windows Server 2016
  • Windows 10 výročí Edition (Professional nebo Enterprise)

Verze Docker podporované v 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í pro monitorování kontejnerů do pracovního prostoru Log Analytics z webu Azure Marketplace nebo pomocí procesu popsaného v tématu Přidání řešení monitorování z galerie řešení.

  2. Nainstalujte a použijte Docker s agentem Log Analytics. V závislosti na operačním systému a Docker Orchestrator můžete ke konfiguraci agenta použít následující metody.

    • Pro samostatné hostitele:
      • V podporovaných operačních systémech Linux nainstalujte a spusťte Docker a pak nainstalujte a nakonfigurujte agenta Log Analytics pro Linux.
      • V CoreOS nemůžete spustit agenta Log Analytics pro Linux. Místo toho spustíte kontejnerovou verzi Log Analytics agenta pro Linux. Pokud pracujete s kontejnery v Azure Government cloudu, přečtěte si téma hostitelé pro Linux kontejnerů, včetně CoreOS nebo Azure Government hostitelů kontejnerů Linux, včetně CoreOS.
      • na Windows Server 2016 a Windows 10 nainstalujte modul docker a klienta a pak připojte agenta, aby mohl shromažďovat informace a odesílat je do Azure Monitor. pokud máte Windows prostředí, přečtěte si téma instalace a konfigurace hostitelů kontejnerů Windows .
    • Pro orchestraci více hostitelů Docker:

další informace o tom, jak nainstalovat a nakonfigurovat moduly docker na počítačích se systémem Windows, najdete v části modul docker v tématu Windows .

Důležité

Aby bylo možné nainstalovat agenta Log Analytics pro Linux do hostitelů kontejnerů, musí být spuštěný Docker. Pokud jste již agenta nainstalovali před instalací Docker, je nutné přeinstalovat agenta Log Analytics pro Linux. Další informace o Docker najdete na webu Docker.

Instalace a konfigurace hostitelů kontejnerů pro Linux

Po instalaci Docker použijte následující nastavení pro hostitele kontejneru a nakonfigurujte agenta pro použití s Docker. Nejdřív potřebujete Log Analytics ID a klíč pracovního prostoru, který najdete v Azure Portal. V pracovním prostoru kliknutím na rychlé zprovoznění > počítače zobrazíte ID vašeho pracovního prostoru a primární klíč. Obě hodnoty zkopírujte a vložte do oblíbeného editoru.

Pro všechny hostitele kontejnerů pro Linux s výjimkou CoreOS:

Pro všechny hostitele kontejnerů pro Linux, 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 Azure Government hostitele kontejnerů Linux, 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řepínání z použití nainstalovaného agenta Linux na jeden v kontejneru

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

Konfigurace agenta Log Analytics pro Docker Swarm

Agenta Log Analytics můžete spustit jako globální službu v Docker Swarm. Pomocí následujících informací vytvořte službu agenta Log Analytics. Je potřeba zadat ID a primární klíč svého Log Analyticsho pracovního prostoru.

  • Spusťte následující příkaz na hlavním uzlu.

    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é kódy pro Docker Swarm

V případě Docker Swarm se po vytvoření tajného klíče pro ID pracovního prostoru a primární klíč vytvoří informace o tajných klíčích pomocí následujících informací.

  1. Spusťte následující příkaz na hlavním uzlu.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. Ověřte, zda byly tajné klíče vytvořeny správně.

    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. Spusťte následující příkaz pro připojení tajných kódů k kontejneru Log Analytics kontejnerů.

    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 OpenShift a začít shromažďovat data monitorování kontejnerů.

V této části se zabýváme kroky potřebnými k instalaci agenta Log Analytics jako sady démonů OpenShift.

  1. přihlaste se k uzlu hlavní server OpenShift a zkopírujte soubor yaml ocp-omsagent. yaml z GitHub do svého hlavního uzlu a upravte hodnotu pomocí ID vašeho pracovního prostoru Log Analytics a s vaším primárním klíčem.

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

    oc create -f ocp-omsagent.yaml

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

    oc describe daemonset omsagent

    a výstup by měl vypadat přibližně 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 použít tajné klíče k zabezpečení Log Analytics ID a primárního klíče při použití souboru s démonem Log Analytics agenta, proveďte následující kroky.

  1. Přihlaste se k uzlu hlavní server OpenShift a zkopírujte soubor YAML OCP-DS-omsagent. yaml a tajný kód pro generování skriptu OCP-secretgen.sh z GitHub. Tento skript vygeneruje soubor YAML tajných klíčů pro Log Analytics ID pracovního prostoru a primární klíč k zabezpečení informací o tajnosti.

  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 klíče požádá o vaše ID pracovního prostoru Log Analytics <WSID> 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. Soubor tajného klíče nasaďte spuštěním následujícího kódu:

    oc create -f ocp-secret.yaml

  4. Ověřte nasazení spuštěním následujícího:

    oc describe secret omsagent-secret

    a výstup by měl vypadat přibližně 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. Nasaďte soubor YAML s démonem Log Analytics agenta spuštěním následujícího:

    oc create -f ocp-ds-omsagent.yaml

  6. Ověřte nasazení spuštěním následujícího:

    oc describe ds oms

    a výstup by měl vypadat přibližně 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 Linux pro Kubernetes

Pro Kubernetes pomocí skriptu vygenerujte soubor tajných klíčů YAML pro ID pracovního prostoru a primární klíč pro instalaci agenta Log Analytics pro Linux. na stránce Log Analytics docker Kubernetes GitHub se nacházejí soubory, které můžete použít s nebo bez tajných informací.

  • Výchozí agent Log Analytics pro Linux DaemonSet nemá tajné informace (omsagent. yaml).
  • Agent Log Analytics pro Linux DaemonSet YAML používá k vygenerování souboru tajných kódů YAML (omsagentsecret. yaml) tajné informace (omsagent-DS-tajné soubory. yaml) se skripty pro generování tajného klíče.

Můžete si vybrat, že chcete vytvořit omsagent DaemonSets s tajnými kódy nebo bez nich.

Výchozí OMSagent soubor YAML DaemonSet bez tajných klíčů

  • Pro výchozí soubor Log Analytics agenta DaemonSet YAML, nahraďte <WSID> a <KEY> pro WSID a klíč. Zkopírujte soubor do hlavního uzlu a spusťte následující příkaz:

    sudo kubectl create -f omsagent.yaml
    

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

  1. Pokud chcete použít Log Analytics agenta DaemonSet s použitím tajných informací, vytvořte nejdřív tajné klíče.

    1. Zkopírujte skriptový a tajný soubor šablony a ujistěte se, že jsou ve stejném adresáři.

      • Tajný kód generování skriptu – secret-gen.sh
      • Šablona tajného kódu-tajné šablony. yaml
    2. Spusťte skript, podobně jako v následujícím příkladu. Skript zobrazí výzvu k zadání ID a primárního klíče pracovního prostoru Log Analytics a jakmile je zadáte, skript vytvoří tajný soubor YAML, abyste ho mohli spustit.

      #> sudo bash ./secret-gen.sh
      
    3. Tajné klíče vytvoříte spuštěním následujícího:

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

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

      Výstup by měl vypadat přibližně 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 přibližně takto:

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

  2. Ověřte, že je spuštěný DaemonSet agenta Log Analytics, 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
    

Pro Kubernetes pomocí skriptu vygenerujte soubor tajných klíčů YAML pro ID pracovního prostoru a primární klíč pro agenta Log Analytics pro Linux. K zabezpečení tajných informací použijte následující příklady informací se souborem omsagent YAML .

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 Windows pro Kubernetes

pro Windows Kubernetes pomocí skriptu vygenerujte soubor tajných klíčů yaml pro ID pracovního prostoru a primární klíč pro instalaci agenta Log Analytics. na stránce Log Analytics docker Kubernetes GitHub se nacházejí soubory, které můžete použít s vašimi tajnými informacemi. Pro hlavní uzly a uzly agentů je potřeba nainstalovat agenta Log Analytics samostatně.

  1. Pokud chcete použít Log Analytics agenta DaemonSet s použitím tajných informací na hlavním uzlu, přihlaste se a vytvořte nejdřív tajné klíče.

    1. Zkopírujte skriptový a tajný soubor šablony a ujistěte se, že jsou ve stejném adresáři.

      • Tajný kód generování skriptu – secret-gen.sh
      • Šablona tajného kódu-tajné šablony. yaml
    2. Spusťte skript, podobně jako v následujícím příkladu. Skript zobrazí výzvu k zadání ID a primárního klíče pracovního prostoru Log Analytics a jakmile je zadáte, skript vytvoří tajný soubor YAML, abyste ho mohli spustit.

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

    4. Chcete-li ověřit, spusťte následující příkaz:

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

      Výstup by měl vypadat přibližně 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í omsagent procesu démon-nastaveného spuštěním kubectl create -f ws-omsagent-de-secrets.yaml

  2. Ověřte, že je spuštěný DaemonSet agenta Log Analytics, 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. chcete-li nainstalovat agenta na pracovní uzel, na kterém běží Windows, postupujte podle pokynů v části instalace a konfigurace Windows hostitelů kontejnerů.

Nasazení agenta Log Analytics v systému Linux Kubernetes pomocí Helm

Pokud chcete použít Helm k nasazení agenta Log Analytics v prostředí Kubernetes pro Linux, proveďte následující kroky.

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

  2. Výsledky budou vypadat podobně jako v následujícím příkladu:

    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 omsagent můžete zkontrolovat spuštěním: helm status "omsagent" a výstup bude vypadat podobně jako v následujícím příkladu:

    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 grafu řešení kontejnerů Helm.

instalace a konfigurace hostitelů kontejnerů Windows

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

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

než nainstalujete agenty na počítače se systémem Windows, je nutné nakonfigurovat službu docker. tato konfigurace umožňuje agentu Windows nebo rozšíření virtuálního počítače Azure Monitor používat rozhraní docker TCP socket, aby mohli agenti přistupovat ke vzdálenému démonu docker a zachytit data pro monitorování.

Konfigurace služby Docker

pro povolení kanálu TCP a pojmenovaného kanálu pro Windows Server proveďte následující příkazy powershellu:

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 docker, která se používá u Windows kontejnerů, najdete v části modul docker v Windows.

instalace agentů Windows

pokud chcete povolit Windows a monitorování kontejnerů technologie Hyper-V, nainstalujte na Windows počítače, které jsou hostiteli kontejneru, Microsoft Monitoring Agent (MMA). počítače se systémem Windows v místním prostředí najdete v části Připojení Windows počítače na Azure Monitor. Pro virtuální počítače běžící v Azure je připojte k Azure Monitor pomocí rozšíření virtuálního počítače.

Windows kontejnery běžící na Service Fabric můžete monitorovat. pro Service Fabric se ale v tuto chvíli podporují jenom virtuální počítače běžící v Azure a počítače se spuštěným Windows v místním prostředí .

Můžete ověřit, jestli je řešení pro monitorování kontejnerů správně nastavené pro Windows. Chcete-li zkontrolovat, zda byl Management Pack správně stažen, vyhledejte ContainerManagement.xxx. soubory by měly být ve složce C:\Program files \ Microsoft Monitoring Agent \Agent\ Health Service State\Management packs.

Součásti řešení

Z Azure Portal přejděte na Galerie řešení a přidejte řešení pro monitorování kontejnerů. pokud používáte agenty Windows, pak se při přidání tohoto řešení do každého počítače s agentem nainstaluje následující Management Pack. Pro Management Pack není nutná žádná konfigurace ani údržba.

  • ContainerManagement.xxx nainstalované v umístění C:\Program Files \ Microsoft Monitoring Agent \Agent\ Health Service State\Management pack

Podrobnosti shromažďování dat kontejneru

Řešení pro monitorování kontejnerů shromažďuje různé metriky výkonu a data protokolů z hostitelů kontejnerů a 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ů shromážděných řešením monitorování kontejnerů a typy dat, které se zobrazí ve výsledcích prohledávání protokolu.

Datový typ Datový typ v hledání v protokolu Pole
Výkon pro hostitele a kontejnery Perf Počítač, ObjectName, CounterName (% času procesoru, čtení z disku MB, zápisy na disk MB, využití paměti MB, počet přijatých bajtů sítě, počet bajtů pro odesílání, využití procesoru sec, síť), CounterValue, TimeGenerated, CounterPath, SourceSystem
Inventář kontejneru ContainerInventory TimeGenerated, počítač, název kontejneru, ContainerHostname, image, ImageTag, ContainerState, ExitCode, EnvironmentVar, Command, CreatedTime, StartedTime, FinishedTime, SourceSystem, ContainerID, ImageID
Inventář imagí kontejneru ContainerImageInventory TimeGenerated, počítač, image, ImageTag, ImageSize, VirtualSize, spuštěno, pozastaveno, zastaveno, selhalo, SourceSystem, ImageID, TotalContainer
Protokol kontejneru ContainerLog TimeGenerated, Computer, image ID, container name, LogEntrySource, LogEntry, SourceSystem, ContainerID
Protokol služby Container Service ContainerServiceLog TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID
Inventář uzlů kontejneru ContainerNodeInventory_CL TimeGenerated, Computer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem
Inventář 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
Proces kontejneru 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
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 uvedené v tabulce. Takže , se bude v datové sadě vašeho prostředí lišit PodLabel_deployment_s a obecně se bude PodLabel_deploymentconfig_s PodLabel_docker_registry_s 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 v hostitelích.

Dlaždice Kontejnery

Dlaždice zobrazuje přehled o tom, kolik kontejnerů máte v prostředí a jestli došlo k jejich selhá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 kontejneru – zobrazuje graf souborů protokolů kontejnerů generovaných v průběhu času a seznam počítačů s nejvyšším počtem souborů protokolu.
  • Události Kubernetes – zobrazuje graf událostí Kubernetes generovaných v průběhu času a seznam důvodů, proč pody události generují. Tato datová sada se používá jenom v linuxových prostředích.
  • Inventář oborů názvů Kubernetes – zobrazuje počet oborů názvů a podů a jejich hierarchii. Tato datová sada se používá jenom v linuxových prostředích.
  • Inventář uzlů kontejneru – zobrazuje počet typů orchestrace používaných na uzlech/hostitelích kontejnerů. Uzly nebo hostitelé počítače jsou také uvedeny podle počtu kontejnerů. Tato datová sada se používá jenom v linuxových prostředích.
  • Inventář imagí kontejnerů – zobrazuje celkový počet použitých imagí kontejnerů a počet typů imagí. Počet imagí je uvedený také podle značky image.
  • Stav kontejnerů – zobrazuje celkový počet uzlů kontejneru nebo hostitelských počítačů, na které běží kontejnery. Počítače jsou také uvedeny podle počtu spuštěných hostitelů.
  • Proces kontejneru – zobrazuje čárový graf kontejnerových procesů spuštěných v průběhu času. Kontejnery se také zobrazí spuštěním příkazu nebo procesu v kontejnerech. Tato datová sada se používá jenom v linuxových prostředích.
  • Výkon procesoru kontejneru – zobrazuje čárový graf průměrného využití procesoru v průběhu času pro uzly a hostitele počítače. Uvádí také uzly a hostitele počítačů na základě průměrného využití procesoru.
  • Výkon paměti kontejneru – zobrazuje čárový 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 čárové grafy procentuálního výkonu procesoru v průběhu času, procenta využití paměti v průběhu času a megabajtů 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í reprezentace vyhledávání, které se spustí na shromážděných datech.

Snímek obrazovky znázorňuje řídicí panel pro zobrazení shromážděných dat

Řídicí panel Kontejnery

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

Stav kontejnerů

Otevře se Služba Log Analytics s informacemi o stavu kontejnerů.

Log Analytics pro kontejnery

Tady můžete upravit vyhledávací dotaz a upravit ho tak, aby našel konkrétní informace, které vás zajímají. Další informace o dotazech na protokol najdete v tématu Dotazy protokolu v Azure Monitor.

Řešení potíží vyhledáním kontejneru, který selhal

Pokud se kontejner ukončí s nenulový ukončovacím kódem, služba Log Analytics označí kontejner jako Neúspěšný. Přehled chyb a selhání v prostředí najdete v oblasti Kontejnery, které selhaly.

Vyhledání kontejnerů, které selhaly

  1. Klikněte na oblast Stav kontejneru.
    stav kontejnerů
  2. Služba Log Analytics se otevře a zobrazí stav kontejnerů, podobně jako v následujícím příkladu.
    stav kontejnerů
  3. Rozbalte řádek Failed (Chyba) a kliknutím na + přidejte jeho kritéria do dotazu. Pak v dotazu zakomentuje řádek Summarize (Vytvořit souhrn). Snímek obrazovky znázorňuje řádek, který by se měl okomentovat
  4. Spusťte dotaz a potom ve výsledcích rozbalte řádek, abyste si id image prohlíželi.
    Snímek obrazovky, který ukazuje, jak zobrazit ID obrázku
  5. Do dotazu na protokol zadejte následující. ContainerImageInventory | where ImageID == <ImageID> zobrazíte podrobnosti o imagi, jako je velikost image a počet zastavených a neúspěšných imagí.
    neúspěšné kontejnery

Dotazování protokolů na data kontejneru

Při řešení konkrétní chyby vám může pomoct zjistit, kde ve vašem prostředí k ní dochází. Následující typy protokolů vám pomůžou vytvořit dotazy, které vrátí informace, které chcete.

  • 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, pokud chcete získat informace o umístění kontejneru, jejich názvech a imagi, které používají.
  • 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 nachytá. Poskytuje verzi Dockeru, typ orchestrace, úložiště a informace o síti.
  • ContainerProcess_CL Pomocí tohoto typu můžete rychle zobrazit proces spuštěný v rámci kontejneru.
  • ContainerServiceLog – tento typ použijte, když se pokoušíte najít informace o záznamech auditu pro démona Dockeru, jako jsou příkazy pro spuštění, zastavení, odstranění nebo stažení.
  • 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

  • Zvolte image, o které víte, že nedávno selhala, a vyhledejte pro něj protokoly chyb. Začněte vyhledáním názvu kontejneru, na které běží tato image, pomocí hledání ContainerInventory. Vyhledejte například . ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
    Vyhledání kontejnerů Ubuntu

    Rozbalte libovolný řádek ve výsledcích a zobrazte podrobnosti o tomto kontejneru.

Příklady dotazů na protokol

Často je užitečné sestavit dotazy začínající na příkladu nebo dva a pak je upravit tak, aby vyhovovaly vašemu prostředí. Jako výchozí bod můžete experimentovat s oblastí UKÁZKOVÉ DOTAZY napravo od stránky řešení, abyste mohli vytvářet pokročilejší dotazy.

Dotazy na kontejnery

Ukládání dotazů na protokol

Ukládání dotazů je standardní funkcí v Azure Monitor. Když je budete uložit, budete mít ty, které se vám budou hodit pro budoucí použití.

Jakmile vytvoříte dotaz, který vám bude užitečný, uložte ho kliknutím na Oblíbené v horní části stránky prohledávání protokolu. Později se k ní můžete snadno dostat ze stránky Můj řídicí panel.

Další kroky

V protokolech dotazů můžete zobrazit podrobné záznamy dat kontejnerů.