Share via


De diagnostische Linux-extensie 4.0 gebruiken om metrische gegevens en logboeken te bewaken

Let op

Dit artikel verwijst naar CentOS, een Linux-distributie met de EOL-status (End Of Life). Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

In dit artikel worden de nieuwste versies van de diagnostische Linux-extensie (LAD) beschreven.

Belangrijk

Zie De diagnostische linux-extensie 3.0 gebruiken om metrische gegevens en logboeken te bewaken voor meer informatie over versie 3.x. Zie De prestaties en diagnostische gegevens van een Linux-VM bewaken voor meer informatie over versie 2.3 en eerdere versies.

De diagnostische Linux-extensie helpt u bij het bewaken van de status van een Virtuele Linux-machine in Microsoft Azure. Het heeft de volgende mogelijkheden:

Gegevensbron Aanpassingsopties Vereiste bestemmingen Optionele bestemmingen
Metrische gegevens voor Teller, Aggregatie, Sample Rate, Specifiers Azure-tabelopslag EventHub, Azure Blob Storage (JSON-indeling), Azure Monitor (nieuw in LAD 4.0)
Syslog Faciliteit, ernstniveau Azure-tabelopslag EventHub, Azure Blob Storage (JSON-indeling)
Bestanden Logboekpad, doeltabel Azure-tabelopslag EventHub, Azure Blob Storage (JSON-indeling)

Deze extensie werkt met zowel Azure-implementatiemodellen: Azure Resource Manager als klassiek.

Vereisten

  • Azure Linux-agent versie 2.2.0 of hoger. De meeste installatiekopieën van de Linux-galerie voor Azure VM's bevatten versie 2.2.7 of hoger. Voer deze opdracht uit /usr/sbin/waagent -version om te bevestigen dat de versie die op de VIRTUELE machine is geïnstalleerd. Als de VM een oudere versie van de gastagent uitvoert, werkt u de Linux-agent bij.
  • Azure CLI. Stel de Azure CLI-omgeving op uw computer in.
  • De wget opdracht. Als u deze nog niet hebt, installeert u deze met behulp van het bijbehorende pakketbeheer.
  • Een Azure-abonnement en een opslagaccount voor algemeen gebruik om de gegevens op te slaan. Opslagaccounts voor algemeen gebruik bieden ondersteuning voor tabelopslag. Dit is vereist. Een Blob Storage-account werkt niet.
  • Python 2.

Ondersteunde Linux-distributies

Zie ondersteunde agentbesturingssystemen.

Python-vereiste

Voor de diagnostische Linux-extensie is Python 2 vereist. Als uw virtuele machine gebruikmaakt van een distributie die Geen Python 2 bevat, installeert u deze.

Notitie

We zijn momenteel van plan om alle versies van de Diagnostische Extensies voor Linux (LAD) te convergeren met de nieuwe Azure Monitoring Agent, die al Python 3 ondersteunt. De LAD wordt gepland voor afschaffing in afwachting van aankondiging en goedkeuring.

Voer een van de volgende voorbeeldopdrachten uit om Python 2 te installeren:

  • Red Hat, CentOS, Oracle: yum install -y python2
  • Ubuntu, Debian: apt-get install -y python2
  • SUSE: zypper install -y python2

Het python2 uitvoerbare bestand moet een alias hebben naar python.

  1. Voer de volgende opdracht uit om bestaande aliassen te verwijderen.

    sudo update-alternatives --remove-all python
    
  2. Voer de volgende opdracht uit om de nieuwe alias te maken.

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
    

De extensie installeren

U kunt deze extensie inschakelen voor uw VIRTUELE machine en virtuele-machineschaalset met behulp van de Azure PowerShell-cmdlets, Azure CLI-scripts, Azure Resource Manager-sjablonen (ARM-sjablonen) of Azure Portal. Zie extensies en functies voor virtuele machines voor Linux voor meer informatie.

Notitie

Sommige onderdelen van de diagnostische Linux-VM-extensie worden ook geleverd in de Log Analytics VM-extensie. Er kunnen conflicten optreden als beide extensies worden geïnstantieerd in dezelfde ARM-sjabloon.

Gebruik de dependsOn instructie om de extensies sequentieel te installeren om conflicten met de installatietijd te voorkomen. De extensies kunnen in beide volgorde worden geïnstalleerd.

Gebruik de installatie-instructies en een downloadbare voorbeeldconfiguratie om LAD 4.0 te configureren voor:

  • Leg dezelfde metrische gegevens vast en sla deze op die door LAD-versies 2.3 en 3.x zijn opgegeven.
  • Stuur metrische gegevens naar de Azure Monitor-sink, samen met de gebruikelijke sink naar Azure Storage. Deze functionaliteit is nieuw in LAD 4.0.
  • Leg een handige set metrische gegevens van het bestandssysteem vast, zoals in LAD 3.0.
  • Leg de standaard syslog-verzameling vast die is ingeschakeld door LAD 2.3.
  • Schakel de Azure-portal-ervaring in voor grafieken en waarschuwingen voor metrische gegevens van vm's.

De downloadbare configuratie is slechts een voorbeeld. Pas het aan uw behoeften aan.

Installatie

U kunt LAD 4.0 installeren en configureren in de Azure CLI of in Azure PowerShell.

Als uw beveiligde instellingen zich in het bestand ProtectedSettings.json bevinden en uw openbare configuratiegegevens zich in PublicSettings.json bevinden, voert u deze opdracht uit:

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

Bij de opdracht wordt ervan uitgegaan dat u de Azure Resource Management-modus van de Azure CLI gebruikt. Als u LAD wilt configureren voor vm's van het klassieke implementatiemodel, schakelt u over naar de servicebeheermodus (azure config mode asm) en laat u de naam van de resourcegroep weg in de opdracht.

Zie de platformoverschrijdende CLI-documentatie voor meer informatie.

Automatisch bijwerken inschakelen

Als u automatische updates van de agent wilt inschakelen, raden we u aan de functie Automatische extensie-upgrade in te schakelen:

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

Voorbeeldinstallatie

In deze voorbeelden verzamelt de voorbeeldconfiguratie een set standaardgegevens en verzendt deze naar tabelopslag. De URL voor de voorbeeldconfiguratie en de inhoud ervan kunnen worden gewijzigd.

Notitie

Vul voor de volgende voorbeelden de juiste waarden in voor de variabelen in de eerste sectie voordat u de code uitvoert.

In de meeste gevallen moet u een kopie van het JSON-bestand met portalinstellingen downloaden en aanpassen aan uw behoeften. Gebruik sjablonen of uw eigen automatisering om elke keer een aangepaste versie van het configuratiebestand te gebruiken in plaats van de URL te downloaden.

Wanneer u de nieuwe Azure Monitor-sink inschakelt, moeten de VM's een door het systeem toegewezen identiteit hebben ingeschakeld om MSI-verificatietokens (Managed Service Identity) te genereren. U kunt deze instellingen toevoegen tijdens of na het maken van de VM. Zie Beheerde identiteiten configureren voor instructies voor Azure Portal, De Azure CLI, PowerShell en Azure Resource Manager.

Installatievoorbeeld - 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

Installatievoorbeeld voor virtuele-machineschaalsets - 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

De extensie-instellingen bijwerken

Nadat u de beveiligde of openbare instellingen hebt gewijzigd, voert u dezelfde opdracht uit om ze op de VIRTUELE machine te implementeren. Als er instellingen zijn gewijzigd, worden de updates verzonden naar de extensie. LAD laadt de configuratie opnieuw en start zichzelf opnieuw op.

Migreren vanuit eerdere versies van de extensie

De nieuwste versie van de extensie is 4.0, die momenteel in openbare preview is. Oudere versies van 3.x worden nog steeds ondersteund. 2.x versies zijn afgeschaft sinds 31 juli 2018.

Belangrijk

Als u wilt migreren van 3.x naar de nieuwste versie van de extensie, verwijdert u de oude extensie. Installeer vervolgens versie 4, inclusief de bijgewerkte configuratie voor door het systeem toegewezen identiteit en sinks voor het verzenden van metrische gegevens naar de Azure Monitor-sink.

Wanneer u de nieuwe extensie installeert, schakelt u automatische upgrades van secundaire versies in:

  • Neem op vm's "autoUpgradeMinorVersion": true van het Azure Resource Manager-implementatiemodel de VM-implementatiesjabloon op.
  • Geef op vm's van het klassieke implementatiemodel versie 4.* op als u de extensie installeert via de Azure CLI of PowerShell.

U kunt hetzelfde opslagaccount gebruiken dat u hebt gebruikt voor LAD 3.x.

Beveiligde instellingen

Deze set configuratiegegevens bevat gevoelige informatie die moet worden beveiligd tegen openbare weergave. Het bevat bijvoorbeeld opslagreferenties. De instellingen worden verzonden naar de extensie, waarin ze in versleutelde vorm worden opgeslagen.

{
    "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": { ... }
}
Naam Weergegeven als
storageAccountName De naam van het opslagaccount waarin de extensie gegevens schrijft.
storageAccountEndPoint (Optioneel) Het eindpunt dat de cloud identificeert waarin het opslagaccount bestaat. Als deze instelling niet aanwezig is, gebruikt LAD standaard de openbare Azure-cloud. https://core.windows.net Als u een opslagaccount in Azure Duitsland, Azure Government of Microsoft Azure wilt gebruiken dat wordt beheerd door 21Vianet, stelt u deze waarde in zoals vereist.
storageAccountSasToken Een ACCOUNT-SAS-token voor blob- en tabelservices (ss='bt'). Dit token is van toepassing op containers en objecten (srt='co'). Het verleent machtigingen voor toevoegen, maken, weergeven, bijwerken en schrijven (sp='acluw'). Neem het voorloopvraagteken (?) niet op.
mdsdHttpProxy (Optioneel) HTTP-proxygegevens die de extensie nodig heeft om verbinding te maken met het opgegeven opslagaccount en eindpunt.
sinksConfig (Optioneel) Details van alternatieve bestemmingen waarop metrische gegevens en gebeurtenissen kunnen worden geleverd. De volgende secties bevatten details over elke gegevenssink die door de extensie wordt ondersteund.

