Använda Linux-diagnostiktillägget 4.0 för att övervaka mått och loggar
Varning
Den här artikeln refererar till CentOS, en Linux-distribution som har statusen End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.
Den här artikeln beskriver de senaste versionerna av Linux-diagnostiktillägget (LAD).
Viktigt!
Information om version 3.x finns i Använda Linux-diagnostiktillägget 3.0 för att övervaka mått och loggar. Information om version 2.3 och tidigare finns i Övervaka prestanda och diagnostikdata för en virtuell Linux-dator.
Med Linux-diagnostiktillägget kan du övervaka hälsotillståndet för en virtuell Linux-dator på Microsoft Azure. Den har följande funktioner:
Data source | Anpassningsalternativ | Obligatoriska mål | Valfria mål |
---|---|---|---|
Mått | Counter, Aggregation, Sample Rate, Specifiers | Azure Table Storage | EventHub, Azure Blob Storage (JSON-format), Azure Monitor (nytt i LAD 4.0) |
Syslog | Anläggning, allvarlighetsgrad | Azure Table Storage | EventHub, Azure Blob Storage (JSON-format) |
Filer | Loggsökväg, måltabell | Azure Table Storage | EventHub, Azure Blob Storage (JSON-format) |
Det här tillägget fungerar med både Azure-distributionsmodeller: Azure Resource Manager och klassiskt.
Förutsättningar
- Azure Linux-agent version 2.2.0 eller senare. De flesta Azure VM Linux-galleriavbildningar innehåller version 2.2.7 eller senare. Kör
/usr/sbin/waagent -version
för att bekräfta den version som är installerad på den virtuella datorn. Om den virtuella datorn kör en äldre version av gästagenten uppdaterar du Linux-agenten. - Azure CLI. Konfigurera Azure CLI-miljön på datorn.
- Kommandot
wget
. Om du inte redan har den installerar du den med hjälp av motsvarande pakethanterare. - En Azure-prenumeration och ett lagringskonto för generell användning för att lagra data. Allmänna lagringskonton stöder tabelllagring, vilket krävs. Ett bloblagringskonto fungerar inte.
- Python 2.
Linux-distributioner som stöds
Se Agentoperativsystem som stöds.
Python-krav
Linux-diagnostiktillägget kräver Python 2. Om den virtuella datorn använder en distribution som inte innehåller Python 2 installerar du den.
Kommentar
Vi planerar för närvarande att konvergera alla versioner av Linux Diagnostic Extensions (LAD) med den nya Azure Monitoring Agent, som redan stöder Python 3. LAD kommer att schemaläggas för utfasning i väntan på tillkännagivande och godkännande.
Installera Python 2 genom att köra något av följande exempelkommandon:
- Red Hat, CentOS, Oracle:
yum install -y python2
- Ubuntu, Debian:
apt-get install -y python2
- SUSE:
zypper install -y python2
Den python2
körbara filen måste vara alias för python
.
Kör följande kommando för att ta bort eventuella befintliga alias.
sudo update-alternatives --remove-all python
Kör följande kommando för att skapa det nya aliaset.
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
Installera tillägget
Du kan aktivera det här tillägget för den virtuella datorn och vm-skalningsuppsättningen med hjälp av Azure PowerShell-cmdletar, Azure CLI-skript, Azure Resource Manager-mallar (ARM-mallar) eller Azure-portalen. Mer information finns i Tillägg och funktioner för virtuella datorer för Linux.
Kommentar
Vissa komponenter i tillägget för den virtuella Linux-diagnostikdatorn levereras också i Log Analytics VM-tillägget. Konflikter kan uppstå om båda tilläggen instansieras i samma ARM-mall.
För att undvika konflikter vid installationstid använder dependsOn
du direktivet för att installera tilläggen sekventiellt. Tilläggen kan installeras i båda ordningarna.
Använd installationsanvisningarna och en nedladdningsbar exempelkonfiguration för att konfigurera LAD 4.0 för att:
- Samla in och lagra samma mått som lad-versionerna 2.3 och 3.x.
- Skicka mått till Azure Monitor-mottagaren tillsammans med den vanliga mottagaren till Azure Storage. Den här funktionen är ny i LAD 4.0.
- Samla in en användbar uppsättning filsystemmått, som i LAD 3.0.
- Samla in standardsamlingen för syslog som är aktiverad av LAD 2.3.
- Aktivera Azure Portal-upplevelsen för diagram och aviseringar för VM-mått.
Den nedladdningsbara konfigurationen är bara ett exempel. Ändra den så att den passar dina behov.
Installation
Du kan installera och konfigurera LAD 4.0 i Azure CLI eller i Azure PowerShell.
Om dina skyddade inställningar finns i filen ProtectedSettings.json och den offentliga konfigurationsinformationen finns i PublicSettings.json kör du det här kommandot:
az vm extension set --publisher Microsoft.Azure.Diagnostics \
--name LinuxDiagnostic --version 4.0 --resource-group <resource_group_name> \
--vm-name <vm_name> --protected-settings ProtectedSettings.json \
--settings PublicSettings.json
Kommandot förutsätter att du använder Azure Resource Management-läget i Azure CLI. Om du vill konfigurera LAD för klassiska virtuella distributionsmodelldatorer växlar du till Tjänsthanteringsläge (azure config mode asm
) och utelämnar resursgruppens namn i kommandot.
Mer information finns i cli-dokumentationen för flera plattformar.
Aktivera automatisk uppdatering
Om du vill aktivera automatisk uppdatering av agenten rekommenderar vi att du aktiverar funktionen För automatisk tilläggsuppgradering :
az vm extension set --publisher Microsoft.Azure.Diagnostics --name LinuxDiagnostic \
--version 4.0 --resource-group <resource_group_name> --vm-name <vm_name> \
--protected-settings ProtectedSettings.json --settings PublicSettings.json \
--enable-auto-upgrade true
Exempelinstallation
I de här exemplen samlar exempelkonfigurationen in en uppsättning standarddata och skickar dem till tabelllagring. URL:en för exempelkonfigurationen och dess innehåll kan ändras.
Kommentar
För följande exempel fyller du i lämpliga värden för variablerna i det första avsnittet innan du kör koden.
I de flesta fall bör du ladda ned en kopia av JSON-filen för portalinställningar och anpassa den efter dina behov. Använd mallar eller din egen automatisering för att använda en anpassad version av konfigurationsfilen i stället för att ladda ned från URL:en varje gång.
När du aktiverar den nya Azure Monitor-mottagaren måste de virtuella datorerna ha systemtilldelad identitet aktiverad för att generera MSI-autentiseringstoken (Managed Service Identity). Du kan lägga till de här inställningarna under eller efter att den virtuella datorn har skapats. Anvisningar för Azure-portalen, Azure CLI, PowerShell och Azure Resource Manager finns i Konfigurera hanterade identiteter.
Installationsexempel – Azure CLI
# Set your Azure VM diagnostic variables.
my_subscription_id=<your_azure_subscription_id>
my_resource_group=<your_azure_resource_group_name_containing_your_azure_linux_vm>
my_linux_vm=<your_azure_linux_vm_name>
my_diagnostic_storage_account=<your_azure_storage_account_for_storing_vm_diagnostic_data>
# Login to Azure before you do anything else.
az login
# Select the subscription that contains the storage account.
az account set --subscription $my_subscription_id
# Enable system-assigned identity on the existing VM.
az vm identity assign --resource-group $my_resource_group --name $my_linux_vm
# Download the sample public settings. You could instead use curl or any web browser.
wget https://raw.githubusercontent.com/Azure/azure-linux-extensions/master/Diagnostic/tests/lad_2_3_compatible_portal_pub_settings.json -O portal_public_settings.json
# Build the VM resource ID. Replace the storage account name and resource ID in the public settings.
my_vm_resource_id=$(az vm show --resource-group $my_resource_group \
--name $my_linux_vm --query "id" -o tsv)
sed -i "s#__DIAGNOSTIC_STORAGE_ACCOUNT__#$my_diagnostic_storage_account#g" portal_public_settings.json
sed -i "s#__VM_RESOURCE_ID__#$my_vm_resource_id#g" portal_public_settings.json
# Build the protected settings (storage account SAS token).
my_diagnostic_storage_account_sastoken=$(az storage account generate-sas \
--account-name $my_diagnostic_storage_account --expiry 2037-12-31T23:59:00Z \
--permissions wlacu --resource-types co --services bt -o tsv)
my_lad_protected_settings="{'storageAccountName': '$my_diagnostic_storage_account', \
'storageAccountSasToken': '$my_diagnostic_storage_account_sastoken'}"
# Finally, tell Azure to install and enable the extension.
az vm extension set --publisher Microsoft.Azure.Diagnostics --name LinuxDiagnostic \
--version 4.0 --resource-group $my_resource_group --vm-name $my_linux_vm \
--protected-settings "${my_lad_protected_settings}" --settings portal_public_settings.json
Installationsexempel för VM-skalningsuppsättningar – Azure CLI
# Set your Azure virtual machine scale set diagnostic variables.
my_subscription_id=<your_azure_subscription_id>
my_resource_group=<your_azure_resource_group_name_containing_your_azure_linux_vm>
my_linux_vmss=<your_azure_linux_vmss_name>
my_diagnostic_storage_account=<your_azure_storage_account_for_storing_vm_diagnostic_data>
# Login to Azure before you do anything else.
az login
# Select the subscription that contains the storage account.
az account set --subscription $my_subscription_id
# Enable system-assigned identity on the existing virtual machine scale set.
az vmss identity assign --resource-group $my_resource_group --name $my_linux_vmss
# Download the sample public settings. You could also use curl or any web browser.
wget https://raw.githubusercontent.com/Azure/azure-linux-extensions/master/Diagnostic/tests/lad_2_3_compatible_portal_pub_settings.json -O portal_public_settings.json
# Build the virtual machine scale set resource ID. Replace the storage account name and resource ID in the public settings.
my_vmss_resource_id=$(az vmss show --resource-group $my_resource_group \
--name $my_linux_vmss --query "id" -o tsv)
sed -i "s#__DIAGNOSTIC_STORAGE_ACCOUNT__#$my_diagnostic_storage_account#g" portal_public_settings.json
sed -i "s#__VM_RESOURCE_ID__#$my_vmss_resource_id#g" portal_public_settings.json
# Build the protected settings (storage account SAS token).
my_diagnostic_storage_account_sastoken=$(az storage account generate-sas \
--account-name $my_diagnostic_storage_account --expiry 2037-12-31T23:59:00Z \
--permissions wlacu --resource-types co --services bt -o tsv)
my_lad_protected_settings="{'storageAccountName': '$my_diagnostic_storage_account', 'storageAccountSasToken': '$my_diagnostic_storage_account_sastoken'}"
# Finally, tell Azure to install and enable the extension.
az vmss extension set --publisher Microsoft.Azure.Diagnostics --name LinuxDiagnostic
--version 4.0 --resource-group $my_resource_group --vmss-name $my_linux_vmss \
--protected-settings "${my_lad_protected_settings}" --settings portal_public_settings.json
Uppdatera tilläggsinställningarna
När du har ändrat dina skyddade eller offentliga inställningar kör du samma kommando för att distribuera dem till den virtuella datorn. Om några inställningar ändras skickas uppdateringarna till tillägget. LAD läser in konfigurationen igen och startar om sig själv.
Migrera från tidigare versioner av tillägget
Den senaste versionen av tillägget är 4.0, som för närvarande är i offentlig förhandsversion. Äldre versioner av 3.x stöds fortfarande. 2.x-versioner har varit inaktuella sedan den 31 juli 2018.
Viktigt!
Om du vill migrera från 3.x till den senaste versionen av tillägget avinstallerar du det gamla tillägget. Installera sedan version 4, som innehåller den uppdaterade konfigurationen för systemtilldelad identitet och mottagare för att skicka mått till Azure Monitor-mottagaren.
När du installerar det nya tillägget aktiverar du automatiska delversionsuppgraderingar:
- På virtuella Datorer med Azure Resource Manager-distributionsmodellen tar du med
"autoUpgradeMinorVersion": true
i mallen för VM-distribution. - På klassiska virtuella distributionsmodelldatorer anger du version
4.*
om du installerar tillägget via Azure CLI eller PowerShell.
Du kan använda samma lagringskonto som du använde för LAD 3.x.
Skyddade inställningar
Den här uppsättningen konfigurationsinformation innehåller känslig information som ska skyddas från offentlig vy. Den innehåller till exempel autentiseringsuppgifter för lagring. Inställningarna överförs till tillägget, som lagrar dem i krypterad form.
{
"storageAccountName" : "the storage account to receive data",
"storageAccountEndPoint": "the hostname suffix for the cloud for this account",
"storageAccountSasToken": "SAS access token",
"mdsdHttpProxy": "HTTP proxy settings",
"sinksConfig": { ... }
}
Name | Värde |
---|---|
storageAccountName | Namnet på lagringskontot där tillägget skriver data. |
storageAccountEndPoint | (Valfritt) Slutpunkten som identifierar molnet där lagringskontot finns. Om den här inställningen saknas använder LAD som standard det offentliga Azure-molnet, https://core.windows.net . Om du vill använda ett lagringskonto i Azure Tyskland, Azure Government eller Microsoft Azure som drivs av 21Vianet anger du det här värdet efter behov. |
storageAccountSasToken | En SAS-kontotoken för blob- och tabelltjänster (ss='bt' ). Den här token gäller för containrar och objekt (srt='co' ). Det ger behörighet att lägga till, skapa, lista, uppdatera och skriva (sp='acluw' ). Ta inte med det inledande frågetecknet (?). |
mdsdHttpProxy | (Valfritt) HTTP-proxyinformation som tillägget behöver för att ansluta till det angivna lagringskontot och slutpunkten. |
sinksConfig | (Valfritt) Information om alternativa mål som mått och händelser kan levereras till. Följande avsnitt innehåller information om varje datamottagare som tillägget stöder. |
Om du vill hämta en SAS-token i en ARM-mall använder du listAccountSas
funktionen. En exempelmall finns i Exempel på listfunktion.
Du kan skapa den obligatoriska signaturtoken för delad åtkomst via Azure-portalen:
- Välj det allmänna lagringskonto som du vill att tillägget ska skriva till.
- I menyn till vänster går du till Säkerhet + nätverk och väljer Signatur för delad åtkomst.
- Gör valen enligt beskrivningen ovan.
- Välj Skapa SAS och anslutningssträng.
Kopiera signaturen för genererad delad åtkomst till fältet storageAccountSasToken
. Ta bort det inledande frågetecknet (?).
sinksConfig
Kommentar
Både offentliga och skyddade inställningar har ett valfritt sinksConfig
avsnitt. Avsnittet sinksConfig
i de skyddade inställningarna innehåller EventHub
bara och JsonBlob
hanterar konfigurationer på grund av att hemligheter som sasURL
s ingår. AzMonSink
det går inte att inkludera mottagarkonfigurationer i dina skyddade inställningar.
"sinksConfig": {
"sink": [
{
"name": "sinkname",
"type": "sinktype",
...
},
...
]
},
Det sinksConfig
valfria avsnittet definierar fler mål som tillägget skickar insamlad information till. Matrisen "sink"
innehåller ett objekt för varje extra datamottagare. Attributet "type"
bestämmer de andra attributen i objektet.
Element | Värde |
---|---|
name | En sträng som används för att referera till den här mottagaren någon annanstans i tilläggskonfigurationen. |
type | Vilken typ av mottagare som definieras. Avgör eventuella andra värden i instanser av den här typen. |
Linux-diagnostiktillägget 4.0 stöder två skyddade mottagartyper: EventHub
och JsonBlob
.
EventHub-mottagare
"sink": [
{
"name": "sinkname",
"type": "EventHub",
"sasURL": "https SAS URL"
},
...
]
Posten "sasURL"
innehåller den fullständiga URL:en, inklusive signaturtoken för delad åtkomst, för den händelsehubb som data ska publiceras till. LAD kräver en signatur för delad åtkomst för att namnge en princip som aktiverar sändningsanspråket. Här är ett exempel:
- Skapa ett Event Hubs-namnområde med namnet
contosohub
. - Skapa en händelsehubb i namnområdet med namnet
syslogmsgs
. - Skapa en princip för delad åtkomst på händelsehubben med namnet
writer
som aktiverar sändningsanspråket.
Om du skapar en SAS som är bra fram till midnatt UTC den sasURL
1 januari 2018 kan värdet vara som i följande exempel.
https://contosohub.servicebus.windows.net/syslogmsgs?sr=contosohub.servicebus.windows.net%2fsyslogmsgs&sig=xxxxxxxxxxxxxxxxxxxxxxxxx&se=1514764800&skn=writer
Mer information om hur du genererar och hämtar information om SAS-token för Event Hubs finns i Generera en SAS-token.
JsonBlob-mottagare
"sink": [
{
"name": "sinkname",
"type": "JsonBlob"
},
...
]
Data som dirigeras till en JsonBlob
mottagare lagras i blobar i Azure Storage. Varje instans av LAD skapar en blob varje timme för varje mottagarnamn. Varje blob innehåller alltid en syntaktiskt giltig JSON-matris med objekt. Nya poster läggs till atomiskt i matrisen.
Blobar lagras i en container som har samma namn som mottagaren. Azure Storage-reglerna för blobcontainernamn gäller för namnen JsonBlob
på mottagare. Namn måste ha mellan 3 och 63 alfanumeriska alfanumeriska ASCII-tecken eller bindestreck.
Offentliga inställningar
Strukturen för offentliga inställningar innehåller olika block med inställningar som styr den information som tillägget samlar in. Varje inställning, förutom ladCfg
, är valfri. Om du anger mått- eller syslog-samling i ladCfg
måste du också ange StorageAccount
. Du måste ange elementet sinksConfig
för att aktivera Azure Monitor-mottagaren för mått från LAD 4.0.
{
"ladCfg": { ... },
"fileLogs": { ... },
"StorageAccount": "the storage account to receive data",
"sinksConfig": { ... },
"mdsdHttpProxy" : ""
}
Element | Värde |
---|---|
StorageAccount | Namnet på lagringskontot där tillägget skriver data. Måste vara det namn som anges i de skyddade inställningarna. |
mdsdHttpProxy | (Valfritt) Proxyn som anges i de skyddade inställningarna. Om det privata värdet anges åsidosätter det det offentliga värdet. Placera proxyinställningar som innehåller en hemlighet, till exempel ett lösenord, i de skyddade inställningarna. |
Följande avsnitt innehåller information om de återstående elementen.
ladCfg
"ladCfg": {
"diagnosticMonitorConfiguration": {
"eventVolume": "Medium",
"metrics": { ... },
"performanceCounters": { ... },
"syslogEvents": { ... }
},
"sampleRateInSeconds": 15
}
Strukturen ladCfg
styr insamlingen av mått och loggar för leverans till Azure Monitor Metrics-tjänsten och till andra datamottagare. Ange antingen performanceCounters
eller syslogEvents
båda. Ange metrics
även strukturen.
Om du inte vill aktivera syslog- eller måttsamling anger du en tom struktur för elementet ladCfg
:
"ladCfg": {
"diagnosticMonitorConfiguration": {}
}
Element | Värde |
---|---|
eventVolume | (Valfritt) Styr antalet partitioner som skapats i lagringstabellen. Värdet måste vara "Large" , "Medium" eller "Small" . Standardvärdet är "Medium" . |
sampleRateInSeconds | (Valfritt) Standardintervallet mellan samlingen med råa mått, det vill: oaggregerade mått. Den minsta samplingsfrekvensen som stöds är 15 sekunder. Standardvärdet är 15 . |
metrics
"metrics": {
"resourceId": "/subscriptions/...",
"metricAggregation" : [
{ "scheduledTransferPeriod" : "PT1H" },
{ "scheduledTransferPeriod" : "PT5M" }
]
}
Element | Värde |
---|---|
resourceId | Azure Resource Manager-resurs-ID för den virtuella datorn eller vm-skalningsuppsättningen som den virtuella datorn tillhör. Ange även den här inställningen om konfigurationen använder någon JsonBlob mottagare. |
scheduledTransferPeriod | Den frekvens med vilken aggregerade mått beräknas och överförs till Azure Monitor Metrics. Frekvensen uttrycks som ett IS 8601-tidsintervall. Den minsta överföringsperioden är 60 sekunder, d.v.s. PT1M. Ange minst en scheduledTransferPeriod . |
Exempel på måtten som anges i performanceCounters
avsnittet samlas in var 15:e sekund eller med den exempelfrekvens som uttryckligen definierats för räknaren. Om flera scheduledTransferPeriod
frekvenser visas, som i exemplet, beräknas varje aggregering oberoende av varandra.
performanceCounters
"performanceCounters": {
"sinks": "",
"performanceCounterConfiguration": [
{
"type": "builtin",
"class": "Processor",
"counter": "PercentIdleTime",
"counterSpecifier": "/builtin/Processor/PercentIdleTime",
"condition": "IsAggregate=TRUE",
"sampleRate": "PT15S",
"unit": "Percent",
"annotation": [
{
"displayName" : "cpu idle time",
"locale" : "en-us"
}
]
}
]
}
Det performanceCounters
valfria avsnittet styr samlingen av mått. Rådata aggregeras för varje scheduledTransferPeriod för att generera följande värden:
- Medelvärde
- Minimum
- Maximum
- Senast insamlat värde
- Antal råexempel som används för att beräkna aggregering
Element | Värde |
---|---|
Sjunker | (Valfritt) En kommaavgränsad lista med namn på mottagare som LAD skickar aggregerade måttresultat till. Alla aggregerade mått publiceras till varje listad mottagare. Exempel: "MyEventHubSink, MyJsonSink, MyAzMonSink" Mer information finns i sinksConfig (skyddade inställningar) och sinksConfig (offentliga inställningar). |
type | Identifierar den faktiska providern för måttet. |
klass | Tillsammans med "counter" identifierar det specifika måttet i providerns namnområde. |
räknare | Tillsammans med "class" identifierar det specifika måttet i providerns namnområde. Se en lista över tillgängliga räknare. |
counterSpecifier | Identifierar måttet i namnområdet Azure Monitor Metrics. |
villkor | (Valfritt) Väljer en instans av det objekt som måttet gäller för. Eller väljer aggregering för alla instanser av objektet. |
sampleRate | IS 8601-intervallet som anger den hastighet med vilken rådata för det här måttet samlas in. Om värdet inte anges anger värdet sampleRateInSeconds för insamlingsintervallet. Den kortaste exempelfrekvensen som stöds är 15 sekunder (PT15S). |
unit | Definierar enheten för måttet. Bör vara en av dessa strängar: , , , , , , "BytesPerSecond" , "Millisecond" . "Percent" "CountPerSecond" "Seconds" "Bytes" "Count" Konsumenter av insamlade data förväntar sig att de insamlade datavärdena matchar den här enheten. LAD ignorerar det här fältet. |
displayName | Etiketten som ska kopplas till data i Azure Monitor Metrics när du Guest (classic) visar i måttnamnområdet. Den här etiketten finns på det språk som anges av den associerade språkinställningen. LAD ignorerar det här fältet. Obs! Om du visar samma mått i azure.vm.linux.guestmetrics måttnamnområdet, som är tillgängligt om AzMonSink det är konfigurerat, beror visningsnamnet helt på räknaren. Information om hur du hittar mappningen mellan räknare och namn finns i Mått som stöds av den inbyggda providern. |
counterSpecifier
är en godtycklig identifierare. Konsumenter av mått, till exempel azure-portalens diagram- och aviseringsfunktion, använder counterSpecifier
som nyckel som identifierar ett mått eller en instans av ett mått.
För builtin
mått rekommenderar counterSpecifier
vi värden som börjar med /builtin/
. Om du vill samla in en specifik instans av ett mått kopplar du instansens identifierare till counterSpecifier
värdet. Nedan följer några exempel:
/builtin/Processor/PercentIdleTime
. Inaktiv tid i genomsnitt för alla vCPU:er/builtin/Disk/FreeSpace(/mnt)
. Ledigt utrymme för/mnt
filsystemet/builtin/Disk/FreeSpace
. Ledigt utrymme i genomsnitt för alla monterade filsystem
LAD och Azure-portalen förväntar sig counterSpecifier
inte att värdet ska matcha något mönster. Var konsekvent i hur du skapar counterSpecifier
värden.
När du anger performanceCounters
skriver LAD alltid data till en tabell i Azure Storage. Samma data kan skrivas till JSON-blobar eller händelsehubbar eller båda. Du kan inte inaktivera lagring av data till en tabell.
Alla instanser av LAD som använder samma lagringskontonamn och slutpunkt lägger till sina mått och loggar i samma tabell. Om för många virtuella datorer skriver till samma tabellpartition kan Azure begränsa skrivningar till partitionen.
Inställningen eventVolume
gör att poster sprids över 1 (liten), 10 (medel) eller 100 (stora) partitioner. Vanligtvis räcker det med medelstora partitioner för att undvika trafikbegränsning.
Azure Monitor Metrics-funktionen i Azure-portalen använder data i den här tabellen för att skapa grafer eller utlösa aviseringar. Tabellnamnet är sammanlänkningen av dessa strängar:
WADMetrics
"scheduledTransferPeriod"
För de aggregerade värden som lagras i tabellenP10DV2S
- Ett datum i formuläret YYYYMMDD, som ändras var 10:e dag
Exempel är WADMetricsPT1HP10DV2S20170410
och WADMetricsPT1MP10DV2S20170609
.
syslogEvents
"syslogEvents": {
"sinks": "",
"syslogEventConfiguration": {
"facilityName1": "minSeverity",
"facilityName2": "minSeverity",
...
}
}
Det syslogEvents
valfria avsnittet styr samlingen av logghändelser från syslog. Om avsnittet utelämnas registreras inte syslog-händelser alls.
Samlingen syslogEventConfiguration
har en post för varje syslog-anläggning av intresse. Om minSeverity
är "NONE"
för en viss anläggning, eller om den anläggningen inte visas i elementet alls, fångas inga händelser från den anläggningen.
Element | Värde |
---|---|
Sjunker | En kommaavgränsad lista över namn på mottagare som enskilda logghändelser publiceras till. Alla logghändelser som matchar begränsningarna i syslogEventConfiguration publiceras till varje listad mottagare. Exempel: "EHforsyslog" |
facilityName | Ett namn på en syslog-anläggning, till exempel "LOG_USER" eller "LOG_LOCAL0" . Mer information finns i Värden för anläggning på den manuella sidan för syslog. |
minSeverity | En allvarlighetsgrad för syslog, till exempel "LOG_ERR" eller "LOG_INFO" . Mer information finns i Värden för nivå på den manuella syslog-sidan. Tillägget samlar in händelser som skickas till anläggningen på eller över den angivna nivån. |
När du anger syslogEvents
skriver LAD alltid data till en tabell med namnet LinuxSyslogVer2v0 i Azure Storage. Samma data kan skrivas till JSON-blobar eller händelsehubbar eller båda. Du kan inte inaktivera lagring av data till en tabell.
sinksConfig
Det valfria offentliga sinksConfig
avsnittet gör det möjligt att skicka mått till Azure Monitor-mottagaren utöver lagringskontot och standardvyn Gästmått.
Kommentar
Både offentliga och skyddade inställningar har ett valfritt sinksConfig
avsnitt. Avsnittet sinksConfig
i de offentliga inställningarna innehåller AzMonSink
bara mottagarkonfigurationen. EventHub
och JsonBlob
mottagarkonfigurationer kan inte ingå i dina offentliga inställningar.
Kommentar
Avsnittet sinksConfig
kräver att systemtilldelad identitet aktiveras på de virtuella datorerna eller vm-skalningsuppsättningen.
Du kan aktivera systemtilldelad identitet via Azure-portalen, CLI, PowerShell eller Azure Resource Manager. Följ de detaljerade instruktionerna eller se föregående installationsexempel i den här artikeln.
"sinksConfig": {
"sink": [
{
"name": "AzMonSink",
"type": "AzMonSink",
"AzureMonitor": {}
}
]
},
fileLogs
Avsnittet fileLogs
styr insamlingen av loggfiler. LAD samlar in nya textrader när de skrivs till filen. Den skriver dem till tabellrader och eventuella angivna mottagare, till exempel JsonBlob
och EventHub
.
Kommentar
fileLogs
Samlas in av en underkomponent av LAD som heter omsagent
. Om du vill samla in fileLogs
kontrollerar du att omsagent
användaren har läsbehörighet för de filer som du anger. Den måste också ha körningsbehörigheter för alla kataloger i sökvägen till filen. När LAD har installerats kör du för att kontrollera behörigheter sudo su omsagent -c 'cat /path/to/file'
.
"fileLogs": [
{
"file": "/var/log/mydaemonlog",
"table": "MyDaemonEvents",
"sinks": ""
}
]
Element | Värde |
---|---|
fil | Den fullständiga sökvägen till loggfilen som ska övervakas och avbildas. Sökvägen kan inte ange en katalog eller innehålla jokertecken. Användarkontot omsagent måste ha läsbehörighet till filsökvägen. |
table | (Valfritt) Azure Storage-tabellen som nya rader från filens svans skrivs till. Tabellen måste finnas i det avsedda lagringskontot enligt beskrivningen i den skyddade konfigurationen. |
Sjunker | (Valfritt) En kommaavgränsad lista med namn på fler mottagare som loggrader skickas till. |
Antingen "table"
eller "sinks"
båda måste anges.
Mått som stöds av den inbyggda providern
Standardmåtten som LAD stöder aggregeras i alla filsystem, diskar eller namn. För icke-aggregerade mått, se det nyare stödet för Azure Monitor-mottagarmått.
Kommentar
Visningsnamnen för varje mått varierar beroende på det måttnamnområde som det tillhör:
Guest (classic)
ifyllt från ditt lagringskonto: det som angesdisplayName
iperformanceCounters
avsnittet eller standardvisningsnamnet som visas i Azure-portalen. För den virtuella datorn går du till Fliken Övervakningsdiagnostik> och väljer fliken Mått.azure.vm.linux.guestmetrics
fylls frånAzMonSink
, om konfigurerad: "azure.vm.linux.guestmetrics
Visningsnamn" som anges i följande tabeller.
Måttvärdena mellan Guest (classic)
och azure.vm.linux.guestmetrics
versionerna skiljer sig åt. Medan de klassiska måtten hade vissa aggregeringar som tillämpades i agenten, är de nya måtten oaggregerade räknare, vilket ger kunderna flexibiliteten att aggregera efter behov vid visning/aviseringstid.
Måttprovidern builtin
är en källa till mått som är mest intressant för en bred uppsättning användare. Dessa mått delas in i fem breda klasser:
- Processor
- Minne
- Nätverk
- Filsystem
- Disk
inbyggda mått för processorklassen
Måttklassen Processor innehåller information om processoranvändning på den virtuella datorn. När procentandelar aggregeras blir resultatet medelvärdet för alla processorer.
Om en virtuell vCPU-dator är 100 procent upptagen och den andra är 100 procent inaktiv är den rapporterade PercentIdleTime
50 på en virtuell dator med två virtuella processorer. Om varje vCPU är 50 procent upptagen under samma period är det rapporterade resultatet också 50. I en virtuell dator med fyra vCPU:er, när en vCPU är 100 procent upptagen och de andra är inaktiva, är den rapporterade PercentIdleTime
75.
Räknare | azure.vm.linux.guestmetrics Visningsnamn | Innebörd |
---|---|---|
PercentIdleTime | cpu idle time |
Procentandel av tiden under aggregeringsfönstret som processorer körde kernelns inaktiva loop |
PercentProcessorTime | cpu percentage guest os |
Procentandel av tiden som kör en tråd som inte är inaktiv |
PercentIOWaitTime | cpu io wait time |
Procentandel av tiden som väntar på att I/O-åtgärder ska slutföras |
PercentInterruptTime | cpu interrupt time |
Procentandel tid som kör maskin- eller programvaruavbrott och uppskjutna proceduranrop (DPC) |
PercentUserTime | cpu user time |
Av inte inaktiv tid under aggregeringsfönstret, procentandelen tid som spenderas i användarläge med normal prioritet |
PercentNiceTime | cpu nice time |
Av inte inaktiv tid, den procentandel som spenderas på lägre (trevlig) prioritet |
PercentPrivilegedTime | cpu privileged time |
Av inte inaktiv tid spenderas procentandelen i privilegierat läge (kernel) |
De första fyra räknarna ska summeras till 100 procent. De tre sista räknarna summerar också till 100 procent. Dessa tre räknare delar upp summan av PercentProcessorTime
, PercentIOWaitTime
och PercentInterruptTime
.
inbyggda mått för klassen Minne
Måttklassen Minne innehåller information om minnesanvändning, växling och byte.
Räknare | azure.vm.linux.guestmetrics Visningsnamn | Innebörd |
---|---|---|
AvailableMemory | memory available |
Tillgängligt fysiskt minne i MiB |
PercentAvailableMemory | mem. percent available |
Tillgängligt fysiskt minne som en procentandel av det totala minnet |
UsedMemory | memory used |
Fysiskt minne som används (MiB) |
PercentUsedMemory | memory percentage |
Fysiskt minne som används i procent av det totala minnet |
PagesPerSec | pages |
Total växling (läsning/skrivning) |
PagesReadPerSec | page reads |
Sidor som lästs från lagringsplatsen, till exempel växlingsfil, programfil och mappad fil |
PagesWrittenPerSec | page writes |
Sidor som skrivits till lagringsplatsen, till exempel växlingsfil och mappad fil |
AvailableSwap | swap available |
Oanvänt växlingsutrymme (MiB) |
PercentAvailableSwap | swap percent available |
Oanvänt växlingsutrymme som en procentandel av det totala bytet |
UsedSwap | swap used |
Använd växlingsutrymme (MiB) |
PercentUsedSwap | swap percent used |
Växlingsutrymme som används i procent av det totala bytet |
Den här måttklassen har bara en instans. Attributet "condition"
har inga användbara inställningar och bör utelämnas.
inbyggda mått för nätverksklassen
Nätverksklassen med mått innehåller information om nätverksaktivitet i ett enskilt nätverksgränssnitt sedan starten.
LAD exponerar inte bandbreddsmått. Du kan hämta dessa mått från värdmått.
Räknare | azure.vm.linux.guestmetrics Visningsnamn | Innebörd |
---|---|---|
BytesTransmitted | network out guest os |
Totalt antal byte som skickats sedan starten |
BytesReceived | network in guest os |
Totalt antal byte som tagits emot sedan starten |
BytesTotal | network total bytes |
Totalt antal skickade eller mottagna byte sedan starten |
PaketÖverförda | packets sent |
Totalt antal paket som skickats sedan starten |
PacketsReceived | packets received |
Totalt antal paket som tagits emot sedan starten |
TotalRxErrors | packets received errors |
Antal mottagningsfel sedan starten |
TotalTxErrors | packets sent errors |
Antal överföringsfel sedan starten |
TotalCollisions | network collisions |
Antal kollisioner som rapporterats av nätverksportarna sedan starten |
inbyggda mått för filsystemklassen
Måttklassen Filsystem innehåller information om filsystemanvändning. Absoluta värden och procentvärden rapporteras eftersom de skulle visas för en vanlig användare, inte för roten.
Räknare | azure.vm.linux.guestmetrics Visningsnamn | Innebörd |
---|---|---|
Freespace | filesystem free space |
Tillgängligt diskutrymme i byte |
UsedSpace | filesystem used space |
Använt diskutrymme i byte |
PercentFreeSpace | filesystem % free space |
Procentandel ledigt utrymme |
PercentUsedSpace | filesystem % used space |
Procentandel använt utrymme |
PercentFreeInodes | filesystem % free inodes |
Procentandel oanvända indexnoder (innoder) |
PercentUsedInodes | filesystem % used inodes |
Procentandel allokerade (används) innoder som summerats i alla filsystem |
BytesReadPerSecond | filesystem read bytes/sec |
Byte läse per sekund |
BytesWrittenPerSecond | filesystem write bytes/sec |
Byte skrivs per sekund |
BytesPerSecond | filesystem bytes/sec |
Byte läs- eller skrivskyddade per sekund |
ReadsPerSecond | filesystem reads/sec |
Läsåtgärder per sekund |
WritesPerSecond | filesystem writes/sec |
Skrivåtgärder per sekund |
TransfersPerSecond | filesystem transfers/sec |
Läs- eller skrivåtgärder per sekund |
inbyggda mått för diskklassen
Måttklassen Disk innehåller information om diskenhetsanvändning. Den här statistiken gäller för hela enheten.
När en enhet har flera filsystem aggregeras räknarna för den enheten i praktiken över alla filsystem.
Räknare | azure.vm.linux.guestmetrics Visningsnamn | Innebörd |
---|---|---|
ReadsPerSecond | disk reads |
Läsåtgärder per sekund |
WritesPerSecond | disk writes |
Skrivåtgärder per sekund |
TransfersPerSecond | disk transfers |
Totalt antal åtgärder per sekund |
AverageReadTime | disk read time |
Genomsnittlig sekund per läsåtgärd |
AverageWriteTime | disk write time |
Genomsnittlig sekund per skrivåtgärd |
AverageTransferTime | disk transfer time |
Genomsnittliga sekunder per åtgärd |
AverageDiskQueueLength | disk queue length |
Genomsnittligt antal diskåtgärder i kö |
ReadBytesPerSecond | disk read guest os |
Antal byte som lästs per sekund |
WriteBytesPerSecond | disk write guest os |
Antal byte skrivna per sekund |
BytesPerSecond | disk total bytes |
Antal lästa eller skrivna byte per sekund |
Exempel på LAD 4.0-konfiguration
Baserat på ovanstående definitioner innehåller det här avsnittet en lad 4.0-exempeltilläggskonfiguration och en förklaring. Använd ditt eget lagringskontonamn, signaturtoken för delad åtkomst och SAS-token för Event Hubs om du vill använda det här exemplet.
Kommentar
Beroende på om du använder Azure CLI eller Azure PowerShell för att installera LAD skiljer sig metoden för att tillhandahålla offentliga och skyddade inställningar:
- Om du använder Azure CLI sparar du följande inställningar för att ProtectedSettings.json och PublicSettings.json för att använda föregående exempelkommando.
- Om du använder PowerShell kör
$protectedSettings = '{ ... }'
du och$publicSettings = '{ ... }'
sparar följande inställningar till$protectedSettings
och$publicSettings
.
Konfiguration av skyddade inställningar
De skyddade inställningarna konfigurerar:
- Ett lagringskonto.
- En matchande signaturtoken för delad åtkomst för kontot.
- Flera mottagare:
JsonBlob
ellerEventHub
med SAS-token.
{
"storageAccountName": "yourdiagstgacct",
"storageAccountSasToken": "sv=xxxx-xx-xx&ss=bt&srt=co&sp=wlacu&st=yyyy-yy-yyT21%3A22%3A00Z&se=zzzz-zz-zzT21%3A22%3A00Z&sig=fake_signature",
"sinksConfig": {
"sink": [
{
"name": "SyslogJsonBlob",
"type": "JsonBlob"
},
{
"name": "FilelogJsonBlob",
"type": "JsonBlob"
},
{
"name": "LinuxCpuJsonBlob",
"type": "JsonBlob"
},
{
"name": "MyJsonMetricsBlob",
"type": "JsonBlob"
},
{
"name": "LinuxCpuEventHub",
"type": "EventHub",
"sasURL": "https://youreventhubnamespace.servicebus.windows.net/youreventhubpublisher?sr=https%3a%2f%2fyoureventhubnamespace.servicebus.windows.net%2fyoureventhubpublisher%2f&sig=fake_signature&se=1808096361&skn=yourehpolicy"
},
{
"name": "MyMetricEventHub",
"type": "EventHub",
"sasURL": "https://youreventhubnamespace.servicebus.windows.net/youreventhubpublisher?sr=https%3a%2f%2fyoureventhubnamespace.servicebus.windows.net%2fyoureventhubpublisher%2f&sig=yourehpolicy&skn=yourehpolicy"
},
{
"name": "LoggingEventHub",
"type": "EventHub",
"sasURL": "https://youreventhubnamespace.servicebus.windows.net/youreventhubpublisher?sr=https%3a%2f%2fyoureventhubnamespace.servicebus.windows.net%2fyoureventhubpublisher%2f&sig=yourehpolicy&se=1808096361&skn=yourehpolicy"
}
]
}
}
Konfiguration av offentliga inställningar
De offentliga inställningarna gör att LAD gör följande:
- Ladda upp mått för procent processortid och mått för använt diskutrymme till tabellen
WADMetrics*
. - Ladda upp meddelanden från syslog-anläggningen
"user"
och allvarlighetsgraden"info"
tillLinuxSyslog*
tabellen. - Ladda upp bifogade rader i filen
/var/log/myladtestlog
tillMyLadTestLog
tabellen.
I varje fall laddas även data upp till:
- Azure Blob Storage. Containernamnet är som definierat i
JsonBlob
mottagaren. - En Event Hubs-slutpunkt enligt vad som anges i
EventHub
mottagaren.
{
"StorageAccount": "yourdiagstgacct",
"ladCfg": {
"sampleRateInSeconds": 15,
"diagnosticMonitorConfiguration": {
"performanceCounters": {
"sinks": "MyMetricEventHub,MyJsonMetricsBlob",
"performanceCounterConfiguration": [
{
"unit": "Percent",
"type": "builtin",
"counter": "PercentProcessorTime",
"counterSpecifier": "/builtin/Processor/PercentProcessorTime",
"annotation": [
{
"locale": "en-us",
"displayName": "cpu percentage guest os"
}
],
"condition": "IsAggregate=TRUE",
"class": "Processor"
},
{
"unit": "Bytes",
"type": "builtin",
"counter": "UsedSpace",
"counterSpecifier": "/builtin/FileSystem/UsedSpace",
"annotation": [
{
"locale": "en-us",
"displayName": "Used disfilesystem used space"
}
],
"condition": "Name=\"/\"",
"class": "Filesystem"
}
]
},
"metrics": {
"metricAggregation": [
{
"scheduledTransferPeriod": "PT1H"
},
{
"scheduledTransferPeriod": "PT1M"
}
],
"resourceId": "/subscriptions/your_azure_subscription_id/resourceGroups/your_resource_group_name/providers/Microsoft.Compute/virtualMachines/your_vm_name"
},
"eventVolume": "Large",
"syslogEvents": {
"sinks": "SyslogJsonBlob,LoggingEventHub",
"syslogEventConfiguration": {
"LOG_USER": "LOG_INFO"
}
}
}
},
"sinksConfig": {
"sink": [
{
"name": "AzMonSink",
"type": "AzMonSink",
"AzureMonitor": {}
}
]
},
"fileLogs": [
{
"file": "/var/log/myladtestlog",
"table": "MyLadTestLog",
"sinks": "FilelogJsonBlob,LoggingEventHub"
}
]
}
I resourceId
konfigurationen måste matcha den virtuella datorns eller vm-skalningsuppsättningens.
- Diagram och aviseringar för Azure-plattformsmått vet vilken
resourceId
virtuell dator du arbetar med. Den förväntar sig att hitta data för den virtuella datorn med hjälpresourceId
av som uppslagsnyckel. - Om du använder autoskalning i Azure måste konfigurationen
resourceId
i autoskalning matcha denresourceId
som LAD använder. resourceId
är inbyggt i namnen på JSON-blobar som skrivits av LAD.
Visa dina data
Använd Azure-portalen för att visa prestandadata eller ange aviseringar:
Data performanceCounters
lagras alltid i en Azure Storage-tabell. Azure Storage-API:er är tillgängliga för många språk och plattformar.
Data som skickas till JsonBlob
mottagare lagras i blobar i lagringskontot med namnet i de skyddade inställningarna. Du kan använda blobdata i valfritt Azure Blob Storage-API.
Du kan också använda dessa gränssnittsverktyg för att komma åt data i Azure Storage:
- Visual Studio Server Explorer
- Azure Lagringsutforskaren
Följande skärmbild av en Azure Storage Explorer-session visar de genererade Azure Storage-tabellerna och containrarna från ett korrekt konfigurerat LAD 4.0-tillägg på en virtuell testdator. Avbildningen matchar inte direkt lad 4.0-exempelkonfigurationen.
Mer information om hur du använder meddelanden som publicerats till en Event Hubs-slutpunkt finns i relevant dokumentation om Event Hubs.
Nästa steg
- Skapa aviseringar för de mått som du samlar in i Azure Monitor.
- Skapa övervakningsdiagram för dina mått.
- Skapa en VM-skalningsuppsättning med hjälp av dina mått för att styra autoskalning.