Verwenden der Linux Diagnostic Extension 3.0 zum Überwachen von Metriken und Protokollen
Achtung
Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, deren Dienstende (End-of-Life, EOL) ansteht. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS-Leitfaden für das Lebensende.
Dieses Dokument beschreibt Version 3.0 und höher der Linux Diagnostic Extension (LAD).
Wichtig
Informationen zu Version 2.3 und früher finden Sie unter Überwachen der Leistungs- und Diagnosedaten eines virtuellen Linux-Computers.
Einführung
Mit der Linux-Diagnoseerweiterung können Benutzer die Integrität von Linux-VMs überwachen, die in Microsoft Azure ausgeführt werden. Sie verfügt über die folgenden Funktionen:
- Erfassen von Leistungsmetriken des Systems vom virtuellen Computer und Speichern dieser in einer bestimmten Tabelle in einem angegebenen Speicherkonto
- Abrufen von Protokollereignissen aus Syslog und Speichern dieser in einer bestimmten Tabelle im angegebenen Speicherkonto
- Anpassen der zu sammelnden und hochzuladenden Datenmetriken durch Benutzer
- Anpassen der Syslog-Funktionen und der Schweregrade von Ereignissen, die gesammelt und hochgeladen werden
- Hochladen angegebener Protokolldateien in eine festgelegte Speichertabelle durch Benutzer
- Senden von Metriken und Protokollereignissen an beliebige Azure Event Hub-Endpunkte und JSON-formatierte Blobs im angegebenen Speicherkonto.
Diese Erweiterung funktioniert mit beiden Azure-Bereitstellungsmodellen.
Installieren Sie die Erweiterung auf eine VM
Sie können die Erweiterung mithilfe von Azure PowerShell cmdlets, Azure CLI Skripts, Azure Ressourcemonitor-Vorlagen (ARM-Vorlagen) oder dem Azure-Portal aktivieren. Weitere Informationen finden Sie unter Erweiterungsfeatures.
Hinweis
Einige Komponenten der LAD-VM-Erweiterung werden auch mit der Protkollanalyse-Erweiterung für Diagnosen geliefert. Wegen dieser Architektur können Konflikte auftreten, wenn beide Erweiterungen in derselben ARM-Vorlage instanziiert werden.
Um Konflikte zur Installationszeit zu vermeiden, verwenden Sie die dependsOn
-Anweisung, um sicherzustellen, dass die Erweiterungen nacheinander installiert werden. Die Erweiterungen können in beliebiger Reihenfolge installiert werden.
Diese Installationsanweisungen konfigurieren LAD 3.0 mithilfe einer herunterladbaren Beispielkonfiguration für Folgendes:
- Erfassen und Speichern derselben Metriken wie in LAD 2.3.
- Erfassen eines nützlichen Satzes von Dateisystemmetriken. Diese Funktionalität ist bei LAD 3.0 neu.
- Erfassen der Syslog-Standardsammlung, die durch LAD 2.3 aktiviert wurde.
- Aktivieren von Diagrammen und Warnungen zu VM-Metriken in der Azure-Portal-Umgebung.
Die herunterladbare Konfiguration ist nur ein Beispiel. Passen Sie es Ihren Anforderungen entsprechend an.
Voraussetzungen
- Azure Linux Agent ab Version 2.2.0. Die meisten Images des Azure-Katalogs für virtuelle Linux-Computer enthalten Version 2.2.7 oder höher. Führen Sie
/usr/sbin/waagent -version
aus, um die auf dem virtuellen Computer installierte Version zu überprüfen. Wenn die VM mit einer älteren Version ausgeführt wird, müssen Sie den Gast-Agent aktualisieren. - Die Azure CLI Falls nötig, richten Sie Azure CLI auf dem Computer ein.
- Der wget-Befehl. Wenn Sie es noch nicht haben, installieren Sie es mit dem entsprechenden Paket-Manager.
- Ein bestehendes Azure-Abonnement.
- Ein vorhandenes universelles Speicherkonto zum Speichern der Daten. Universelle Speicherkonten müssen Tabellenspeicher unterstützen. Ein Blobspeicherkonto funktioniert nicht.
- Python 2.
Python-Anforderung
Die Linux-Diagnoseerweiterung erfordert Python 2. Wenn Ihr virtueller Computer eine Distribution verwendet, in der Python 2 nicht standardmäßig enthalten ist, müssen Sie die Sprache installieren. Mithilfe der folgenden Beispielbefehle wird Python 2 auf verschiedenen Distributionen installiert:
- Red Hat, CentOS, Oracle:
yum install -y python2
- Ubuntu, Debian:
apt-get install -y python2
- SUSE:
zypper install -y python2
Die ausführbare python2
-Datei muss dem Alias python zugewiesen werden. Hier folgt eine Methode zum Festlegen dieses Alias:
Führen Sie den folgenden Befehl aus, um eventuell vorhandene Aliase zu entfernen.
sudo update-alternatives --remove-all python
Führen Sie den folgenden Befehl aus, um den Alias zu erstellen.
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
Beispielinstallation
Die in den folgenden Beispielen heruntergeladene Beispielkonfiguration sammelt eine Reihe von Standarddaten und sendet diese an den Tabellenspeicher. Die URL für die Beispielkonfiguration und ihr Inhalt können sich ändern.
In den meisten Fällen sollten Sie eine Kopie der JSON-Datei mit den Portaleinstellungen herunterladen und an Ihre Anforderungen anpassen. Verwenden Sie dann Vorlagen oder Ihre eigene Automatisierung, um eine benutzerdefinierte Version der Konfigurationsdatei zu verwenden, anstatt sie jedes Mal von der URL herunterzuladen.
Hinweis
Geben Sie vor der Ausführung des Codes bei beiden folgenden Beispielen im ersten Abschnitt die richtigen Werte für die Variablen ein.
Azure CLI-Beispiel
# Set your Azure VM diagnostic variables.
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 <your_azure_subscription_id>
# 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 VM resource ID. Replace the storage account name and resource ID in the public settings.
my_vm_resource_id=$(az vm show -g $my_resource_group -n $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 3.0 --resource-group $my_resource_group --vm-name $my_linux_vm --protected-settings "${my_lad_protected_settings}" --settings portal_public_settings.json
Azure CLI-Beispiel für die Installation von LAD 3.0 in der VMSS-Instanz
#Set your Azure Virtual Machine Scale Sets diagnostic variables.
$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 <your_azure_subscription_id>
# 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 -g $my_resource_group -n $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 3.0 --resource-group $my_resource_group --vmss-name $my_linux_vmss --protected-settings "${my_lad_protected_settings}" --settings portal_public_settings.json
PowerShell-Beispiel
$storageAccountName = "yourStorageAccountName"
$storageAccountResourceGroup = "yourStorageAccountResourceGroupName"
$vmName = "yourVMName"
$VMresourceGroup = "yourVMResourceGroupName"
# Get the VM object
$vm = Get-AzVM -Name $vmName -ResourceGroupName $VMresourceGroup
# Get the public settings template from GitHub and update the templated values for storage account and resource ID
$publicSettings = (Invoke-WebRequest -Uri https://raw.githubusercontent.com/Azure/azure-linux-extensions/master/Diagnostic/tests/lad_2_3_compatible_portal_pub_settings.json).Content
$publicSettings = $publicSettings.Replace('__DIAGNOSTIC_STORAGE_ACCOUNT__', $storageAccountName)
$publicSettings = $publicSettings.Replace('__VM_RESOURCE_ID__', $vm.Id)
# If you have customized public settings, you can inline those rather than using the preceding template: $publicSettings = '{"ladCfg": { ... },}'
# Generate a SAS token for the agent to use to authenticate with the storage account
$sasToken = New-AzStorageAccountSASToken -Service Blob,Table -ResourceType Service,Container,Object -Permission "racwdlup" -Context (Get-AzStorageAccount -ResourceGroupName $storageAccountResourceGroup -AccountName $storageAccountName).Context -ExpiryTime $([System.DateTime]::Now.AddYears(10))
# Build the protected settings (storage account SAS token)
$protectedSettings="{'storageAccountName': '$storageAccountName', 'storageAccountSasToken': '$sasToken'}"
# Finally, install the extension with the settings you built
Set-AzVMExtension -ResourceGroupName $VMresourceGroup -VMName $vmName -Location $vm.Location -ExtensionType LinuxDiagnostic -Publisher Microsoft.Azure.Diagnostics -Name LinuxDiagnostic -SettingString $publicSettings -ProtectedSettingString $protectedSettings -TypeHandlerVersion 3.0
Aktualisieren der Erweiterungseinstellungen
Nachdem Sie Ihre geschützten oder öffentlichen Einstellungen geändert haben, stellen Sie sie auf dem virtuellen Computer bereit, indem Sie denselben Befehl ausführen. Wenn die Einstellungen geändert wurden, werden die Updates an die Erweiterung gesendet. LAD lädt die Konfiguration erneut und startet sich selbst neu.
Migrieren von früheren Versionen der Erweiterung
Die neueste Version der Erweiterung ist 4.0.
Wichtig
Diese Erweiterung enthält grundlegende Änderungen an der Konfiguration. Eine solche Änderung hat die Sicherheit der Erweiterung verbessert, sodass die Abwärtskompatibilität mit 2.x nicht aufrechterhalten werden konnte. Darüber hinaus unterscheidet sich der Herausgeber dieser Erweiterung von dem für die Versionen 2.x.
Um von 2.x zur neuen Version zu migrieren, deinstallieren Sie zuerst die alte Erweiterung (unter dem alten Herausgebernamen). Installieren Sie dann Version 3.
Empfehlungen:
- Installieren Sie die Erweiterung mit aktivierten automatischen Nebenversionsupgrades.
- Auf virtuellen Computern im klassischen Bereitstellungsmodus geben Sie dazu als Version
3.*
an, wenn Sie die Erweiterung über die plattformübergreifende Azure-Befehlszeilenschnittstelle oder über PowerShell installieren. - Bei virtuellen Computern im Azure Resource Manager-Bereitstellungsmodell fügen Sie
"autoUpgradeMinorVersion": true
in die VM-Bereitstellungsvorlage ein.
- Auf virtuellen Computern im klassischen Bereitstellungsmodus geben Sie dazu als Version
- Verwenden Sie für LAD 3.0 ein neues oder ein anderes Speicherkonto. Es gibt mehrere kleine Inkompatibilitäten zwischen LAD 2.3 und LAD 3.0, die bei einer gemeinsamen Nutzung eines Kontos zu Konflikten führen können:
- LAD 3.0 speichert Syslog-Ereignisse in einer Tabelle mit einem anderen Namen.
- Die
counterSpecifier
-Zeichenfolgen fürbuiltin
-Metriken unterscheiden sich in LAD 3.0.
Geschützte Einstellungen
Dieser Satz von Konfigurationsinformationen enthält vertrauliche Informationen, die nicht öffentlich einsehbar sein dürfen. Sie enthält z. B. Speicheranmeldeinformationen. Diese Einstellungen werden von der Erweiterung in verschlüsselter Form übertragen und gespeichert.
{
"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 | Wert |
---|---|
storageAccountName | Der Name des Speicherkontos, in dem von der Erweiterung Daten geschrieben werden |
storageAccountEndPoint | (Optional) Der Endpunkt, der die Cloud mit dem Speicherkonto angibt. Wenn diese Einstellung fehlt, verwendet LAD standardmäßig die öffentliche Azure-Cloud, https://core.windows.net . Um ein Speicherkonto in Azure Deutschland, Azure Government oder Microsoft Azure operated by 21Vianet zu verwenden, legen Sie diesen Wert den Vorgaben entsprechend fest. |
storageAccountSasToken | Ein Konto-SAS-Token für Blob- und Tabellendienste (ss='bt' ). Es gilt für Container und Objekte (srt='co' ). Es gewährt Berechtigungen zum Hinzufügen, Erstellen, Auflisten, Aktualisieren und Schreiben (sp='acluw' ). Fügen Sie nicht das vorangestellte Fragezeichen (?) ein. |
mdsdHttpProxy | (Optional) HTTP-Proxyinformationen, die für die Erweiterung erforderlich sind, damit sie Verbindungen mit dem angegebenen Speicherkonto und dem Endpunkt herstellen kann. |
sinksConfig | (Optional) Details zu alternativen Zielen, an die Metriken und Ereignisse übermittelt werden können. In den folgenden Abschnitten werden Details zu den einzelnen Datensenken erläutert, die von der Erweiterung unterstützt werden. |
Verwenden Sie die listAccountSas
-Funktion, um ein SAS-Token innerhalb einer ARM-Vorlage zu erhalten. Eine Beispielvorlage finden Sie unter Beispiel für eine Listenfunktion.
Sie können das erforderliche SAS-Token über das Azure-Portal erstellen:
- Wählen Sie das universelle Speicherkonto aus, in das die Erweiterung schreiben soll.
- Wählen Sie im Menü auf der linken Seite unter Einstellungen die Option Shared Access Signature aus.
- Treffen Sie die Auswahl wie zuvor beschrieben.
- Wählen Sie SAS generieren aus.
Kopieren Sie die generierte SAS in das storageAccountSasToken
-Feld. Entfernen Sie das führende Fragezeichen (?).
sinksConfig
"sinksConfig": {
"sink": [
{
"name": "sinkname",
"type": "sinktype",
...
},
...
]
},
In diesem optionalen Abschnitt sinksConfig
werden weitere Ziele definiert, an die die Erweiterung die gesammelten Informationen sendet. Das Array sink
enthält ein Objekt für jede zusätzliche Datensenke. Das Attribut type
bestimmt die anderen Attribute im Objekt.
Element | Wert |
---|---|
name | Eine Zeichenfolge, die auf diese Senke an anderer Stelle in der Konfiguration der Erweiterung verweist. |
type | Der Typ der Senke, die definiert wird. Bestimmt die anderen Werte in Instanzen dieses Typs (sofern vorhanden). |
LAD Version 3.0 unterstützt zwei Senkentypen: EventHub
und JsonBlob
.
EventHub-Senke
"sink": [
{
"name": "sinkname",
"type": "EventHub",
"sasURL": "https SAS URL"
},
...
]
Der Eintrag "sasURL"
enthält die vollständige URL, einschließlich des SAS-Tokens für den Event Hub, an den die Daten veröffentlicht werden sollen. LAD erfordert eine SAS-Benennungsrichtlinie, die den Anspruch „Senden“ aktiviert.
Beispiel:
- Erstellen eines Azure Event Hubs-Namespace
contosohub
. - Erstellen Sie einen Event Hub im Namespace
syslogmsgs
. - Erstellen Sie auf dem Event Hub die SAS-Richtlinie, die den Anspruch „Senden“ aktiviert. Benennen Sie die Richtline
writer
.
Wenn Ihre SAS bis Mitternacht UTC am 1. Januar 2018 gültig ist, könnte der sasURL-Wert wie im folgenden Beispiel aussehen:
https://contosohub.servicebus.windows.net/syslogmsgs?sr=contosohub.servicebus.windows.net%2fsyslogmsgs&sig=xxxxxxxxxxxxxxxxxxxxxxxxx&se=1514764800&skn=writer
Weitere Informationen zum Generieren von SAS-Token und Abrufen von Informationen für SAS-Token für Event Hubs finden Sie auf ein SAS-Token generieren.
JsonBlob-Senke
"sink": [
{
"name": "sinkname",
"type": "JsonBlob"
},
...
]
Die an die JsonBlob
-Senke weitergeleiteten Daten werden in Blobs in Azure Storage gespeichert. Jede LAD-Instanz erstellt stündlich ein Blob für jeden Senkennamen. Jedes Blob enthält immer ein syntaktisch gültiges JSON-Array von Objekten. Neue Einträge werden dem Array automatisch hinzugefügt.
Blobs werden in einem Container mit dem gleichen Namen wie die Senke gespeichert. Die Azure Storage-Regeln für Blob-Containernamen gelten auch für die Namen von JsonBlob
-Senken. Der Name muss zwischen 3 und 63 alphanumerische ASCII-Zeichen in Kleinbuchstaben oder Bindestriche enthalten.
Öffentliche Einstellungen
Diese Struktur der öffentlichen Einstellungen enthält verschiedene Blöcke von Einstellungen zur Steuerung der von der Erweiterung gesammelten Informationen. Diese Einstellungen sind optional. Bei Angabe von ladCfg
müssen Sie auch StorageAccount
angeben.
{
"ladCfg": { ... },
"perfCfg": { ... },
"fileLogs": { ... },
"StorageAccount": "the storage account to receive data",
"mdsdHttpProxy" : ""
}
Element | Wert |
---|---|
StorageAccount | Der Name des Speicherkontos, in dem von der Erweiterung Daten geschrieben werden Er muss mit dem Namen übereinstimmen, der in den geschützten Einstellungen festgelegt wurde. |
mdsdHttpProxy | (Optional) Wie bei den geschützten Einstellungen. Der öffentliche Wert wird durch den geschützten Wert überschrieben, sofern dieser festgelegt wurde. Nehmen Sie Proxyeinstellungen, die ein Geheimnis (z.B. ein Kennwort) enthalten, in den geschützten Einstellungen vor. |
Die folgenden Abschnitte enthalten weitere Informationen zu den verbleibenden Elementen.
ladCfg
"ladCfg": {
"diagnosticMonitorConfiguration": {
"eventVolume": "Medium",
"metrics": { ... },
"performanceCounters": { ... },
"syslogEvents": { ... }
},
"sampleRateInSeconds": 15
}
Die ladCfg
-Struktur ist optional. Sie steuert das Sammeln von Metriken und Protokollen für die Übermittlung an den Azure Monitor-Metrikdienst und andere Datensenken. Dabei müssen Sie festlegen:
- Entweder
performanceCounters
odersyslogEvents
oder beides. - Die
metrics
-Struktur.
Element | Wert |
---|---|
eventVolume | (Optional) Steuert die Anzahl der Partitionen, die innerhalb der Speichertabelle erstellt werden. Muss "Large" , "Medium" , oder "Small" sein. Wenn kein Wert angegeben ist, lautet der Standardwert "Medium" . |
sampleRateInSeconds | (Optional) Das Standardintervall zwischen der Erfassung von unformatierten (nicht aggregierten) Metriken. Die kleinste unterstützte Erfassungsrate beträgt 15 Sekunden. Wenn der Wert nicht angegeben ist, lautet der Standardwert 15 . |
metrics
"metrics": {
"resourceId": "/subscriptions/...",
"metricAggregation" : [
{ "scheduledTransferPeriod" : "PT1H" },
{ "scheduledTransferPeriod" : "PT5M" }
]
}
Element | Wert |
---|---|
resourceId | Die Azure Resource Manager-Ressourcen-ID des virtuellen Computers oder der Skalierungsgruppe, zu der der virtuelle Computer gehört. Diese Einstellung muss ebenfalls angegeben werden, wenn in der Konfiguration eine JsonBlob -Senke verwendet wird. |
scheduledTransferPeriod | Die Häufigkeit, mit der aggregierte Metriken berechnet und an den Azure Monitor-Metrikendienst übertragen werden. Die Häufigkeit wird als IS 8601-Zeitintervall ausgedrückt. Das kleinste Übertragungsintervall ist 60 Sekunden, d.h. PT1M. Geben Sie mindestens ein scheduledTransferPeriod an. |
Die Werte für die Metriken, die im performanceCounters
-Abschnitt angegeben wurden, werden alle 15 Sekunden oder in der explizit für den Leistungsindikator festgelegten Häufigkeit erfasst. Wenn mehrere scheduledTransferPeriod
-Werte (wie im Beispiel) angegeben wurden, wird jede Aggregation unabhängig von den anderen berechnet.
performanceCounters
"performanceCounters": {
"sinks": "",
"performanceCounterConfiguration": [
{
"type": "builtin",
"class": "Processor",
"counter": "PercentIdleTime",
"counterSpecifier": "/builtin/Processor/PercentIdleTime",
"condition": "IsAggregate=TRUE",
"sampleRate": "PT15S",
"unit": "Percent",
"annotation": [
{
"displayName" : "Aggregate CPU %idle time",
"locale" : "en-us"
}
]
}
]
}
Mit dem optionalen performanceCounters
-Abschnitt wird die Erfassung von Metriken gesteuert. Die unformatierten Daten werden für jede scheduledTransferPeriod
aggregiert, um diese Werte zu generieren:
- Mittelwert
- Minimum
- Maximum
- Letzter erfasster Wert
- Anzahl der unformatierten Daten für die Aggregatberechnung
Element | Wert |
---|---|
sinks | (Optional) Eine durch Trennzeichen getrennte Liste der Namen der Senken, an die LAD die aggregierten Metrikergebnisse übermittelt. Alle aggregierten Metriken werden an jede aufgeführte Senke veröffentlicht. Beispiel: "EHsink1, myjsonsink" . Weitere Informationen finden Sie unter sinksConfig . |
type | Gibt den tatsächlichen Anbieter der Metrik an. |
class | Gibt zusammen mit "counter" die jeweilige Metrik im Namespace des Anbieters an. |
Zähler | Gibt zusammen mit "class" die jeweilige Metrik im Namespace des Anbieters an. |
counterSpecifier | Gibt die jeweilige Metrik im Azure Monitor-Metrikennamespace an. |
condition | (Optional) Wählt eine bestimmte Instanz des Objekts aus, für die die Metrik gilt. Oder sie wählt die Aggregation für alle Instanzen dieses Objekts aus. |
sampleRate | Das ISO-8601-Intervall, das die Häufigkeit festlegt, mit der unformatierte Daten für diese Metrik gesammelt werden. Wenn der Wert nicht festgelegt ist, wird das Erfassungsintervall durch den Wert von sampleRateInSeconds festgelegt. Die kleinste unterstützte Erfassungsrate beträgt 15 Sekunden (PT15S). |
unit | Definiert die Einheit für die Metrik. Sollte eine der folgenden Zeichenfolgen sein: "Count" , "Bytes" , "Seconds" , "Percent" , "CountPerSecond" , "BytesPerSecond" , "Millisecond" . Consumer der gesammelten Daten erwarten, dass die gesammelten Datenwerte diesen Einheiten entsprechen. LAD ignoriert dieses Feld. |
displayName | Die Bezeichnung, die an die Daten in den Metriken von Azure Monitor angefügt werden soll. Diese Bezeichnung ist in der Sprache, die durch die zugeordnete Locale-Einstellung angegeben wird. LAD ignoriert dieses Feld. |
counterSpecifier
ist ein beliebiger Bezeichner. Consumer von Metriken, wie das Azure-Portal-Feature für Diagramme und Warnungen, verwenden counterSpecifier
als „Schlüssel“, der eine Metrik oder eine Instanz einer Metrik identifiziert.
Für builtin
-Metriken empfehlen wir counterSpecifier
-Werte, die mit /builtin/
beginnen. Wenn Sie eine bestimmte Instanz einer Metrik erfassen, sollten Sie den Bezeichner der Instanz an den counterSpecifier
-Wert anfügen.
Hier einige Beispiele:
/builtin/Processor/PercentIdleTime
– Leerlaufzeit (Durchschnitt für alle vCPUs)/builtin/Disk/FreeSpace(/mnt)
– Freier Speicherplatz für/mnt
das Dateisystem/builtin/Disk/FreeSpace
– freier Speicherplatz (Durchschnitt für alle bereitgestellten Dateisysteme)
LAD und das Azure-Portal erwarten nicht, dass der counterSpecifier
-Wert irgendeinem Muster entspricht. Seien Sie beim Erstellen von counterSpecifier
-Werten konsistent.
Bei Angabe von performanceCounters
schreibt LAD Daten immer in eine Tabelle in Azure Storage. Die gleichen Daten können in JSON-Blobs geschrieben oder Event Hubs oder beides geschrieben werden. Sie können das Speichern von Daten in einer Tabelle jedoch nicht deaktivieren.
Alle LAD-Instanzen, die denselben Speicherkontonamen und Endpunkts verwenden, fügen ihre Metriken und Protokolle derselben Tabelle hinzu. Wenn zu viele virtuelle Computer in dieselbe Tabellenpartition schreiben, kann Azure Schreibvorgänge in dieser Partition drosseln.
Die eventVolume
-Einstellung bewirkt, dass Einträge auf 1 (Small), 10 (Medium) oder 100 (Large) Partitionen aufgeteilt werden. In der Regel reichen mittlere Partitionen aus, um eine Drosselung des Datenverkehrs zu vermeiden.
Das Azure Monitor-Metrikenfeature im Azure-Portal verwendet die Daten in dieser Tabelle, um Graphen zu erstellen oder Warnungen auszulösen. Der Tabellenname ist eine Verkettung dieser Zeichenfolgen:
WADMetrics
- Der
"scheduledTransferPeriod"
für die aggregierten Werte, die in der Tabelle gespeichert sind P10DV2S
- Ein Datum im Format „JJJJMMTT“, das sich alle 10 Tage ändert
Beispiele sind WADMetricsPT1HP10DV2S20170410
und WADMetricsPT1MP10DV2S20170609
.
syslogEvents
"syslogEvents": {
"sinks": "",
"syslogEventConfiguration": {
"facilityName1": "minSeverity",
"facilityName2": "minSeverity",
...
}
}
Mit dem optionalen syslogEvents
-Abschnitt wird die Erfassung von Protokollereignissen von Syslog gesteuert. Wenn dieser Abschnitt ausgelassen wird, werden Syslog-Ereignisse überhaupt nicht erfasst.
Die syslogEventConfiguration
-Sammlung enthält einen Eintrag für jede gewünschte Syslog-Funktion. Wenn minSeverity
für eine bestimmte Funktion "NONE"
lautet oder wenn diese Funktion im Element nicht enthalten ist, werden keine Ereignisse von dieser Funktion erfasst.
Element | Wert |
---|---|
sinks | Eine durch Trennzeichen getrennte Liste der Namen von Senken, an die einzelne Protokollereignisse veröffentlicht werden. Alle Protokollereignisse, die den Einschränkungen in syslogEventConfiguration entsprechen, werden an alle aufgeführten Senken veröffentlicht. Beispiel: "EHforsyslog" |
facilityName | Ein Syslog-Facility-Name, z. B. "LOG_USER" oder "LOG\LOCAL0" . Weitere Informationen finden Sie im Abschnitt „Facility“ der Syslog-Manpage. |
minSeverity | Ein Syslog-Schweregrad, z. B. "LOG_ERR" oder "LOG_INFO" . Weitere Informationen finden Sie im Abschnitt „Schweregrad“ der Syslog-Manpage. Die Erweiterung erfasst Ereignisse ab dem angegebenen Grad, die an die Funktion gesendet werden. |
Bei Angabe von syslogEvents
schreibt LAD Daten immer in eine Tabelle namens LinuxSyslogVer2v0 in Azure Storage. Die gleichen Daten können in JSON-Blobs geschrieben oder Event Hubs oder beides geschrieben werden. Sie können das Speichern von Daten in einer Tabelle jedoch nicht deaktivieren.
perfCfg
Der perfCfg
-Abschnitt ist optional. Sie steuert die Ausführung beliebiger OMI (Open Management Infrastructure)-Abfragen.
"perfCfg": [
{
"namespace": "root/scx",
"query": "SELECT PercentAvailableMemory, PercentUsedSwap FROM SCX_MemoryStatisticalInformation",
"table": "LinuxOldMemory",
"frequency": 300,
"sinks": ""
}
]
Element | Wert |
---|---|
Namespace | (Optional) Der OMI-Namespace, in dem die Abfrage ausgeführt werden soll. Wenn nichts angegeben wird, beträgt der Standardwert "root/scx" . Er wird von System Center plattformübergreifenden Anbietern implementiert. |
Abfrage | Die auszuführende OMI-Abfrage. |
table | (Optional) Die Azure Storage-Tabelle im angegebenen Speicherkonto. Weitere Informationen finden Sie unter Geschützte Einstellungen. |
frequency | (Optional) Die Anzahl von Sekunden zwischen Abfrageausführungen. Der Standardwert ist 300 (5 Minuten). Der Wert muss mindestens 15 Sekunden betragen. |
sinks | (Optional) Eine durch Trennzeichen getrennte Liste der Namen von weiteren Senken, an die unformatierte Metrikergebnisse veröffentlicht werden sollen. Es erfolgt keine Aggregation dieser unformatierten Daten durch die Erweiterung oder den Azure Monitor-Metrikendienst. |
Es müssen entweder "table"
oder "sinks"
oder beide angegeben werden.
fileLogs
Der fileLogs
-Abschnitt steuert die Erfassung von Protokolldateien. LAD erfasst neue Textzeilen, wenn sie in die Datei geschrieben werden. Sie werden in Tabellenzeilen und/oder angegebene Senken (JsonBlob
oder EventHub
) geschrieben.
Hinweis
fileLogs
werden durch eine Unterkomponente von LAD namens omsagent
erfasst. Stellen Sie zum Erfassen fileLogs
von sicher, dass der omsagent
-Benutzer über Leseberechtigungen für die von Ihnen angegebenen Dateien verfügt. Der Benutzer muss außerdem über Ausführungsberechtigungen für alle Verzeichnisse im Pfad zu dieser Datei verfügen. Nach der Installation von LAD können Sie die Berechtigungen überprüfen, indem Sie sudo su omsagent -c 'cat /path/to/file'
ausführen.
"fileLogs": [
{
"file": "/var/log/mydaemonlog",
"table": "MyDaemonEvents",
"sinks": ""
}
]
Element | Wert |
---|---|
file | Der vollständige Pfadname der Protokolldatei, die überwacht und erfasst werden soll. Der Pfadname darf nur eine einzelne Datei benennen. Er darf kein Verzeichnis benennen oder Platzhalterzeichen enthalten. Das omsagent -Benutzerkonto muss über Lesezugriff auf den Dateipfad verfügen. |
table | (Optional) Die Azure Storage-Tabelle, in die neue Zeilen aus dem „Anhang“ der Datei geschrieben werden. Die Tabelle muss im angegebenen Speicherkonto wie in der geschützten Konfiguration angegeben werden. |
sinks | (Optional) Eine durch Trennzeichen getrennte Liste der Namen weiterer Senken, an die Protokollzeilen gesendet werden. |
Es müssen entweder "table"
oder "sinks"
oder beide angegeben werden.
Metriken, die vom integrierten Anbieter unterstützt werden
Der builtin
-Metrikanbieter ist eine Quelle von Metriken, die für eine Vielzahl von Benutzern von Interesse sind. Diese Metriken werden in fünf Klassen unterteilt:
- Prozessor
- Arbeitsspeicher
- Netzwerk
- Dateisystem
- Datenträger
Integrierte Metriken der Prozessorklasse
Die Prozessorklasse von Metriken bietet Informationen zur Prozessorauslastung auf dem virtuellen Computer. Beim Aggregieren von Prozentsätzen ist das Ergebnis der Durchschnitt für alle CPUs.
Wenn eine vCPU auf einem virtuellen Computer mit zwei vCPU zu 100 Prozent ausgelastet ist und die andere zu 100 Prozent im Leerlauf ist, beträgt die gemeldete PercentIdleTime
50. Wenn jede vCPU im gleichen Zeitraum zu 50 % ausgelastet ist, lautet das gemeldete Ergebnis ebenfalls 50. Wenn auf einem virtuellen Computer mit vier vCPUs eine vCPU zu 100 Prozent ausgelastet ist und die anderen sich im Leerlauf befinden, wird PercentIdleTime
gleich 75 gemeldet.
Leistungsindikator | Bedeutung |
---|---|
PercentIdleTime | Prozentsatz der Zeit während des Aggregationszeitraums, in der die Prozessoren die Kernel-Leerlaufschleife ausgeführt haben |
PercentProcessorTime | Prozentsatz der Zeit für die Ausführung von anderen Threads als dem Leerlaufthread |
PercentIOWaitTime | Prozentsatz der Zeit für das Warten auf den Abschluss von E/A-Vorgängen |
PercentInterruptTime | Prozentsatz der Zeit für die Ausführung von Hardware- und/oder Softwareinterrupts und DPCs (zurückgestellte Prozeduraufrufe) |
PercentUserTime | Prozentsatz der Zeit, die während des Aggregationszeitraums nicht im Leerlauf verbracht wurde, sondern durch Benutzer stärker bei normaler Priorität |
PercentNiceTime | Prozentsatz der Zeit, die nicht im Leerlauf aufgewendet wurde, mit geringerer Priorität (Nice) |
PercentPrivilegedTime | Prozentsatz der Zeit, die nicht im Leerlauf aufgewendet wurde, im privilegierten (Kernel-)Modus |
Die ersten vier Leistungsindikatoren sollten in der Summe 100 Prozent ergeben. Die letzten drei Leistungsindikatoren sollten sich ebenfalls auf 100 Prozent summieren. Diese drei Leistungsindikatoren unterteilen die Summe von PercentProcessorTime
, PercentIOWaitTime
und PercentInterruptTime
.
Um eine einzelne Metrik über alle Prozessoren hinweg zu aggregieren, legen Sie "condition": "IsAggregate=TRUE"
fest. Um eine Metrik für einen bestimmten Prozessor zu erhalten, z.B. den zweiten logischen Prozessor eines virtuellen Computers mit vier vCPUs, legen Sie "condition": "Name=\\"1\\""
fest. Die Nummern der logischen Prozessoren liegen im Bereich [0..n-1]
.
Integrierte Metriken der Arbeitsspeicherklasse
Die Arbeitsspeicherklasse der Metriken bietet Informationen zur Speicherauslastung, zum Paging und zum Swapping.
Leistungsindikator | Bedeutung |
---|---|
AvailableMemory | Verfügbarer physischer Speicher in MB |
PercentAvailableMemory | Verfügbarer physischer Speicher als Prozentsatz des gesamten Arbeitsspeichers |
UsedMemory | Verwendeter physischer Speicher (MB) |
PercentUsedMemory | Verwendeter physischer Speicher als Prozentsatz des gesamten Arbeitsspeichers |
PagesPerSec | Paging insgesamt (Lesen/Schreiben) |
PagesReadPerSec | Aus dem Hintergrundspeicher gelesene Seiten, z. B. Auslagerungsdatei, Programmdatei und im Speicher abgebildete Datei |
PagesWrittenPerSec | Seiten, die in den Hintergrundspeicher geschrieben werden, z. B. Auslagerungsdatei und im Speicher abgebildete Datei |
AvailableSwap | Nicht verwendeter Auslagerungsbereich (MB) |
PercentAvailableSwap | Nicht verwendeter Auslagerungsbereich als Prozentsatz des gesamten Auslagerungsbereichs |
UsedSwap | Verwendeter Auslagerungsbereich (MB) |
PercentUsedSwap | Verwendeter Auslagerungsbereich als Prozentsatz des gesamten Auslagerungsbereichs |
Diese Klasse von Metriken hat nur eine Instanz. Das "condition"
-Attribut weist keine nützlichen Einstellungen auf und sollte ausgelassen werden.
Integrierte Metriken der Netzwerkklasse
Die Netzwerkklasse von Metriken liefert Informationen zur Netzwerkaktivität für eine einzelne Netzwerkschnittstelle seit dem Startup.
LAD macht keine Bandbreitenmetriken verfügbar. Sie können diese Metriken aus Hostmetriken abrufen.
Leistungsindikator | Bedeutung |
---|---|
BytesTransmitted | Gesamtanzahl der seit dem Startup gesendeten Bytes |
BytesReceived | Gesamtanzahl der seit dem Startup empfangenen Bytes |
BytesTotal | Gesamtanzahl der seit dem Startup gesendeten und empfangenen Bytes |
PacketsTransmitted | Gesamtanzahl der seit dem Startup gesendeten Pakete |
PacketsReceived | Gesamtanzahl der seit dem Startup empfangenen Pakete |
TotalRxErrors | Anzahl der Empfangsfehler seit dem Startup |
TotalTxErrors | Anzahl der Übertragungsfehler seit dem Startup |
TotalCollisions | Anzahl der Konflikte, die seit dem Startup von Netzwerkports gemeldet wurden |
Obwohl diese Netzwerkklasse instanziiert wird, unterstützt LAD nicht das Erfassen von aggregierten Netzwerkmetriken für alle Netzwerkgeräte. Legen Sie "condition": "InstanceID=\\"eth0\\""
fest, um Metriken für eine bestimmte Schnittstelle abzurufen, z.B. eth0.
Integrierte Metriken der Dateisystemklasse
Die Dateisystemklasse von Metriken liefert Informationen zur Nutzung des Dateisystems. Absolute und prozentuale Werte werden so erfasst, wie sie einem normalen Benutzer (nicht root) angezeigt werden würden.
Leistungsindikator | Bedeutung |
---|---|
FreeSpace | Verfügbarer Speicherplatz in Byte |
UsedSpace | Verwendeter Speicherplatz in Byte |
PercentFreeSpace | Prozentsatz des freien Speicherplatzes |
PercentUsedSpace | Prozentsatz des belegten Speicherplatzes |
PercentFreeInodes | Prozentwert der nicht verwendeten Indexknoten (I-Knoten) |
PercentUsedInodes | Prozentwert der zugeordneten (verwendeten) I-Knoten als Summe aus sämtlichen Dateisystemen |
BytesReadPerSecond | Pro Sekunde gelesene Bytes |
BytesWrittenPerSecond | Pro Sekunde geschriebene Bytes |
Bytes pro Sekunde | Pro Sekunde gelesene und geschriebene Bytes |
ReadsPerSecond | Lesevorgänge pro Sekunde |
WritesPerSecond | Schreibvorgänge pro Sekunde |
TransfersPerSecond | Lese- oder Schreibvorgänge pro Sekunde |
Sie können aggregierte Werte für alle Dateisysteme erhalten, indem Sie "condition": "IsAggregate=True"
festlegen. Werte für ein bestimmtes eingebundenes Dateisystem, wie z. B. "/mnt"
, erhalten Sie, indem Sie "condition": 'Name="/mnt"'
angeben.
Hinweis
Wenn Sie nicht mit JSON, sondern mit dem Azure-Portal arbeiten, ist die Form des Bedienungsfeldes Name='/mnt'
.
Integrierte Metriken der Datenträgerklasse
Die Datenträgerklasse von Metriken liefert Informationen zur Nutzung von Datenträgergeräten. Diese Statistiken gelten für das gesamte Laufwerk.
Wenn ein Gerät mehrere Dateisysteme enthält, sind die Leistungsindikatoren für das Gerät effektiv über alle Dateisysteme aggregiert.
Leistungsindikator | Bedeutung |
---|---|
ReadsPerSecond | Lesevorgänge pro Sekunde |
WritesPerSecond | Schreibvorgänge pro Sekunde |
TransfersPerSecond | Vorgänge gesamt pro Sekunde |
AverageReadTime | Durchschnittliche Anzahl von Sekunden pro Lesevorgang |
AverageWriteTime | Durchschnittliche Anzahl von Sekunden pro Schreibvorgang |
AverageTransferTime | Durchschnittliche Anzahl von Sekunden pro Vorgang |
AverageDiskQueueLength | Durchschnittliche Anzahl von Datenträgervorgängen in der Warteschlange |
ReadBytesPerSecond | Anzahl von pro Sekunde gelesenen Bytes |
WriteBytesPerSecond | Anzahl von pro Sekunde geschriebenen Bytes |
Bytes pro Sekunde | Anzahl von pro Sekunde gelesenen und geschriebenen Bytes |
Sie können aggregierte Werte für alle Datenträger erhalten, indem Sie "condition": "IsAggregate=True"
festlegen. Legen Sie zum Abrufen von Informationen für ein bestimmtes Gerät (z. B. /dev/sdf1
) "condition": "Name=\\"/dev/sdf1\\""
fest.
Installieren und Konfigurieren von LAD 3.0
Azure CLI
Wenn Ihre geschützten Einstellungen in der Datei ProtectedSettings.json und Ihre öffentlichen Konfigurationsinformationen in PublicSettings.json gespeichert sind, führen Sie den folgenden Befehl aus.
az vm extension set --publisher Microsoft.Azure.Diagnostics --name LinuxDiagnostic --version 3.0 --resource-group <resource_group_name> --vm-name <vm_name> --protected-settings ProtectedSettings.json --settings PublicSettings.json
Bei diesem Befehl wird davon ausgegangen, dass Sie den Azure Resource Manager-Modus der Azure CLI verwenden. Wenn Sie LAD für virtuelle Computer im klassischen Bereitstellungsmodell konfigurieren möchten, wechseln Sie in den ASM-Modus (azure config mode asm
) und lassen den Namen der Ressourcengruppe im Befehl aus.
Weitere Informationen finden Sie in der Dokumentation zur plattformübergreifenden Azure-Befehlszeilenschnittstelle.
PowerShell
Wenn sich Ihre geschützten Einstellungen in der Variablen $protectedSettings
und Ihre öffentlichen Konfigurationsinformationen in der Variablen $publicSettings
befinden, führen Sie den folgenden Befehl aus:
Set-AzVMExtension -ResourceGroupName <resource_group_name> -VMName <vm_name> -Location <vm_location> -ExtensionType LinuxDiagnostic -Publisher Microsoft.Azure.Diagnostics -Name LinuxDiagnostic -SettingString $publicSettings -ProtectedSettingString $protectedSettings -TypeHandlerVersion 3.0
Beispielkonfiguration für LAD 3.0
Die folgende Beispielkonfiguration für LAD 3.0 mit einigen Erläuterungen in diesem Abschnitt basiert auf den oben angegebenen Definitionen. Verwenden Sie Ihren eigenen Speicherkontonamen, SAS-Kontotoken und Event Hubs-SAS-Token, um dieses Beispiel in Ihrem Szenario anzuwenden.
Hinweis
Die Methode zum Bereitstellen von öffentlichen und geschützten Einstellungen unterscheidet sich abhängig davon, ob Sie LAD über die Azure-Befehlszeilenschnittstelle oder mithilfe von PowerShell installieren:
- Speichern Sie bei Verwendung der Azure-Befehlszeilenschnittstelle die folgenden Einstellungen in ProtectedSettings.json und PublicSettings.json für die Verwendung mit dem genannten Beispielbefehl.
- Wenn Sie PowerShell verwenden, führen Sie
$protectedSettings = '{ ... }'
aus, um die folgenden Einstellungen in$protectedSettings
und$publicSettings
zu speichern.
Geschützte Einstellungen
Durch die geschützten Einstellungen wird Folgendes konfiguriert:
- Ein Speicherkonto.
- Ein zugehöriges SAS-Kontotoken.
- Mehrere Senken (
JsonBlob
oderEventHub
mit 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"
}
]
}
}
Öffentliche Einstellungen
Die öffentlichen Einstellungen weisen LAD zu Folgendem an:
- Hochladen von Metriken zur prozentualen Prozessorzeit und zum verwendeten Speicherplatz in die Tabelle
WADMetrics*
. - Hochladen von Benachrichtigungen der Syslog-Funktion
"user"
mit dem Schweregrad"info"
in die TabelleLinuxSyslog*
. - Hochladen von rohen OMI-Abfrageergebnissen (
PercentProcessorTime
undPercentIdleTime
) in die genannte TabelleLinuxCPU
. - Hochladen von angefügten Zeilen in der Datei
/var/log/myladtestlog
in die TabelleMyLadTestLog
.
In jedem Fall werden außerdem Daten hochgeladen nach:
- „Azure Blob Storage“. Der Containername entspricht der Definition in der
JsonBlob
-Senke. - Der Event Hubs-Endpunkt, wie in der
EventHub
-Senke angegeben.
{
"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": "Aggregate CPU %utilization"
}
],
"condition": "IsAggregate=TRUE",
"class": "Processor"
},
{
"unit": "Bytes",
"type": "builtin",
"counter": "UsedSpace",
"counterSpecifier": "/builtin/FileSystem/UsedSpace",
"annotation": [
{
"locale": "en-us",
"displayName": "Used disk space on /"
}
],
"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"
}
}
}
},
"perfCfg": [
{
"query": "SELECT PercentProcessorTime, PercentIdleTime FROM SCX_ProcessorStatisticalInformation WHERE Name='_TOTAL'",
"table": "LinuxCpu",
"frequency": 60,
"sinks": "LinuxCpuJsonBlob,LinuxCpuEventHub"
}
],
"fileLogs": [
{
"file": "/var/log/myladtestlog",
"table": "MyLadTestLog",
"sinks": "FilelogJsonBlob,LoggingEventHub"
}
]
}
Die resourceId
in der Konfiguration muss mit der des virtuellen Computers oder der VM-Skalierungsgruppe übereinstimmen.
- Die Funktion für Diagramme und Warnungen zu Azure-Plattformmetriken kennt die
resourceId
des virtuellen Computers, mit dem Sie arbeiten. Sie geht davon aus, die Daten zu Ihrem virtuellen Computer mithilfe derresourceId
als Lookup-Schlüssel zu finden. - Bei Verwendung der automatischen Skalierung von Azure muss die
resourceId
in der Konfiguration für die automatische Skalierung mit der von LAD verwendetenresourceId
übereinstimmen. - Die
resourceId
ist in die Namen von JSON-Blobs integriert, die von LAD geschrieben wurden.
Anzeigen Ihrer Daten
Verwenden Sie das Azure-Portal, um die Leistungsdaten anzuzeigen oder Warnungen festzulegen:
Die performanceCounters
-Daten werden immer in einer Azure Storage-Tabelle gespeichert. Azure Storage-APIs sind für viele Sprachen und Plattformen verfügbar.
Die an JsonBlob
-Senken gesendeten Daten werden in Blobs in dem Speicherkonto gespeichert, das in den geschützten Einstellungen angegeben wurde. Sie können die Blobdaten mithilfe von Azure Blob Storage-APIs nutzen.
Sie können auch folgende Tools mit grafischer Benutzeroberfläche für den Zugriff auf Daten in Azure Storage verwenden:
- Server-Explorer von Visual Studio
- Azure Storage-Explorer
Der folgende Screenshot einer Sitzung im Microsoft Azure Storage-Explorer zeigt die generierten Azure Storage-Tabellen und -Container einer ordnungsgemäß konfigurierten LAD 3.0-Erweiterung auf einem virtuellen Testcomputer. Das Bild stimmt nicht genau mit der LAD 3.0-Beispielkonfiguration überein.
Weitere Informationen zum Nutzen von Nachrichten, die an einem Event Hubs-Endpunkt veröffentlicht werden, finden Sie in der entsprechenden Event Hubs-Dokumentation.
Nächste Schritte
- Erstellen Sie in Azure Monitor Warnungen für die von Ihnen gesammtelten Metriken.
- Erstellen Sie Überwachungsdiagramme für Ihre Metriken.
- Erfahren Sie, wie Sie mithilfe Ihrer Metriken eine VM-Skalierungsgruppe erstellen, um die automatische Skalierung zu steuern.