Gebruik de listAccountSas functie om een SAS-token op te halen in een ARM-sjabloon. Zie lijstfunctievoorbeeld voor een voorbeeldsjabloon.

U kunt het vereiste shared access Signature-token maken via Azure Portal:

  1. Selecteer het opslagaccount voor algemeen gebruik waarnaar u de extensie wilt schrijven.
  2. Selecteer in het menu aan de linkerkant onder Beveiliging en netwerken de optie Shared Access Signature.
  3. Maak de selecties zoals eerder beschreven.
  4. Klik op SAS en verbindingsreeks genereren.

Schermopname van de pagina Shared Access Signature, met de sas genereren en verbindingsreeks.

Kopieer de gegenereerde handtekening voor gedeelde toegang naar het storageAccountSasToken veld. Verwijder het voorloopvraagteken (?).

sinksConfig

Notitie

Zowel openbare als beveiligde instellingen hebben een optionele sinksConfig sectie. De sinksConfig sectie in de beveiligde instellingen bevat EventHub alleen configuraties en JsonBlob sinkconfiguraties vanwege het opnemen van geheimen als sasURLs. AzMonSink Sink-configuraties kunnen niet worden opgenomen in uw beveiligde instellingen.

"sinksConfig": {
    "sink": [
        {
            "name": "sinkname",
            "type": "sinktype",
            ...
        },
        ...
    ]
},

In sinksConfig de optionele sectie worden meer bestemmingen gedefinieerd waarnaar de extensie verzamelde gegevens verzendt. De "sink" matrix bevat een object voor elke extra gegevenssink. Het "type" kenmerk bepaalt de andere kenmerken in het object.

Element Weergegeven als
naam Een tekenreeks die elders in de extensieconfiguratie naar deze sink wordt verwezen.
type Het type sink dat wordt gedefinieerd. Bepaalt de andere waarden, indien van toepassing, in exemplaren van dit type.

De diagnostische Linux-extensie 4.0 ondersteunt twee beveiligde sinktypen: EventHub en JsonBlob.

EventHub-sink

"sink": [
    {
        "name": "sinkname",
        "type": "EventHub",
        "sasURL": "https SAS URL"
    },
    ...
]

De "sasURL" vermelding bevat de volledige URL, inclusief het shared access Signature-token, voor de Event Hub waarnaar gegevens moeten worden gepubliceerd. VOOR LAD is een handtekening voor gedeelde toegang vereist om een beleid te benoemen waarmee de claim verzenden kan worden ingeschakeld. Hier volgt een voorbeeld:

  • Maak een Event Hubs-naamruimte met de naam contosohub.
  • Maak een Event Hub in de naamruimte met de naam syslogmsgs.
  • Maak een beleid voor gedeelde toegang op de Event Hub met de naam writer waarmee de verzendclaim wordt ingeschakeld.

Als u een SAS maakt die goed is tot middernacht UTC op 1 januari 2018, is de sasURL waarde mogelijk hetzelfde als in het volgende voorbeeld.

https://contosohub.servicebus.windows.net/syslogmsgs?sr=contosohub.servicebus.windows.net%2fsyslogmsgs&sig=xxxxxxxxxxxxxxxxxxxxxxxxx&se=1514764800&skn=writer

Zie Een SAS-token genereren en ophalen voor meer informatie over het genereren en ophalen van informatie over SAS-tokens voor Event Hubs.

JsonBlob-sink

"sink": [
    {
        "name": "sinkname",
        "type": "JsonBlob"
    },
    ...
]

Gegevens die naar een JsonBlob sink worden geleid, worden opgeslagen in blobs in Azure Storage. Elk exemplaar van LAD maakt elk uur een blob voor elke sinknaam. Elke blob bevat altijd een syntactisch geldige JSON-matrix met objecten. Nieuwe vermeldingen worden atomisch toegevoegd aan de matrix.

Blobs worden opgeslagen in een container met dezelfde naam als de sink. De Azure Storage-regels voor blobcontainernamen zijn van toepassing op de namen van JsonBlob sinks. Namen moeten tussen 3 en 63 kleine letters alfanumerieke ASCII-tekens of streepjes bevatten.

Openbare instellingen

De structuur van de openbare instellingen bevat verschillende blokken instellingen die de informatie bepalen die door de extensie wordt verzameld. Elke instelling, behalve ladCfg, is optioneel. Als u metrische gegevens of syslog-verzameling opgeeft ladCfg, moet u ook opgeven StorageAccount. U moet het sinksConfig element opgeven om de Azure Monitor-sink in te schakelen voor metrische gegevens van LAD 4.0.

{
    "ladCfg":  { ... },
    "fileLogs": { ... },
    "StorageAccount": "the storage account to receive data",
    "sinksConfig": { ... },
    "mdsdHttpProxy" : ""
}
Element Weergegeven als
StorageAccount De naam van het opslagaccount waarin de extensie gegevens schrijft. Moet de naam zijn die is opgegeven in de beveiligde instellingen.
mdsdHttpProxy (Optioneel) De proxy die is opgegeven in de beveiligde instellingen. Als de privéwaarde is ingesteld, wordt de openbare waarde overschreven. Plaats proxy-instellingen die een geheim, zoals een wachtwoord, bevatten in de beveiligde instellingen.

In de volgende secties vindt u meer informatie over de resterende elementen.

ladCfg

"ladCfg": {
    "diagnosticMonitorConfiguration": {
        "eventVolume": "Medium",
        "metrics": { ... },
        "performanceCounters": { ... },
        "syslogEvents": { ... }
    },
    "sampleRateInSeconds": 15
}

De ladCfg structuur bepaalt het verzamelen van metrische gegevens en logboeken voor levering aan de Azure Monitor Metrics-service en aan andere gegevenssinks. Geef een performanceCounters of syslogEvents beide op. Geef ook de metrics structuur op.

Als u syslog- of metrische gegevensverzameling niet wilt inschakelen, geeft u een lege structuur op voor het ladCfg element:

"ladCfg": {
    "diagnosticMonitorConfiguration": {}
}
Element Weergegeven als
eventVolume (Optioneel) Hiermee bepaalt u het aantal partities dat in de opslagtabel is gemaakt. De waarde moet "Large", "Medium"of "Small". De standaardwaarde is "Medium".
sampleRateInSeconds (Optioneel) Het standaardinterval tussen de verzameling onbewerkte gegevens, dat wil gezegd, niet-samengevoegde metrische gegevens. De kleinste ondersteunde steekproeffrequentie is 15 seconden. De standaardwaarde is 15.

metrics

"metrics": {
    "resourceId": "/subscriptions/...",
    "metricAggregation" : [
        { "scheduledTransferPeriod" : "PT1H" },
        { "scheduledTransferPeriod" : "PT5M" }
    ]
}
Element Weergegeven als
resourceId De Resource-id van Azure Resource Manager van de VM of van de virtuele-machineschaalset waartoe de VM behoort. Geef deze instelling ook op als voor de configuratie een JsonBlob sink wordt gebruikt.
scheduledTransferPeriod De frequentie waarmee statistische metrische gegevens worden berekend en overgebracht naar metrische gegevens van Azure Monitor. De frequentie wordt uitgedrukt als een IS 8601-tijdsinterval. De kleinste overdrachtsperiode is 60 seconden, dat wil gezegd PT1M. Geef ten minste één scheduledTransferPeriodop.

Voorbeelden van de metrische gegevens die in de performanceCounters sectie zijn opgegeven, worden elke 15 seconden verzameld of met de steekproeffrequentie die expliciet is gedefinieerd voor de teller. Als er meerdere scheduledTransferPeriod frequenties worden weergegeven, zoals in het voorbeeld, wordt elke aggregatie onafhankelijk berekend.

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"
                }
            ]
        }
    ]
}

De performanceCounters optionele sectie bepaalt de verzameling metrische gegevens. Onbewerkte monsters worden geaggregeerd voor elke scheduledTransferPeriod om deze waarden te produceren:

  • Gemiddelde
  • Minimum
  • Maximum
  • Laatst verzamelde waarde
  • Het aantal onbewerkte steekproeven dat wordt gebruikt voor het berekenen van de aggregaties
Element Weergegeven als
Putten (Optioneel) Een door komma's gescheiden lijst met namen van sinks waarnaar LAD geaggregeerde metrische resultaten verzendt. Alle geaggregeerde metrische gegevens worden gepubliceerd naar elke vermelde sink. Bijvoorbeeld: "MyEventHubSink, MyJsonSink, MyAzMonSink". Zie sinksConfig (beveiligde instellingen) en sinksConfig (openbare instellingen) voor meer informatie.
type Identificeert de werkelijke provider van de metrische waarde.
class Identificeert samen met "counter"de specifieke metrische waarde binnen de naamruimte van de provider.
counter Identificeert samen met "class"de specifieke metrische waarde binnen de naamruimte van de provider. Bekijk een lijst met beschikbare tellers.
telleraanduiding Identificeert de metrische gegevens in de azure Monitor Metrics-naamruimte.
voorwaarde (Optioneel) Hiermee selecteert u een exemplaar van het object waarop de metrische waarde van toepassing is. Of selecteert de aggregatie voor alle exemplaren van dat object.
sampleRate Het IS 8601-interval waarmee de snelheid wordt ingesteld waarmee onbewerkte steekproeven voor deze metrische gegevens worden verzameld. Als de waarde niet is ingesteld, stelt de waarde van sampleRateInSeconds het verzamelingsinterval in. De kortste ondersteunde samplefrequentie is 15 seconden (PT15S).
eenheid Definieert de eenheid voor de metrische waarde. Moet een van deze tekenreeksen zijn: "Count", "Bytes", "Seconds", "Percent", "CountPerSecond", , "BytesPerSecond". "Millisecond" Consumenten van de verzamelde gegevens verwachten dat de verzamelde gegevenswaarden overeenkomen met deze eenheid. LAD negeert dit veld.
displayName Het label dat moet worden gekoppeld aan de gegevens in Metrische gegevens van Azure Monitor bij weergave in de Guest (classic) naamruimte voor metrische gegevens. Dit label bevindt zich in de taal die is opgegeven door de bijbehorende landinstelling. LAD negeert dit veld. Opmerking: als u dezelfde metrische waarde bekijkt in de azure.vm.linux.guestmetrics naamruimte voor metrische gegevens, die beschikbaar is als AzMonSink deze is geconfigureerd, is de weergavenaam volledig afhankelijk van de teller. Zie Metrische gegevens die worden ondersteund door de ingebouwde provider om de toewijzing tussen tellers en namen te vinden.

Het counterSpecifier is een willekeurige id. Consumenten van metrische gegevens, zoals de grafiek- en waarschuwingsfunctie van Azure Portal, gebruiken counterSpecifier ze als de sleutel waarmee een metrische waarde of een exemplaar van een metrische waarde wordt geïdentificeerd.

Voor builtin metrische gegevens raden we waarden aan counterSpecifier die beginnen met /builtin/. Als u een specifiek exemplaar van een metrische waarde wilt verzamelen, koppelt u de id van het exemplaar aan de counterSpecifier waarde. Hieronder volgen een aantal voorbeelden:

  • /builtin/Processor/PercentIdleTime. Niet-actieve tijd gemiddeld voor alle vCPU's
  • /builtin/Disk/FreeSpace(/mnt). Vrije ruimte voor het /mnt bestandssysteem
  • /builtin/Disk/FreeSpace. Vrije ruimte gemiddeld voor alle gekoppelde bestandssystemen

LAD en Azure Portal verwachten niet dat de counterSpecifier waarde overeenkomt met een patroon. Wees consistent in de constructie counterSpecifier van waarden.

Wanneer u opgeeft performanceCounters, schrijft LAD altijd gegevens naar een tabel in Azure Storage. Dezelfde gegevens kunnen worden geschreven naar JSON-blobs of Event Hubs of beide. U kunt het opslaan van gegevens in een tabel niet uitschakelen.

Alle exemplaren van LAD die dezelfde naam en hetzelfde eindpunt voor het opslagaccount gebruiken, voegen hun metrische gegevens en logboeken toe aan dezelfde tabel. Als er te veel VIRTUELE machines naar dezelfde tabelpartitie schrijven, kan Azure schrijfbewerkingen naar die partitie beperken.

De eventVolume instelling zorgt ervoor dat vermeldingen worden verdeeld over 1 (klein), 10 (gemiddeld) of 100 (grote) partities. Normaal gesproken zijn middelgrote partities voldoende om verkeersbeperking te voorkomen.

De azure Monitor Metrics-functie van Azure Portal gebruikt de gegevens in deze tabel om grafieken te produceren of waarschuwingen te activeren. De tabelnaam is de samenvoeging van deze tekenreeksen:

  • WADMetrics
  • De "scheduledTransferPeriod" voor de geaggregeerde waarden die zijn opgeslagen in de tabel
  • P10DV2S
  • Een datum, in de vorm JJJJMMDD, die elke 10 dagen wordt gewijzigd

Voorbeelden zijn en WADMetricsPT1HP10DV2S20170410 WADMetricsPT1MP10DV2S20170609.

syslogEvents

"syslogEvents": {
    "sinks": "",
    "syslogEventConfiguration": {
        "facilityName1": "minSeverity",
        "facilityName2": "minSeverity",
        ...
    }
}

De syslogEvents optionele sectie bepaalt de verzameling logboeken van syslog. Als de sectie wordt weggelaten, worden syslog-gebeurtenissen helemaal niet vastgelegd.

De syslogEventConfiguration verzameling heeft één vermelding voor elke syslog-faciliteit van belang. "NONE" Als minSeverity het om een bepaalde faciliteit gaat of als die faciliteit helemaal niet in het element wordt weergegeven, worden er geen gebeurtenissen van die faciliteit vastgelegd.

Element Weergegeven als
Putten Een door komma's gescheiden lijst met namen van sinks waarnaar afzonderlijke logboekgebeurtenissen worden gepubliceerd. Alle logboek gebeurtenissen die overeenkomen met de beperkingen in syslogEventConfiguration worden gepubliceerd naar elke vermelde sink. Voorbeeld: "EHforsyslog"
facilityName De naam van een syslog-faciliteit, zoals "LOG_USER" of "LOG_LOCAL0". Zie Waarden voor faciliteit op de handmatige pagina van Syslog voor meer informatie.
minSeverity Een syslog-ernstniveau, zoals "LOG_ERR" of "LOG_INFO". Zie Waarden voor niveau op de handmatige pagina van Syslog voor meer informatie. De extensie legt gebeurtenissen vast die naar de faciliteit worden verzonden op of boven het opgegeven niveau.

Wanneer u opgeeft syslogEvents, schrijft LAD altijd gegevens naar een tabel met de naam LinuxSyslogVer2v0 in Azure Storage. Dezelfde gegevens kunnen worden geschreven naar JSON-blobs of Event Hubs of beide. U kunt het opslaan van gegevens in een tabel niet uitschakelen.

sinksConfig

Met de optionele openbare sinksConfig sectie kunt u metrische gegevens verzenden naar de Azure Monitor-sink, naast het opslagaccount en de standaardweergave met metrische gegevens voor gasten.

