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

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:
- AKS (Konfigurace Container Insights pro AKS)
- Red Hat OpenShift (Konfigurace container insights pomocí Azure Arc)
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.

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.
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í.
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:
- Pokud máte prostředí Red Hat OpenShift, přečtěte si téma Konfigurace agenta Log Analytics pro Red Hat OpenShift.
- Pokud máte cluster Kubernetes s použitím Azure Container Service:
- Přečtěte si téma Konfigurace agenta Log Analytics Linux pro Kubernetes.
- přečtěte si téma konfigurace agenta Log Analytics Windows pro Kubernetes.
- Přečtěte si téma použití Helm k nasazení agenta Log Analytics na Linux Kubernetes.
- Pokud máte cluster Azure Container Service DC/OS, přečtěte si další informace o monitorování Azure Container Service clusteru DC/OS pomocí Azure monitor.
- Pokud máte prostředí režimu Docker Swarm, přečtěte si další informace v konfiguraci agenta Log Analytics pro Docker Swarm.
- pokud máte cluster Service Fabric, přečtěte si další informace o monitorování kontejnerů pomocí Azure Monitor.
- Pro samostatné hostitele:
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:
- Další informace a postup pro instalaci agenta Log Analytics pro Linux najdete v tématu Přehled agenta Log Analytics.
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í.
Spusťte následující příkaz na hlavním uzlu.
echo "WSID" | docker secret create WSID - echo "KEY" | docker secret create KEY -Ověřte, zda byly tajné klíče vytvořeny správně.
keiko@swarmm-master-13957614-0:/run# sudo docker secret lsID NAME CREATED UPDATED j2fj153zxy91j8zbcitnjxjiv WSID 43 minutes ago 43 minutes ago l9rh3n987g9c45zffuxdxetd9 KEY 38 minutes ago 38 minutes agoSpusť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ů.
- Instalace agenta Log Analytics pro Linux přímo na každý uzel OpenShift
- Povolení rozšíření Log Analytics virtuálního počítače v každém uzlu OpenShift, který se nachází v Azure
- Instalace agenta Log Analytics jako sady OpenShift démona
V této části se zabýváme kroky potřebnými k instalaci agenta Log Analytics jako sady démonů OpenShift.
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.
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:omsagentChcete-li nasadit sadu démonů, spusťte následující příkaz:
oc create -f ocp-omsagent.yamlPokud chcete ověřit, že je nakonfigurovaná a funguje správně, zadejte následující:
oc describe daemonset omsagenta 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.
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.
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:omsagentSoubor tajného klíče nasaďte spuštěním následujícího kódu:
oc create -f ocp-secret.yamlOvěřte nasazení spuštěním následujícího:
oc describe secret omsagent-secreta 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 bytesNasaďte soubor YAML s démonem Log Analytics agenta spuštěním následujícího:
oc create -f ocp-ds-omsagent.yamlOvěřte nasazení spuštěním následujícího:
oc describe ds omsa 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
Pokud chcete použít Log Analytics agenta DaemonSet s použitím tajných informací, vytvořte nejdřív tajné klíče.
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
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.shTajné klíče vytvoříte spuštěním následujícího:
sudo kubectl create -f omsagentsecret.yamlChcete-li ověřit, spusťte následující příkaz:
keiko@ubuntu16-13db:~# sudo kubectl get secretsVý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 1dkeiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secretVý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 bytesVytvoření omsagent procesu démon-nastaveného spuštěním
sudo kubectl create -f omsagent-ds-secrets.yaml
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 omsagentNAME 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ě.
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.
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
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.shVytvoření omsagent procesu démon-nastaveného spuštěním
kubectl create -f omsagentsecret.yamlChcete-li ověřit, spusťte následující příkaz:
root@ubuntu16-13db:~# kubectl get secretsVý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 bytesVytvoření omsagent procesu démon-nastaveného spuštěním
kubectl create -f ws-omsagent-de-secrets.yaml
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> 1hchcete-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.
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/msomsVý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> 3sStav 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> 17mDalší 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 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.


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

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

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
- Klikněte na oblast Stav kontejneru.

- Služba Log Analytics se otevře a zobrazí stav kontejnerů, podobně jako v následujícím příkladu.

- Rozbalte řádek Failed (Chyba) a kliknutím na + přidejte jeho kritéria do dotazu. Pak v dotazu zakomentuje řádek Summarize (Vytvořit souhrn).

- Spusťte dotaz a potom ve výsledcích rozbalte řádek, abyste si id image prohlíželi.

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

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"

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.

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