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 närmar sig EOL-status (End Of Life). Ö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).

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.

  1. Kör följande kommando för att ta bort eventuella befintliga alias.

    sudo update-alternatives --remove-all python
    
  2. 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 Skyddad Inställningar.json och den offentliga konfigurationsinformationen finns i Offentlig Inställningar.json kör du följande kommando:

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:

  1. Välj det allmänna lagringskonto som du vill att tillägget ska skriva till.
  2. I menyn till vänster går du till Säkerhet + nätverk och väljer Signatur för delad åtkomst.
  3. Gör valen enligt beskrivningen ovan.
  4. Välj Skapa SAS och anslutningssträng.

Skärmbild som visar signatursidan för delad åtkomst, som har generera 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 sasURLs ingår. AzMonSinkdet 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 ladCfgmå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 performanceCountersskriver 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 tabellen
  • P10DV2S
  • 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 syslogEventsskriver 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.

Partitioneringsbeteendet för den här tabellen är detsamma som beskrivs för performanceCounters. Tabellnamnet är sammanlänkningen av dessa strängar:

  • LinuxSyslog
  • Ett datum i formuläret YYYYMMDD, som ändras var 10:e dag

Exempel är LinuxSyslog20170410 och LinuxSyslog20170609.

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 fileLogskontrollerar 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 anges displayName i performanceCounters 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ån AzMonSink, 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, PercentIOWaitTimeoch 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 i Skyddat Inställningar.json och Offentligt Inställningar.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 eller EventHub 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" till LinuxSyslog* tabellen.
  • Ladda upp bifogade rader i filen /var/log/myladtestlog till MyLadTestLog 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älp resourceId av som uppslagsnyckel.
  • Om du använder autoskalning i Azure måste konfigurationen resourceId i autoskalning matcha den resourceId 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:

Skärmbild som visar sidan Mått i Azure-portalen och Tillgänglighet vald.

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:

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.

Skärmbild som visar Azure Storage Explorer.

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