Notitie

Zowel openbare als beveiligde instellingen hebben een optionele sinksConfig sectie. De sinksConfig sectie in de openbare instellingen bevat alleen de AzMonSink sinkconfiguratie. EventHub en JsonBlob sinkconfiguraties kunnen niet worden opgenomen in uw openbare instellingen.

Notitie

Voor sinksConfig de sectie moet een door het systeem toegewezen identiteit worden ingeschakeld op de VM's of virtuele-machineschaalset. U kunt door het systeem toegewezen identiteit inschakelen via Azure Portal, CLI, PowerShell of Azure Resource Manager. Volg de gedetailleerde instructies of bekijk de vorige installatievoorbeelden in dit artikel.

  "sinksConfig": {
    "sink": [
      {
        "name": "AzMonSink",
        "type": "AzMonSink",
        "AzureMonitor": {}
      }
    ]
  },

fileLogs

De fileLogs sectie bepaalt de opname van logboekbestanden. LAD legt nieuwe tekstregels vast terwijl ze naar het bestand worden geschreven. Ze worden naar tabelrijen en opgegeven sinks geschreven, zoals JsonBlob en EventHub.

Notitie

De fileLogs worden vastgelegd door een subcomponent van LAD genaamd omsagent. Als u wilt verzamelen fileLogs, moet u ervoor zorgen dat de omsagent gebruiker leesmachtigingen heeft voor de bestanden die u opgeeft. Het moet ook machtigingen hebben voor het uitvoeren van alle mappen in het pad naar dat bestand. Nadat LAD is geïnstalleerd, voert sudo su omsagent -c 'cat /path/to/file'u de opdracht uit om de machtigingen te controleren.

"fileLogs": [
    {
        "file": "/var/log/mydaemonlog",
        "table": "MyDaemonEvents",
        "sinks": ""
    }
]
Element Weergegeven als
bestand Het volledige pad van het logboekbestand dat moet worden bekeken en vastgelegd. Het pad kan geen map opgeven of jokertekens bevatten. Het omsagent gebruikersaccount moet leestoegang hebben tot het bestandspad.
table (Optioneel) De Azure Storage-tabel waarin nieuwe regels uit de staart van het bestand worden geschreven. De tabel moet zich in het aangewezen opslagaccount bevinden, zoals is opgegeven in de beveiligde configuratie.
Putten (Optioneel) Een door komma's gescheiden lijst met namen van meer sinks waarnaar logboeklijnen worden verzonden.

"sinks" Of "table" beide moeten worden opgegeven.

Metrische gegevens die worden ondersteund door de ingebouwde provider

De standaardgegevens die LAD ondersteunt, worden samengevoegd in alle bestandssystemen, schijven of namen. Voor niet-geaggregeerde metrische gegevens raadpleegt u de nieuwere ondersteuning voor metrische gegevens van De Azure Monitor-sink.

Notitie

De weergavenamen voor elke metriek verschillen, afhankelijk van de naamruimte voor metrische gegevens waartoe deze behoort:

  • Guest (classic) ingevuld vanuit uw opslagaccount: de opgegeven displayName in de performanceCounters sectie of de standaardweergavenaam, zoals te zien is in Azure Portal. Selecteer voor de VIRTUELE machine onder Diagnostische instellingen bewaken>het tabblad Metrische gegevens.
  • azure.vm.linux.guestmetrics ingevuld vanuit AzMonSink, indien geconfigureerd: de weergavenaamazure.vm.linux.guestmetrics die is opgegeven in de volgende tabellen.

De metrische waarden tussen Guest (classic) en azure.vm.linux.guestmetrics versies verschillen. Hoewel voor de klassieke metrische gegevens bepaalde aggregaties in de agent zijn toegepast, zijn de nieuwe metrische gegevens niet-geaggregeerde tellers, waardoor klanten de flexibiliteit hebben om naar wens samen te voegen bij het weergeven/waarschuwen.

De builtin provider van metrische gegevens is een bron van metrische gegevens die het interessantst zijn voor een brede set gebruikers. Deze metrische gegevens worden onderverdeeld in vijf algemene klassen:

  • Processor
  • Geheugen
  • Netwerk
  • Bestandssysteem
  • Schijf

ingebouwde metrische gegevens voor de processorklasse

De processorklasse met metrische gegevens bevat informatie over het processorgebruik in de VIRTUELE machine. Wanneer percentages worden geaggregeerd, is het resultaat het gemiddelde voor alle CPU's.

Als in een VM met twee vCPU's één vCPU 100 procent bezet is en de andere 100 procent inactief is, is het gerapporteerd PercentIdleTime 50. Als elke vCPU gedurende dezelfde periode 50 procent bezet is, is het gerapporteerde resultaat ook 50. Wanneer in een vm met vier vCPU's één vCPU 100 procent bezet is en de andere niet actief zijn, is de gerapporteerde PercentIdleTime 75.

teller weergavenaam azure.vm.linux.guestmetrics Betekenis
PercentIdleTime cpu idle time Percentage tijd tijdens het aggregatievenster waarop processors de kernel-inactiviteitslus hebben uitgevoerd
PercentProcessorTime cpu percentage guest os Percentage tijd dat een niet-actieve thread wordt uitgevoerd
PercentIOWaitTime cpu io wait time Percentage tijd dat wacht tot I/O-bewerkingen zijn voltooid
PercentInterruptTime cpu interrupt time Percentage actieve hardware- of softwareonderbreken en uitgestelde procedureaanroepen (DPC's)
PercentUserTime cpu user time Van niet-actieve tijd tijdens het aggregatievenster, het percentage tijd dat is besteed in de gebruikersmodus met normale prioriteit
PercentNiceTime cpu nice time Van niet-actieve tijd, het percentage besteed aan verlaagde (mooie) prioriteit
PercentPrivilegedTime cpu privileged time Van niet-actieve tijd, het percentage dat is besteed in de modus bevoegde (kernel)

De eerste vier tellers moeten worden opgeteld tot 100 procent. De laatste drie tellers bedragen ook tot 100 procent. Deze drie tellers verdelen de som van PercentProcessorTime, PercentIOWaitTimeen PercentInterruptTime.

ingebouwde metrische gegevens voor de geheugenklasse

De geheugenklasse van metrische gegevens bevat informatie over geheugengebruik, paginering en wisselen.

teller weergavenaam azure.vm.linux.guestmetrics Betekenis
AvailableMemory memory available Beschikbaar fysiek geheugen in MiB
PercentAvailableMemory mem. percent available Beschikbaar fysiek geheugen als percentage van het totale geheugen
UsedMemory memory used Fysiek geheugen in gebruik (MiB)
PercentUsedMemory memory percentage Fysiek geheugen gebruiken als percentage van het totale geheugen
PagesPerSec pages Totaal aantal paging (lezen/schrijven)
PagesReadPerSec page reads Pagina's die worden gelezen uit de back-upopslag, zoals het wisselbestand, het programmabestand en het toegewezen bestand
PagesWrittenPerSec page writes Pagina's die naar het backingarchief zijn geschreven, zoals een wisselbestand en een toegewezen bestand
AvailableSwap swap available Ongebruikte wisselruimte (MiB)
PercentAvailableSwap swap percent available Ongebruikte wisselruimte als percentage van de totale wisseling
UsedSwap swap used Ingebruik wisselruimte (MiB)
PercentUsedSwap swap percent used Ingebruik wisselruimte als percentage van de totale swap

Deze klasse met metrische gegevens heeft slechts één exemplaar. Het "condition" kenmerk heeft geen nuttige instellingen en moet worden weggelaten.

ingebouwde metrische gegevens voor de netwerkklasse

De netwerkklasse metrische gegevens bevat informatie over de netwerkactiviteit op een afzonderlijke netwerkinterface sinds het opstarten.

LAD geeft geen metrische bandbreedtegegevens weer. U kunt deze metrische gegevens ophalen uit metrische gegevens van de host.

teller weergavenaam azure.vm.linux.guestmetrics Betekenis
BytesTransmitted network out guest os Totaal aantal verzonden bytes sinds het opstarten
BytesReceived network in guest os Totaal aantal ontvangen bytes sinds het opstarten
BytesTotal network total bytes Totaal aantal verzonden of ontvangen bytes sinds het opstarten
Pakketten verzonden packets sent Totaal aantal verzonden pakketten sinds het opstarten
PacketsReceived packets received Totaal aantal pakketten dat is ontvangen sinds het opstarten
TotalRxErrors packets received errors Aantal ontvangstfouten sinds het opstarten
TotalTxErrors packets sent errors Aantal verzendfouten sinds het opstarten
TotalCollisions network collisions Aantal conflicten gemeld door de netwerkpoorten sinds het opstarten

ingebouwde metrische gegevens voor de bestandssysteemklasse

De bestandssysteemklasse metrische gegevens bevat informatie over het gebruik van het bestandssysteem. Absolute en percentagewaarden worden gerapporteerd omdat ze worden weergegeven aan een gewone gebruiker, niet aan de hoofdmap.

teller weergavenaam azure.vm.linux.guestmetrics Betekenis
Freespace filesystem free space Beschikbare schijfruimte in bytes
UsedSpace filesystem used space Gebruikte schijfruimte in bytes
PercentFreeSpace filesystem % free space Percentage vrije ruimte
PercentUsedSpace filesystem % used space Percentage gebruikte ruimte
PercentFreeInodes filesystem % free inodes Percentage ongebruikte indexknooppunten (inodes)
PercentUsedInodes filesystem % used inodes Percentage toegewezen (in gebruik) inodes opgeteld in alle bestandssystemen
BytesReadPerSecond filesystem read bytes/sec Bytes gelezen per seconde
BytesWrittenPerSecond filesystem write bytes/sec Geschreven bytes per seconde
BytesPerSecond filesystem bytes/sec Bytes gelezen of geschreven per seconde
ReadsPerSecond filesystem reads/sec Leesbewerkingen per seconde
WritesPerSecond filesystem writes/sec Schrijfbewerkingen per seconde
TransfersPerSecond filesystem transfers/sec Lees- of schrijfbewerkingen per seconde

ingebouwde metrische gegevens voor de schijfklasse

De schijfklasse met metrische gegevens bevat informatie over het gebruik van schijfapparaten. Deze statistieken zijn van toepassing op het hele station.

Wanneer een apparaat meerdere bestandssystemen heeft, worden de tellers voor dat apparaat, effectief, geaggregeerd in alle bestandssystemen.

teller weergavenaam azure.vm.linux.guestmetrics Betekenis
ReadsPerSecond disk reads Leesbewerkingen per seconde
WritesPerSecond disk writes Schrijfbewerkingen per seconde
TransfersPerSecond disk transfers Totaal aantal bewerkingen per seconde
AverageReadTime disk read time Gemiddelde seconden per leesbewerking
AverageWriteTime disk write time Gemiddelde seconden per schrijfbewerking
AverageTransferTime disk transfer time Gemiddelde seconden per bewerking
AverageDiskQueueLength disk queue length Gemiddeld aantal schijfbewerkingen in de wachtrij
ReadBytesPerSecond disk read guest os Aantal bytes gelezen per seconde
WriteBytesPerSecond disk write guest os Aantal geschreven bytes per seconde
BytesPerSecond disk total bytes Aantal bytes gelezen of geschreven per seconde

Voorbeeld van LAD 4.0-configuratie

Op basis van de voorgaande definities biedt deze sectie een voorbeeld-LAD 4.0-extensieconfiguratie en een aantal uitleg. Als u dit voorbeeld wilt toepassen, gebruikt u de naam van uw eigen opslagaccount, het shared access Signature-token van het account en sas-tokens voor Event Hubs.

Notitie

Afhankelijk van of u de Azure CLI of Azure PowerShell gebruikt om LAD te installeren, verschilt de methode voor het leveren van openbare en beveiligde instellingen:

  • Als u de Azure CLI gebruikt, slaat u de volgende instellingen op in ProtectedSettings.json en PublicSettings.json om de voorgaande voorbeeldopdracht te gebruiken.
  • Als u PowerShell gebruikt, voert $protectedSettings = '{ ... }' u de volgende instellingen uit en $publicSettings = '{ ... }' slaat u deze op$publicSettings$protectedSettings.

Configuratie van beveiligde instellingen

De beveiligde instellingen configureren:

  • Een opslagaccount.
  • Een overeenkomend shared access Signature-token voor een overeenkomend account.
  • Verschillende sinks: JsonBlob of EventHub met SAS-tokens.
{
  "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"
      }
    ]
  }
}

Configuratie van openbare instellingen

De openbare instellingen zorgen ervoor dat LAD het volgende doet:

  • Upload metrische gegevens over processortijd en metrische gegevens over gebruikte schijfruimte naar de WADMetrics* tabel.
  • Upload berichten van syslog-faciliteit "user" en ernst "info" naar de LinuxSyslog* tabel.
  • Toegevoegde regels in het bestand /var/log/myladtestlog uploaden naar de MyLadTestLog tabel.

In elk geval worden gegevens ook geüpload naar:

  • Azure Blob Storage. De containernaam is zoals gedefinieerd in de JsonBlob sink.
  • Een Event Hubs-eindpunt, zoals opgegeven in de EventHub sink.
{
  "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"
    }
  ]
}

De resourceId in de configuratie moet overeenkomen met die van de virtuele machine of de virtuele-machineschaalset.

  • Grafieken en waarschuwingen voor metrische gegevens van het Azure-platform kennen de resourceId VM waaraan u werkt. Er wordt verwacht dat de gegevens voor uw VIRTUELE machine worden gevonden met behulp van de resourceId opzoeksleutel.
  • Als u automatische schaalaanpassing van Azure gebruikt, moet de resourceId in de configuratie voor automatische schaalaanpassing overeenkomen met de resourceId configuratie die door LAD wordt gebruikt.
  • Het resourceId is ingebouwd in de namen van JSON-blobs die zijn geschreven door LAD.

Uw gegevens weergeven

Gebruik Azure Portal om prestatiegegevens weer te geven of waarschuwingen in te stellen:

Schermopname van de pagina Metrische gegevens in Azure Portal en Beschikbaarheid geselecteerd.

De performanceCounters gegevens worden altijd opgeslagen in een Azure Storage-tabel. Azure Storage-API's zijn beschikbaar voor veel talen en platforms.

Gegevens die naar JsonBlob sinks worden verzonden, worden opgeslagen in blobs in het opslagaccount met de naam in de beveiligde instellingen. U kunt de blobgegevens in elke Azure Blob Storage-API gebruiken.

U kunt ook deze UI-hulpprogramma's gebruiken om toegang te krijgen tot de gegevens in Azure Storage:

In de volgende schermopname van een Azure Storage Explorer-sessie ziet u de gegenereerde Azure Storage-tabellen en -containers van een correct geconfigureerde LAD 4.0-extensie op een test-VM. De installatiekopie komt niet exact overeen met de lad 4.0-voorbeeldconfiguratie.

Schermopname van Azure Storage Explorer.

Zie de relevante Documentatie voor Event Hubs voor meer informatie over het gebruik van berichten die zijn gepubliceerd naar een Event Hubs-eindpunt.

Volgende stappen