Tárolócsoport- és példánynaplózás Azure Monitor-naplókkal

A Log Analytics-munkaterületek központi helyet biztosítanak a naplóadatok tárolásához és lekérdezéséhez nem csak az Azure-erőforrásokból, hanem a helyszíni erőforrásokból és más felhőkből származó erőforrásokhoz is. Az Azure Container Instances beépített támogatást nyújt naplók és eseményadatok Azure Monitor-naplókba való küldéséhez.

Tárolócsoport naplóinak és eseményadatainak Azure Monitor-naplókba való küldéséhez adjon meg egy meglévő Log Analytics-munkaterület-azonosítót és munkaterületkulcsot egy tárolócsoport konfigurálásakor.

A következő szakaszok bemutatják, hogyan hozhat létre naplózással kompatibilis tárolócsoportot, és hogyan kérdezheti le a naplókat. A naplózás engedélyezéséhez a tárolócsoportokat munkaterület-azonosítóval és munkaterület-kulccsal is frissítheti.

Feljegyzés

Ez a cikk nemrég frissült, hogy a Log Analytics helyett az Azure Monitor-naplók kifejezést használja. A naplóadatok továbbra is egy Log Analytics-munkaterületen lesznek tárolva, és ugyanazon Log Analytics-szolgáltatás gyűjti és elemzi őket. Frissítjük a terminológiát, hogy jobban tükrözzük a naplók szerepét az Azure Monitorban. Részletekért tekintse meg az Azure Monitor terminológiájának változásait .

Előfeltételek

A tárolópéldányokban való naplózás engedélyezéséhez a következőkre van szükség:

A Log Analytics hitelesítő adatainak lekérése

Az Azure Container Instancesnek engedélyre van szüksége ahhoz, hogy adatokat küldhessen a Log Analytics-munkaterületre. Ennek az engedélynek a megadásához és a naplózás engedélyezéséhez a tárolócsoport létrehozásakor meg kell adnia a Log Analytics-munkaterület azonosítóját és egy ahhoz tartozó kulcsot (az elsődleges vagy a másodlagos kulcsot).

A Log Analytics-munkaterület azonosítójának és elsődleges kulcsának beszerzése:

  1. Az Azure Portalon lépjen a saját Log Analytics-munkaterületére
  2. Az Gépház területen válassza az Ügynökök kezelése lehetőséget
  3. Jegyezze fel a következőt:
    • Munkaterület azonosítója
    • Elsődleges kulcs

Tárolócsoport létrehozása

Most, hogy rendelkezik a Log Analytics-munkaterület azonosítójával és elsődleges kulcsával, készen áll egy naplózásra képes tárolócsoport létrehozására.

Az alábbi példák két módszert mutatnak be egy olyan tárolócsoport létrehozására, amely egyetlen folyékony tárolóból áll: az Azure CLI-ből és az Azure CLI-ből YAML-sablonnal. A fluentd tároló több sornyi kimenetet állít elő az alapértelmezett konfigurációban. Mivel ez a kimenet a Log Analytics-munkaterületre lesz elküldve, jól használható a naplók megtekintésének és lekérdezésének bemutatásához.

Üzembe helyezés az Azure CLI-vel

Az Azure CLI üzembe helyezéséhez adja meg a --log-analytics-workspace és a --log-analytics-workspace-key paramétereket az az container create parancsban. Cserélje le a két munkaterület-értéket az előző lépésben lekért értékekre (és frissítse az erőforráscsoport nevét) a következő parancs futtatása előtt.

Feljegyzés

Az alábbi példa egy nyilvános tárolórendszerképet kér le a Docker Hubról. Javasoljuk, hogy állítson be egy lekéréses titkos kulcsot a hitelesítéshez egy Docker Hub-fiókkal a névtelen lekéréses kérések helyett. A nyilvános tartalommal végzett munka megbízhatóságának javítása érdekében importálja és kezelje a rendszerképet egy privát Azure-tárolóregisztrációs adatbázisban. További információ a nyilvános rendszerképek használatával kapcsolatban.

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>

Üzembe helyezés a YAML használatával

Ezt a módszert akkor használja, ha a YAML használatával szeretne tárolócsoportokat üzembe helyezni. Az alábbi YAML egy tárolócsoportot határoz meg, benne egyetlen tárolóval. Másolja a YAML-t egy új fájlba, majd cserélje le a LOG_ANALYTICS_WORKSPACE_ID és LOG_ANALYTICS_WORKSPACE_KEY helyőrzőket az előző lépésben lekért értékekre. Mentse a fájlt deploy-aci.yaml néven.

Feljegyzés

Az alábbi példa egy nyilvános tárolórendszerképet kér le a Docker Hubról. Javasoljuk, hogy állítson be egy lekéréses titkos kulcsot a hitelesítéshez egy Docker Hub-fiókkal a névtelen lekéréses kérések helyett. A nyilvános tartalommal végzett munka megbízhatóságának javítása érdekében importálja és kezelje a rendszerképet egy privát Azure-tárolóregisztrációs adatbázisban. További információ a nyilvános rendszerképek használatával kapcsolatban.

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

Ezután hajtsa végre a következő parancsot a tárolócsoport üzembe helyezéséhez. Cserélje le myResourceGroup egy erőforráscsoportra az előfizetésben (vagy először hozzon létre egy "myResourceGroup" nevű erőforráscsoportot):

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

Röviddel a parancs kiadását követően választ kell kapnia az Azure-tól, amely az üzemelő példány részleteit taglalja.

Naplók megtekintése

A tárolócsoport üzembe helyezése után több percig (akár 10) is eltarthat, amíg az első naplóbejegyzések megjelennek az Azure Portalon.

A tárolócsoport naplóinak megtekintése a ContainerInstanceLog_CL táblában:

  1. Az Azure Portalon lépjen a saját Log Analytics-munkaterületére
  2. Az Általános csoportban válassza a Naplók lehetőséget
  3. Írja be a következő lekérdezést: ContainerInstanceLog_CL | limit 50
  4. Válassza a Futtatás lehetőséget

Ekkor számos eredményt kell megjelenítenie a lekérdezésnek. Ha először nem látja az eredményeket, várjon néhány percet, majd a Futtatás gombra kattintva hajtsa végre újra a lekérdezést. A naplóbejegyzések alapértelmezés szerint Táblázat formátumban jelennek meg. Ezután a sorokat kibontva tekintheti meg az egyes naplóbejegyzések tartalmát.

Naplókeresési találatok az Azure Portalon

Események megtekintése

A tárolópéldányok eseményeit az Azure Portalon is megtekintheti. Az események közé tartozik a példány létrehozásának és elindításának időpontja. Az eseményadatok megtekintése a ContainerEvent_CL táblázatban:

  1. Az Azure Portalon lépjen a saját Log Analytics-munkaterületére
  2. Az Általános csoportban válassza a Naplók lehetőséget
  3. Írja be a következő lekérdezést: ContainerEvent_CL | limit 50
  4. Válassza a Futtatás lehetőséget

Ekkor számos eredményt kell megjelenítenie a lekérdezésnek. Ha először nem látja az eredményeket, várjon néhány percet, majd a Futtatás gombra kattintva hajtsa végre újra a lekérdezést. Alapértelmezés szerint a bejegyzések Táblázat formátumban jelennek meg. Ezután kibonthat egy sort az egyes bejegyzések tartalmának megtekintéséhez.

Eseménykeresési eredmények az Azure Portalon

Tárolónaplók lekérdezése

Az Azure Monitor-naplók széles körű lekérdezési nyelvet tartalmaznak az információk több ezer sornyi naplókimenetből való lekéréséhez.

A lekérdezés alapstruktúrája a forrástábla (ebben a cikkben ContainerInstanceLog_CL vagy ContainerEvent_CL) után a cső karakterrel (|) elválasztott operátorok sorozata. Több operátor sorba állításával finomíthatja az eredményeket, és speciális funkciókat végezhet el.

A lekérdezés eredményeinek megtekintéséhez illessze be a következő lekérdezést a lekérdezés szövegmezőjébe, majd a Futtatás gombra kattintva hajtsa végre a lekérdezést. Ez a lekérdezés megjeleníti az összes olyan naplóbejegyzést, amelynek „Message” (Üzenet) mezője tartalmazza a „warn” (figyelmeztetés) szót:

ContainerInstanceLog_CL
| where Message contains "warn"

Összetettebb lekérdezések használata is támogatott. Például ez a lekérdezés csak a „mycontainergroup001” tárolócsoporthoz az elmúlt egy órában létrejött naplóbejegyzéseket jeleníti meg:

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

Naplóséma

Feljegyzés

Az alábbi táblázatban felsorolt oszlopok némelyike csak a séma részeként létezik, és nem bocsát ki adatokat a naplókban. Ezek az oszlopok az "Üres" leírással vannak jelölve.

ContainerInstanceLog_CL

Oszlop Típus Leírás
Számítógép húr Üres
ContainerGroup_s húr A rekordhoz társított tárolócsoport neve
ContainerID_s húr A rekordhoz társított tároló egyedi azonosítója
ContainerImage_s húr A rekordhoz társított tárolórendszerkép neve
Location_s húr A rekordhoz társított erőforrás helye
Üzenet húr Ha lehetséges, a tároló üzenete
OSType_s húr Annak az operációs rendszernek a neve, amelyen a tároló alapul
RawData húr Üres
ResourceGroup húr Annak az erőforráscsoportnak a neve, amelyhez a rekord társítva van
Source_s húr A naplózási összetevő neve, "LoggingAgent"
SubscriptionId húr Annak az előfizetésnek az egyedi azonosítója, amelyhez a rekord társítva van
TimeGenerated dátum/idő Időbélyeg, amikor az eseményt az Azure-szolgáltatás hozta létre, és feldolgozta az eseménynek megfelelő kérést
Típus húr A tábla neve
_ResourceId húr Annak az erőforrásnak az egyedi azonosítója, amelyhez a rekord társítva van
_SubscriptionId húr Annak az előfizetésnek az egyedi azonosítója, amelyhez a rekord társítva van

ContainerEvent_CL

Oszlop Típus Leírás
Számítógép húr Üres
ContainerGroupInstanceId_g húr A rekordhoz társított tárolócsoport egyedi azonosítója
ContainerGroup_s húr A rekordhoz társított tárolócsoport neve
ContainerName_s húr A rekordhoz társított tároló neve
Count_d valós szám Hányszor történt az esemény az utolsó szavazás óta
FirstTimestamp_t dátum/idő Az esemény első előfordulásának időbélyege
Location_s húr A rekordhoz társított erőforrás helye
Üzenet húr Ha lehetséges, a tároló üzenete
OSType_s húr Annak az operációs rendszernek a neve, amelyen a tároló alapul
RawData húr Üres
Reason_s húr A tárolócsoport aktuális állapota
ResourceGroup húr Annak az erőforráscsoportnak a neve, amelyhez a rekord társítva van
SubscriptionId húr Annak az előfizetésnek az egyedi azonosítója, amelyhez a rekord társítva van
TimeGenerated dátum/idő Időbélyeg, amikor az eseményt az Azure-szolgáltatás hozta létre, és feldolgozta az eseménynek megfelelő kérést
Típus húr A tábla neve
_ResourceId húr Annak az erőforrásnak az egyedi azonosítója, amelyhez a rekord társítva van
_SubscriptionId húr Annak az előfizetésnek az egyedi azonosítója, amelyhez a rekord társítva van

Diagnosztikai Gépház használata

A tárolócsoportok diagnosztikai Gépház egy előzetes verziójú funkció, amely az Azure Portal előzetes verziójú funkcióival engedélyezhető. Ha ez a funkció engedélyezve van egy előfizetéshez, a diagnosztikai Gépház alkalmazhatók egy tárolócsoportra. A diagnosztikai Gépház alkalmazása egy tárolócsoport újraindítását eredményezi.

Az alábbi példában például a New-AzDiagnosticSetting paranccsal alkalmazhatunk diagnosztikai Gépház objektumot egy tárolócsoportra.

$log = @()
$log += New-AzDiagnosticSettingLogSettingsObject -Enabled $true -Category ContainerInstanceLog -RetentionPolicyDay 7 -RetentionPolicyEnabled $true
 
New-AzDiagnosticSetting -Name test-setting -ResourceId <container-group-resource-id> -WorkspaceId <log-analytics-workspace-id> -Log $log

Következő lépések

Azure Monitor-naplók

További információ a naplók lekérdezéséről és a riasztások Azure Monitor-naplókban való konfigurálásáról:

Tárolók processzor- és memóriahasználatának monitorozása

A tárolópéldányok processzor- és memória-erőforrásainak monitorozásával kapcsolatos bővebb információkért lásd: