Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Log Analytics-werkruimten bieden een centrale locatie voor het opslaan en opvragen van logboekgegevens, niet alleen vanuit Azure-resources, maar ook on-premises resources en resources in andere clouds. Azure Container Instances bevat ingebouwde ondersteuning voor het verzenden van logboeken en gebeurtenisgegevens naar Azure Monitor-logboeken.
Als u logboek- en gebeurtenisgegevens van een containergroep wilt verzenden naar Azure Monitor logboeken, geeft u een bestaande Log Analytics werkruimte-id en werkruimtesleutel op bij het configureren van een containergroep.
In de volgende secties wordt beschreven hoe u een containergroep met logboekregistratie maakt en hoe u query's uitvoert op logboeken. U kunt ook een containergroep bijwerken met een werkruimte-id en werkruimtesleutel om logboekregistratie in te schakelen.
Opmerking
Dit artikel is onlangs bijgewerkt waarbij Log Analytics is vervangen door de term Azure Monitor-logboeken. Logboekgegevens worden nog steeds opgeslagen in een Log Analytics-werkruimte, en worden nog steeds verzameld en geanalyseerd met dezelfde Log Analytics-service. De terminologie wordt bijgewerkt om de rol van logboeken in Azure Monitor beter te weerspiegelen. Zie Wijzigingen in Azure Monitor-terminologie voor meer informatie.
Vereiste voorwaarden
Als u logboekregistratie in uw containerinstanties wilt inschakelen, hebt u de volgende vereisten nodig:
Referenties voor Log Analytics ophalen
Azure Container Instances moet toestemming hebben om gegevens naar uw Log Analytics werkruimte te verzenden. Als u deze machtiging wilt verlenen en logboekregistratie wilt inschakelen, moet u de Log Analytics werkruimte-id en een van de bijbehorende sleutels (primair of secundair) opgeven wanneer u de containergroep maakt.
Important
In deze sectie wordt de verouderde Log Analytics-integratie beschreven. Hiervoor is de werkruimtecode vereist. De verouderde integratie heeft de volgende beperkingen:
- De Log Analytics werkruimte moet openbaar toegankelijk zijn (privé-eindpunten worden niet ondersteund).
- Lokale verificatie moet zijn ingeschakeld in de werkruimte.
Voor een volledigere integratie die ondersteuning biedt voor privé-eindpunten, kunt u in plaats daarvan diagnostische instellingen gebruiken.
Gebruik de Azure CLI om de Log Analytics werkruimte-id en primaire sleutel op te halen:
# Get the workspace ID
az monitor log-analytics workspace show \
--resource-group <resource-group> \
--workspace-name <workspace-name> \
--query customerId \
--output tsv
# Get the primary shared key
az monitor log-analytics workspace get-shared-keys \
--resource-group <resource-group> \
--workspace-name <workspace-name> \
--query primarySharedKey \
--output tsv
Containergroep maken
Nu u de log Analytics-werkruimte-id en primaire sleutel hebt, kunt u een containergroep met logboekregistratie maken.
In de volgende voorbeelden ziet u twee manieren om een containergroep te maken die bestaat uit één fluentd-container: Azure CLI en Azure CLI met een YAML-sjabloon. De fluentd-container produceert verschillende uitvoerregels in de standaardconfiguratie. Omdat deze uitvoer naar uw Log Analytics werkruimte wordt verzonden, is het geschikt voor het demonstreren van de weergave en het uitvoeren van query's op logboeken.
Implementeren met Azure CLI
Als u wilt implementeren met de Azure CLI, geeft u de --log-analytics-workspace en --log-analytics-workspace-key parameters op in de opdracht az container create. Vervang de twee werkruimtewaarden door de waarden die u in de vorige stap hebt verkregen (en werk de naam van de resourcegroep bij) voordat u de volgende opdracht uitvoert.
Opmerking
In het volgende voorbeeld wordt een publieke containerimage geïmporteerd van Docker Hub. U wordt aangeraden een pull-geheim in te stellen voor verificatie met behulp van een Docker Hub-account in plaats van een anonieme pull-aanvraag te maken. Om de betrouwbaarheid te verbeteren bij het werken met openbare inhoud, importeert en beheert u de afbeelding in een privécontainerregister in Azure. Meer informatie over het werken met openbare afbeeldingen.
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>
Implementeren met YAML
Gebruik deze methode als u liever containergroepen implementeert met YAML. De volgende YAML definieert een containergroep met één container. Kopieer de YAML naar een nieuw bestand en vervang LOG_ANALYTICS_WORKSPACE_ID deze LOG_ANALYTICS_WORKSPACE_KEY door de waarden die u in de vorige stap hebt verkregen. Sla het bestand op als deploy-aci.yaml.
Opmerking
In het volgende voorbeeld wordt een publieke containerimage geïmporteerd van Docker Hub. U wordt aangeraden een pull-geheim in te stellen voor verificatie met behulp van een Docker Hub-account in plaats van een anonieme pull-aanvraag te maken. Om de betrouwbaarheid te verbeteren bij het werken met openbare inhoud, importeert en beheert u de afbeelding in een privécontainerregister in Azure. Meer informatie over het werken met openbare afbeeldingen.
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
Voer vervolgens de volgende opdracht uit om de containergroep te implementeren. Vervang myResourceGroup door een resourcegroep in uw abonnement (of maak eerst een resourcegroep met de naam 'myResourceGroup'):
az container create --resource-group myResourceGroup --name mycontainergroup001 --file deploy-aci.yaml
U ontvangt een antwoord van Azure met implementatiedetails kort nadat u de opdracht hebt uitgegeven.
Logboeken weergeven
Nadat u de containergroep hebt geïmplementeerd, kan het enkele minuten (maximaal 10) duren voordat de eerste logboekvermeldingen worden weergegeven in de Azure portal.
De logboeken van de containergroep in de ContainerInstanceLog_CL tabel weergeven:
- Navigeer naar uw Log Analytics werkruimte in de Azure-portal
- Selecteer logboeken onder Algemeen
- Typ de volgende query:
ContainerInstanceLog_CL | limit 50 - Selecteer Uitvoeren
U ziet nu verschillende resultaten die door de query worden weergegeven. Als u eerst geen resultaten ziet, wacht u enkele minuten en selecteert u vervolgens de knop Uitvoeren om de query opnieuw uit te voeren. Logboekvermeldingen worden standaard weergegeven in tabelindeling . Vervolgens kunt u een rij uitvouwen om de inhoud van een afzonderlijke logboekvermelding weer te geven.
Gebeurtenissen weergeven
U kunt ook gebeurtenissen voor containerinstanties bekijken in de Azure-portal. Tot de gebeurtenissen behoren het tijdstip waarop de instantie wordt gemaakt en waarop deze wordt gestart. De gebeurtenisgegevens in de ContainerEvent_CL tabel weergeven:
- Navigeer naar uw Log Analytics werkruimte in de Azure-portal
- Selecteer logboeken onder Algemeen
- Typ de volgende query:
ContainerEvent_CL | limit 50 - Selecteer Uitvoeren
U ziet nu verschillende resultaten die door de query worden weergegeven. Als u eerst geen resultaten ziet, wacht u enkele minuten en selecteert u vervolgens de knop Uitvoeren om de query opnieuw uit te voeren. Standaard worden vermeldingen weergegeven in tabelindeling . Vervolgens kunt u een rij uitvouwen om de inhoud van een afzonderlijke vermelding weer te geven.
Query's uitvoeren op containerlogboeken
Azure Monitor logboeken bevat een uitgebreide querytaal voor het ophalen van informatie uit mogelijk duizenden regels logboekuitvoer.
De basisstructuur van een query is de brontabel (in dit artikel ContainerInstanceLog_CL of ContainerEvent_CL) gevolgd door een reeks operatoren gescheiden door het pipeteken (|). U kunt verschillende operators koppelen om de resultaten te verfijnen en geavanceerde functies uit te voeren.
Als u voorbeeldqueryresultaten wilt zien, plakt u de volgende query in het tekstvak van de query en selecteert u de knop Uitvoeren om de query uit te voeren. Met deze query worden alle logboekvermeldingen weergegeven waarvan het veld Bericht het woord 'waarschuwen' bevat:
ContainerInstanceLog_CL
| where Message contains "warn"
Complexere query's worden ook ondersteund. Met deze query worden bijvoorbeeld alleen de logboekvermeldingen weergegeven voor de containergroep 'mycontainergroup001' die in het afgelopen uur is gegenereerd:
ContainerInstanceLog_CL
| where (ContainerGroup_s == "mycontainergroup001")
| where (TimeGenerated > ago(1h))
Logboekschema
Zie Verouderde Log Analytics tabellen voor meer informatie over het Azure Monitor oude schema voor Log Analytics.
Diagnostische instellingen gebruiken
Gebruik diagnostische instellingen om logboeken en gebeurtenissen van containergroepen te routeren naar Log Analytics. Deze functie biedt verschillende voordelen ten opzichte van de verouderde integratie die in dit artikel wordt beschreven:
- Ondersteuning voor privé-eindpunten: werkt met Log Analytics werkruimten die gebruikmaken van privé-eindpunten.
- Er is geen werkruimtesleutel vereist: Azure Resource Manager de verificatie afhandelt, zodat u werkruimtesleutels niet hoeft te beheren of draaien.
- Standard Azure Monitor tabellen: logboeken gaan naar standaardtabellen Azure Monitor tabellen in plaats van aangepaste logboektabellen.
Zie Azure Monitor Log Analytics tabellen voor meer informatie.
Volgende stappen
Azure Monitor-logboeken
Voor meer informatie over het uitvoeren van query's op logboeken en het configureren van waarschuwingen in Azure Monitor-logboeken, zie:
CPU en geheugen van een container bewaken
Voor informatie over het bewaken van CPU- en geheugenresources van containerinstanties, zie: