Sdílet prostřednictvím


Protokolování skupin kontejnerů a instancí pomocí protokolů služby Azure Monitor

Pracovní prostory Služby Log Analytics poskytují centralizované umístění pro ukládání a dotazování dat protokolů nejen z prostředků Azure, ale také místních prostředků a prostředků v jiných cloudech. Azure Container Instances zahrnuje integrovanou podporu odesílání protokolů a dat událostí do protokolů služby Azure Monitor.

Pokud chcete odesílat protokoly skupin kontejnerů a data událostí do protokolů služby Azure Monitor, zadejte existující ID a klíč pracovního prostoru služby Log Analytics při konfiguraci skupiny kontejnerů.

Následující části popisují, jak vytvořit skupinu kontejnerů s povoleným protokolováním a jak dotazovat protokoly. Můžete také aktualizovat skupinu kontejnerů s ID pracovního prostoru a klíčem pracovního prostoru a povolit protokolování.

Poznámka:

Tento článek byl nedávno aktualizován tak, aby místo Log Analytics používal termín protokoly služby Azure Monitor. Data protokolů jsou stále uložená v pracovním prostoru služby Log Analytics a stále se shromažďují a analyzují stejnou službou 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.

Požadavky

Abyste mohli povolit protokolování ve vašich instancích kontejnerů, potřebujete následující:

Získání přihlašovacích údajů služby Log Analytics

Služba Azure Container Instances potřebuje oprávnění k odesílání dat do pracovního prostoru služby Log Analytics. Abyste mohli udělit toto oprávnění a povolit protokolování, musíte při vytváření skupiny kontejnerů zadat ID pracovního prostoru služby Log Analytics a jeden z jeho klíčů (primární nebo sekundární).

Získání ID pracovního prostoru služby Log Analytics a primárního klíče:

  1. Na webu Azure Portal přejděte do svého pracovního prostoru služby Log Analytics.
  2. V části Nastavení vyberte Správa agentů.
  3. Poznamenejte si:
    • ID pracovního prostoru
    • Primární klíč

Vytvoření skupiny kontejnerů

Teď, když máte ID pracovního prostoru služby Log Analytics a primární klíč, jste připraveni vytvořit skupinu kontejnerů s povoleným protokolováním.

Následující příklady ukazují dva způsoby vytvoření skupiny kontejnerů, která se skládá z jednoho fluentd kontejneru: Azure CLI a Azure CLI pomocí šablony YAML. Fluentd kontejner vytvoří ve své výchozí konfiguraci několik řádků výstupu. Tento výstup se odesílá do pracovního prostoru služby Log Analytics, takže se dobře hodí pro ukázku zobrazení a dotazování protokolů.

Nasazení s Azure CLI

Pokud chcete k nasazení využít Azure CLI, zadejte v příkazu az container create parametry --log-analytics-workspace a --log-analytics-workspace-key. Tyto dvě hodnoty pracovního prostoru nahraďte hodnotami, které jste získali v předchozím kroku (a aktualizujte název skupiny prostředků). Teprve potom spusťte následující příkaz.

Poznámka:

Následující příklad načítá image veřejného kontejneru z Docker Hubu. Doporučujeme nastavit tajný kód pro přijetí změn pro ověření pomocí účtu Docker Hubu místo vytvoření anonymní žádosti o přijetí změn. Pokud chcete zvýšit spolehlivost při práci s veřejným obsahem, naimportujte a spravujte image v privátním registru kontejneru Azure. Přečtěte si další informace o práci s veřejnými imagemi.

az container create \
    --resource-group myResourceGroup \
    --name mycontainergroup001 \
    --image fluent/fluentd:v1.3-debian-1 \
    --log-analytics-workspace <WORKSPACE_ID> \
    --log-analytics-workspace-key <WORKSPACE_KEY>

Nasazení pomocí YAML

Tuto metodu použijte, pokud dáváte přednost nasazení skupiny kontejnerů pomocí souboru YAML. Následující soubor YAML definuje skupinu kontejnerů s jediným kontejnerem. Zkopírujte tento soubor YAML do nového souboru a potom nahraďte LOG_ANALYTICS_WORKSPACE_ID a LOG_ANALYTICS_WORKSPACE_KEY hodnotami, které jste získali v předchozím kroku. Soubor uložte pod názvem deploy-aci.yaml.

Poznámka:

Následující příklad načítá image veřejného kontejneru z Docker Hubu. Doporučujeme nastavit tajný kód pro přijetí změn pro ověření pomocí účtu Docker Hubu místo vytvoření anonymní žádosti o přijetí změn. Pokud chcete zvýšit spolehlivost při práci s veřejným obsahem, naimportujte a spravujte image v privátním registru kontejneru Azure. Přečtěte si další informace o práci s veřejnými imagemi.

apiVersion: 2019-12-01
location: eastus
name: mycontainergroup001
properties:
  containers:
  - name: mycontainer001
    properties:
      environmentVariables: []
      image: fluent/fluentd:v1.3-debian-1
      ports: []
      resources:
        requests:
          cpu: 1.0
          memoryInGB: 1.5
  osType: Linux
  restartPolicy: Always
  diagnostics:
    logAnalytics:
      workspaceId: LOG_ANALYTICS_WORKSPACE_ID
      workspaceKey: LOG_ANALYTICS_WORKSPACE_KEY
tags: null
type: Microsoft.ContainerInstance/containerGroups

Potom spuštěním následujícího příkazu nasaďte skupinu kontejnerů. Nahraďte myResourceGroup skupinou prostředků ve vašem předplatném (nebo nejprve vytvořte skupinu prostředků s názvem myResourceGroup):

az container create --resource-group myResourceGroup --name mycontainergroup001 --file deploy-aci.yaml

Krátce po spuštění příkazu byste měli dostat odpověď z Azure s podrobnostmi o nasazení.

Zobrazení protokolů

Po nasazení skupiny kontejnerů může trvat několik minut (až 10), než se první položky protokolu zobrazí na webu Azure Portal.

Zobrazení protokolů skupiny kontejnerů v ContainerInstanceLog_CL tabulce:

  1. Na webu Azure Portal přejděte do svého pracovního prostoru služby Log Analytics.
  2. V části Obecné vyberte Protokoly.
  3. Zadejte následující dotaz: ContainerInstanceLog_CL | limit 50
  4. Výběr možnosti Spustit

Mělo by se zobrazit několik výsledků dotazu . Pokud se zpočátku nezobrazí žádné výsledky, počkejte několik minut a pak vyberte tlačítko Spustit a spusťte dotaz znovu. Ve výchozím nastavení se položky protokolu zobrazují ve formátu tabulky . Pak můžete rozbalením řádku zobrazit obsah příslušné položky protokolu.

Výsledky hledání v protokolu na webu Azure Portal

Zobrazit události

Události pro instance kontejnerů můžete zobrazit také na webu Azure Portal. Události zahrnují čas vytvoření instance a čas jeho spuštění. Zobrazení dat události v ContainerEvent_CL tabulce:

  1. Na webu Azure Portal přejděte do svého pracovního prostoru služby Log Analytics.
  2. V části Obecné vyberte Protokoly.
  3. Zadejte následující dotaz: ContainerEvent_CL | limit 50
  4. Výběr možnosti Spustit

Mělo by se zobrazit několik výsledků dotazu . Pokud se zpočátku nezobrazí žádné výsledky, počkejte několik minut a pak vyberte tlačítko Spustit a spusťte dotaz znovu. Ve výchozím nastavení se položky zobrazují ve formátu tabulky . Potom můžete rozbalit řádek a zobrazit obsah jednotlivé položky.

Výsledky hledání událostí na webu Azure Portal

Dotazování protokolů kontejnerů

Protokoly služby Azure Monitor zahrnují rozsáhlý dotazovací jazyk pro načítání informací z potenciálně tisíců řádků výstupu protokolu.

Základní strukturou dotazu je zdrojová tabulka (v tomto článku ContainerInstanceLog_CL nebo ContainerEvent_CL) následovaná řadou operátorů oddělených znakem svislé roury (|). Zřetězením více operátorů můžete zúžit výsledky a provádět pokročilé funkce.

Pokud chcete zobrazit ukázkové výsledky dotazu, vložte následující dotaz do textového pole dotazu a výběrem tlačítka Spustit dotaz spusťte. Tento dotaz zobrazí všechny položky protokolu, jejichž pole Message (Zpráva) obsahuje slovo warn (upozornění):

ContainerInstanceLog_CL
| where Message contains "warn"

Podporované jsou i složitější dotazy. Tento dotaz například zobrazí jenom položky protokolu pro skupinu kontejnerů mycontainergroup001 vygenerované během poslední hodiny:

ContainerInstanceLog_CL
| where (ContainerGroup_s == "mycontainergroup001")
| where (TimeGenerated > ago(1h))

Schéma protokolu

Další informace o starším schématu služby Azure Monitor pro Log Analytics najdete v tématu Starší tabulky Log Analytics.

Použití nastavení diagnostiky

Novější tabulky vyžadují použití nastavení diagnostiky ke směrování informací do Log Analytics. Nastavení diagnostiky služby Container Instances je ve verzi Public Preview a dá se povolit prostřednictvím možností funkcí ve verzi Preview na webu Azure Portal.

Další informace najdete v tabulkách Azure Monitor Log Analytics.

Další kroky

Protokoly Azure Monitoru

Další informace o dotazování protokolů a konfiguraci upozornění v protokolech služby Azure Monitor najdete tady:

Monitorování procesoru a paměti kontejneru

Informace o monitorování prostředků procesoru a paměti instance kontejneru najdete v tomto tématu: