Verwenden der Linux Diagnostic Extension 4.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 End-of-Life-Leitfaden.
Dieser Artikel beschreibt die neuesten Versionen der Linux-Diagnoseerweiterung (Linux Diagnostic Extension, LAD).
Wichtig
Informationen zu Version 3.x finden Sie unter Verwenden der Linux-Diagnoseerweiterung 3.0 zum Überwachen von Metriken und Protokollen. Informationen zu Version 2.3 und früher finden Sie unter Überwachen der Leistungs- und Diagnosedaten eines virtuellen Linux-Computers.
Mit der Linux-Diagnoseerweiterung können Sie die Integrität von Linux-VMs in Azure überwachen. Sie verfügt über die folgenden Funktionen:
Datenquellen- | Anpassungsoptionen | Erforderliche Ziele | Fakultative Ziele |
---|---|---|---|
Metriken | Zähler, Aggregation, Abtastrate, Spezifizierer | Azure-Tabellenspeicher | EventHub, Azure Blob Storage (JSON-Format), Azure Monitor (neu in LAD 4.0) |
syslog | Einrichtung, Schweregrad | Azure-Tabellenspeicher | EventHub, Azure Blob Storage (JSON-Format) |
Dateien | Protokollpfad, Zieltabelle | Azure-Tabellenspeicher | EventHub, Azure Blob Storage (JSON-Format) |
Diese Erweiterung funktioniert mit beiden Azure-Bereitstellungsmodellen: Azure Resource Manager und klassisch.
Voraussetzungen
- Azure Linux Agent ab Version 2.2.0 oder höher. 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 des Gast-Agents ausgeführt wird, müssen Sie den Linux-Agent aktualisieren. - Azure-Befehlszeilenschnittstelle. 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 Azure-Abonnement und ein vorhandenes universelles Speicherkonto zum Speichern der Daten. Universelle Speicherkonten unterstützen den erforderlichen Tabellenspeicher. Ein Blobspeicherkonto funktioniert nicht.
- Python 2.
Unterstützte Linux-Distributionen
Weitere Informationen finden Sie unter Unterstützte Agent-Betriebssysteme.
Python-Anforderung
Die Linux-Diagnoseerweiterung erfordert Python 2. Wenn Ihre VM eine Distribution verwendet, in der Python 2 nicht enthalten ist, müssen Sie die Sprache installieren.
Hinweis
Wir planen derzeit, alle Versionen der Linux-Diagnoseerweiterungen (LAD) mit dem neuen Azure Monitoring Agent zusammenzuführen, der Python 3 bereits unterstützt. Die LAD wird bis zur Ankündigung und Genehmigung als veraltet geplant.
Führen Sie zum Installieren von Python 2 einen der folgenden Beispielbefehle aus:
- 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.
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
Installieren der Erweiterung
Sie können diese Erweiterung für Ihre VM und die VM-Skalierungsgruppe aktivieren, indem Sie Azure PowerShell-Cmdlets, Azure CLI-Skripte, Azure Resource Manager-Vorlagen (ARM-Vorlagen) oder das Azure-Portal verwenden. Weitere Informationen finden Sie unter Erweiterungen und Features für VMs für Linux.
Hinweis
Einige Komponenten der Linux Diagnostic-VM-Erweiterung werden auch mit der VM-Erweiterung für Protokollanalysen geliefert. Konflikte können 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.
Verwenden Sie diese Installationsanweisungen, um LAD 4.0 mithilfe einer herunterladbaren Beispielkonfiguration für Folgendes zu konfigurieren:
- Erfassen und Speichern der gleichen Metriken wie die, die durch die LAD-Versionen 2.3 und 3.x bereitgestellt wurden.
- Senden von Metriken an eine Azure Monitor-Senke zusammen mit der üblichen Senke an Azure Storage. Diese Funktionalität ist bei LAD 4.0 neu.
- Erfassen eines nützlichen Satzes von Dateisystemmetriken (wie bei LAD 3.0).
- Erfassen der Syslog-Standardsammlung, die durch LAD 2.3 aktiviert wird.
- 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.
Installation
Sie können LAD 4.0 in der Azure CLI oder in Azure PowerShell installieren und konfigurieren.
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 4.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-Ressourcenverwaltungsmodus der Azure CLI verwenden. Um LAD für VMs des klassischen Bereitstellungsmodells zu konfigurieren, wechseln Sie in den Dienstverwaltungs-Modus (azure config mode asm
) und lassen Sie den Namen der Ressourcengruppe im Befehl weg.
Weitere Informationen finden Sie in der Dokumentation zur plattformübergreifenden Azure-Befehlszeilenschnittstelle.
Aktivieren der automatischen Aktualisierung
Es wird empfohlen, automatische Updates des Agents zu aktivieren, indem Sie das Feature Automatisches Erweiterungsupgrade aktivieren.
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
Beispielinstallation
Bei diesen Beispielen sammelt die Beispielkonfiguration eine Reihe von Standarddaten und sendet diese an den Tabellenspeicher. Die URL für die Beispielkonfiguration und ihr Inhalt können sich ändern.
Hinweis
Geben Sie vor der Ausführung des Codes bei beiden folgenden Beispielen im ersten Abschnitt die richtigen Werte für die Variablen ein.
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.
Wenn Sie die neue Azure Monitor-Senke aktivieren, muss die vom System zugewiesene Identität für die VMs aktiviert sein, um Authentifizierungstoken der verwalteten Dienstidentität (Managed Service Identity, MSI) zu generieren. Sie können diese Einstellungen während oder nach der Erstellung des virtuellen Computers hinzufügen. Die Anweisungen für das Azure-Portal, Azure CLI, PowerShell und Azure Resource Manager finden Sie unter Konfigurieren von verwalteten Identitäten.
Installationsbeispiel – 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
Installationsbeispiel für Virtual Machine Scale Sets – 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
Aktualisieren der Erweiterungseinstellungen
Nachdem Sie Ihre geschützten oder öffentlichen Einstellungen geändert haben, stellen Sie sie auf der VM bereit, indem Sie denselben Befehl ausführen. Wenn irgendwelche 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 aktuelle Version der Erweiterung ist Version 4.0,die aktuell als öffentliche Vorschau verfügbar ist. Ältere Versionen von 3.x werden weiterhin unterstützt. 2.x-Versionen gelten jedoch seit dem 31. Juli 2018 als veraltet.
Wichtig
Deinstallieren Sie die alte Erweiterung, um von 3.x zur neuesten Version der Erweiterung zu migrieren. Installieren Sie dann Version 4, die die aktualisierte Konfiguration für die vom System zugewiesene Identität und Senken zum Senden von Metriken an die Azure Monitor-Senke enthält.
Wenn Sie die neue Erweiterung installieren, aktivieren Sie automatische Upgrades für die Nebenversion:
- Bei virtuellen Computern im Azure Resource Manager-Bereitstellungsmodell fügen Sie
"autoUpgradeMinorVersion": true
in die VM-Bereitstellungsvorlage ein. - Geben Sie auf klassischen Bereitstellungsmodell-VMs die Version an,
4.*
wenn Sie die Erweiterung über die Azure-Befehlszeilenschnittstelle oder PowerShell installieren.
Sie können dasselbe Speicherkonto wie für LAD 3.x verwenden.
Geschützte Einstellungen
Dieser Satz von Konfigurationsinformationen enthält vertrauliche Informationen, die nicht öffentlich einsehbar sein dürfen. Sie enthält z. B. Speicheranmeldeinformationen. Die Einstellungen werden an die Erweiterung in verschlüsselter Form übertragen und von ihr 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 nicht vorhanden ist, 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' ). Dieses Token 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. Die folgenden Abschnitte enthalten Details zu jeder Datensenke, die von der Erweiterung unterstützt wird. |
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 generieren:
- Wählen Sie das universelle Speicherkonto aus, in das die Erweiterung schreiben soll.
- Wählen Sie im Menü auf der linken Seite unter Sicherheit und Netzwerk die Option Shared Access Signature aus.
- Treffen Sie die Auswahl wie zuvor beschrieben.
- Klicken Sie auf SAS und Verbindungszeichenfolge generieren.
Kopieren Sie die generierte Shared Access Signature in das storageAccountSasToken
-Feld. Entfernen Sie das führende Fragezeichen (?).
sinksConfig
Hinweis
Sowohl öffentliche als auch geschützte Einstellungen verfügen über einen optionalen sinksConfig
Abschnitt. Der sinksConfig
Abschnitt in den geschützten Einstellungen enthält nur EventHub
und JsonBlob
Senk-Konfigurationen, aufgrund der Einbeziehung von Geheimnissen, wie sasURL
s. AzMonSink
Senk-Konfigurationen können nicht in Ihren geschützten Einstellungen einbezogen werden.
"sinksConfig": {
"sink": [
{
"name": "sinkname",
"type": "sinktype",
...
},
...
]
},
In diesem optionalen Abschnitt sinksConfig
werden weitere Ziele definiert, an die die Erweiterung die gesammelten Informationen sendet. Das "sink"
-Array 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 zum Verweisen auf diese Senke an anderer Stelle in der Konfiguration der Erweiterung verwendet wird |
type | Der Typ der Senke, die definiert wird. Bestimmt die anderen Werte in Instanzen dieses Typs (sofern vorhanden). |
Die Linux-Diagnoseerweiterung 4.0 unterstützt zwei geschützte Senk-Typen: 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 Shared Access Signature-Tokens (SAS-Token) für den Event Hub, für den die Daten veröffentlicht werden sollen. LAD erfordert eine SAS-Benennungsrichtlinie, die den Anspruch „Senden“ aktiviert. Hier sehen Sie ein Beispiel:
- Erstellen Sie den Event Hubs-Namespace
contosohub
. - Erstellen Sie einen Event Hub im Namespace
syslogmsgs
. - Erstellen Sie auf dem Event Hub die SAS-Richtlinie
writer
, die den Anspruch „Senden“ aktiviert.
Wenn Sie eine SAS erstellt haben, die bis Mitternacht (UTC) am 1. Januar 2018 gültig ist, kann 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. Namen müssen 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. Jede Einstellung (mit Ausnahme von ladCfg
) ist optional. Wenn Sie die Metrikerfassung oder Syslog-Erfassung in ladCfg
angeben, müssen Sie auch StorageAccount
angeben. Sie müssen das sinksConfig
-Element angeben, um die Azure Monitor für Metriken aus LAD 4.0 zu aktivieren.
{
"ladCfg": { ... },
"fileLogs": { ... },
"StorageAccount": "the storage account to receive data",
"sinksConfig": { ... },
"mdsdHttpProxy" : ""
}
Element | Wert |
---|---|
StorageAccount | Der Name des Speicherkontos, in dem von der Erweiterung Daten geschrieben werden. Muss mit dem Namen übereinstimmen, der in den geschützten Einstellungen festgelegt wurde. |
mdsdHttpProxy | (Optional) Der in den geschützten Einstellungen angegebene Proxy. Wenn der private Wert festgelegt ist, wird der öffentliche Wert überschrieben. Nehmen Sie Proxyeinstellungen, die ein Geheimnis (z. B. ein Kennwort) enthalten, in den geschützten Einstellungen vor. |
Die folgenden Abschnitte enthalten weitere Informationen über die verbleibenden Elemente.
ladCfg
"ladCfg": {
"diagnosticMonitorConfiguration": {
"eventVolume": "Medium",
"metrics": { ... },
"performanceCounters": { ... },
"syslogEvents": { ... }
},
"sampleRateInSeconds": 15
}
Die ladCfg
-Struktur steuert das Sammeln von Metriken und Protokollen für die Übermittlung an den Azure Monitor-Metrikdienst und andere Datensenken. Geben Sie performanceCounters
und/oder syslogEvents
an. Geben Sie auch die metrics
-Struktur an.
Wenn Sie die Syslog- oder Metriksammlung nicht aktivieren möchten, geben Sie eine leere Struktur für das ladCfg
-Element an:
"ladCfg": {
"diagnosticMonitorConfiguration": {}
}
Element | Wert |
---|---|
eventVolume | (Optional) Steuert die Anzahl der Partitionen, die innerhalb der Speichertabelle erstellt werden. Der Wert muss "Large" , "Medium" , oder "Small" sein. Der Standardwert ist "Medium" . |
sampleRateInSeconds | (Optional) Das Standardintervall zwischen der Erfassung von unformatierten (d. h. nicht aggregierten) Metriken. Die kleinste unterstützte Erfassungsrate beträgt 15 Sekunden. Der Standardwert ist 15 . |
metrics
"metrics": {
"resourceId": "/subscriptions/...",
"metricAggregation" : [
{ "scheduledTransferPeriod" : "PT1H" },
{ "scheduledTransferPeriod" : "PT5M" }
]
}
Element | Wert |
---|---|
resourceId | Die Azure Resource Manager-Ressourcen-ID der VM oder der VM-Skalierungsgruppe, zu der die VM gehört. Geben Sie diese Einstellung auch an, wenn die Konfiguration eine JsonBlob -Senke verwendet. |
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" : "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: "MyEventHubSink, MyJsonSink, MyAzMonSink" . Weitere Informationen finden Sie unter sinksConfig (geschützte Einstellungen) und sinksConfig (öffentliche Einstellungen). |
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. Eine Liste der verfügbaren Zähler anzeigen. |
counterSpecifier | Gibt die 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, legt der Wert sampleRateInSeconds das Erfassungsintervall fest. 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 Azure Monitor Metrics bei der Anzeige im Guest (classic) -Metrikennamespace angefügt werden soll. Diese Bezeichnung ist in der Sprache, die durch die zugeordnete Locale-Einstellung angegeben wird. LAD ignoriert dieses Feld. Hinweis: Wenn die gleiche Metrik im azure.vm.linux.guestmetrics -Metrikennamespace angezeigt wird (verfügbar, wenn AzMonSink konfiguriert ist), hängt der Anzeigename vollständig vom Zähler ab. Informationen zum Ermitteln der Zuordnung zwischen Zählern und Namen finden Sie unter Vom integrierten Anbieter unterstützte Metriken. |
counterSpecifier
ist ein beliebiger Bezeichner. Consumer von Metriken, etwa das Feature für Diagramme und Warnungen im Azure-Portal, 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. Um eine bestimmte Instanz einer Metrik zu erfassen, fügen Sie den Bezeichner der Instanz an den counterSpecifier
-Wert an. Hier einige Beispiele:
/builtin/Processor/PercentIdleTime
. Leerlaufzeit (Durchschnitt für alle vCPUs)/builtin/Disk/FreeSpace(/mnt)
. Freier Speicherplatz für das/mnt
-Dateisystem/builtin/Disk/FreeSpace
. Freier Speicherplatz (Durchschnitt für alle eingebundenen 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 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 unter Werte für die Einrichtung auf der syslog-Handbuchseite. |
minSeverity | Ein Syslog-Schweregrad, z. B. "LOG_ERR" oder "LOG_INFO" . Weitere Informationen finden Sie unter Werte für die Ebene auf der syslog-Handbuchseite. 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 nicht deaktivieren.
sinksConfig
Der optionale öffentliche Abschnitt sinksConfig
ermöglicht das Senden von Metriken an die Azure Monitor-Senke zusätzlich zum Speicherkonto und der standardmäßigen Ansicht „Guest Metrics“.
Hinweis
Sowohl öffentliche als auch geschützte Einstellungen verfügen über einen optionalen sinksConfig
Abschnitt. Der sinksConfig
Abschnitt in den öffentlichen Einstellungen enthält lediglich die AzMonSink
Senken-Konfiguration. EventHub
und die JsonBlob
Senken-Konfigurationen können nicht in Ihren öffentlichen Einstellungen einbezogen werden.
Hinweis
Für den sinksConfig
-Abschnitt muss die vom System zugewiesene Identität auf den virtuellen Computern oder in der VM-Skalierunggruppe aktiviert sein.
Sie können die vom System zugewiesene Identität über Azure-Portal, CLI, PowerShell oder Azure Resource Manager aktivieren. Befolgen Sie die ausführlichen Anweisungen oder sehen Sie sich die vorherigen Installationsbeispiele in diesem Artikel an.
"sinksConfig": {
"sink": [
{
"name": "AzMonSink",
"type": "AzMonSink",
"AzureMonitor": {}
}
]
},
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 angegebene Senken geschrieben (z. B. JsonBlob
oder EventHub
).
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. Er muss außerdem über Ausführungsberechtigungen für alle Verzeichnisse im Pfad zu dieser Datei verfügen. Führen Sie sudo su omsagent -c 'cat /path/to/file'
nach der Installation von LAD aus, um die Berechtigungen zu überprüfen.
"fileLogs": [
{
"file": "/var/log/mydaemonlog",
"table": "MyDaemonEvents",
"sinks": ""
}
]
Element | Wert |
---|---|
file | Der vollständige Pfadname der Protokolldatei, die überwacht und erfasst werden soll. Der Pfad darf kein Verzeichnis angeben und keine 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 „Ende“ 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
Die von LAD unterstützten Standardmetriken werden über alle Dateisysteme, Datenträger oder Dateinamen hinweg aggregiert. Für nicht aggregierte Metriken verwenden Sie die Unterstützung für neuere Azure Monitor-Senkenmetriken.
Hinweis
Die Anzeigenamen für jede Metrik unterscheiden sich je nach Metrikennamespace, zu dem sie gehört:
Guest (classic)
(von Ihrem Speicherkonto mit Daten aufgefüllt): der im AbschnittperformanceCounters
angegebenedisplayName
oder der Standardanzeigename aus dem Azure-Portal. Wählen Sie für die VM unter Überwachung>Diagnoseeinstellungen die Registerkarte Metriken aus.azure.vm.linux.guestmetrics
(ausAzMonSink
mit Daten aufgefüllt, wenn konfiguriert): Der „azure.vm.linux.guestmetrics
-Anzeigename“, der in den folgenden Tabellen angegeben wird.
Die Metrikwerte unterscheiden sich zwischen den Guest (classic)
- und azure.vm.linux.guestmetrics
-Versionen. Während bei den klassischen Metriken bestimmte Aggregationen im Agenten angewendet wurden, handelt es sich bei den neuen Metriken um nicht-aggregierte Zähler, die dem Kunden die Flexibilität verleihen, zum Zeitpunkt der Anzeige/Benachrichtigung nach Belieben zu aggregieren.
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 | Anzeigename von azure.vm.linux.guestmetrics | Bedeutung |
---|---|---|
PercentIdleTime | cpu idle time |
Prozentsatz der Zeit während des Aggregationszeitraums, in der die Prozessoren die Kernel-Leerlaufschleife ausgeführt haben |
PercentProcessorTime | cpu percentage guest os |
Prozentsatz der Zeit für die Ausführung eines Threads, der nicht im Leerlauf ist |
PercentIOWaitTime | cpu io wait time |
Prozentsatz der Zeit für das Warten auf den Abschluss von E/A-Vorgängen |
PercentInterruptTime | cpu interrupt time |
Prozentsatz der Zeit für die Ausführung von Hardware- oder Softwareinterrupts und DPCs (Deferred Procedure Calls, zurückgestellte Prozeduraufrufe) |
PercentUserTime | cpu user time |
Prozentsatz der Zeit, die während des Aggregationszeitfensters nicht im Leerlauf verbracht wurde, sondern im Benutzermodus mit normaler Priorität |
PercentNiceTime | cpu nice time |
Prozentsatz der Zeit, die nicht im Leerlauf verbracht wurde, mit geringerer Priorität (Nice) |
PercentPrivilegedTime | cpu privileged time |
Prozentsatz der Zeit, die nicht im Leerlauf verbracht wurde, im privilegierten Modus (Kernelmodus) |
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
.
Integrierte Metriken der Arbeitsspeicherklasse
Die Arbeitsspeicherklasse der Metriken bietet Informationen zur Speicherauslastung, zum Paging und zum Swapping.
Leistungsindikator | Anzeigename von azure.vm.linux.guestmetrics | Bedeutung |
---|---|---|
AvailableMemory | memory available |
Verfügbarer physischer Speicher in MB |
PercentAvailableMemory | mem. percent available |
Verfügbarer physischer Speicher als Prozentsatz des gesamten Arbeitsspeichers |
UsedMemory | memory used |
Verwendeter physischer Speicher (MB) |
PercentUsedMemory | memory percentage |
Verwendeter physischer Speicher als Prozentsatz des gesamten Arbeitsspeichers |
PagesPerSec | pages |
Paging insgesamt (Lesen/Schreiben) |
PagesReadPerSec | page reads |
Aus dem Hintergrundspeicher gelesene Seiten, z. B. Auslagerungsdatei, Programmdatei und im Speicher abgebildete Datei |
PagesWrittenPerSec | page writes |
Seiten, die in den Hintergrundspeicher geschrieben werden, z. B. Auslagerungsdatei und im Speicher abgebildete Datei |
AvailableSwap | swap available |
Nicht verwendeter Auslagerungsbereich (MB) |
PercentAvailableSwap | swap percent available |
Nicht verwendeter Auslagerungsbereich als Prozentsatz des gesamten Auslagerungsbereichs |
UsedSwap | swap used |
Verwendeter Auslagerungsbereich (MB) |
PercentUsedSwap | swap percent used |
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 | Anzeigename von azure.vm.linux.guestmetrics | Bedeutung |
---|---|---|
BytesTransmitted | network out guest os |
Gesamtanzahl der seit dem Startup gesendeten Bytes |
BytesReceived | network in guest os |
Gesamtanzahl der seit dem Startup empfangenen Bytes |
BytesTotal | network total bytes |
Gesamtanzahl der seit dem Startup gesendeten und empfangenen Bytes |
PacketsTransmitted | packets sent |
Gesamtanzahl der seit dem Startup gesendeten Pakete |
PacketsReceived | packets received |
Gesamtanzahl der seit dem Startup empfangenen Pakete |
TotalRxErrors | packets received errors |
Anzahl der Empfangsfehler seit dem Startup |
TotalTxErrors | packets sent errors |
Anzahl der Übertragungsfehler seit dem Startup |
TotalCollisions | network collisions |
Anzahl der Konflikte, die seit dem Startup von Netzwerkports gemeldet wurden |
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 | Anzeigename von azure.vm.linux.guestmetrics | Bedeutung |
---|---|---|
FreeSpace | filesystem free space |
Verfügbarer Speicherplatz in Byte |
UsedSpace | filesystem used space |
Verwendeter Speicherplatz in Byte |
PercentFreeSpace | filesystem % free space |
Prozentwert des freien Speicherplatzes |
PercentUsedSpace | filesystem % used space |
Prozentwert des belegten Speicherplatzes |
PercentFreeInodes | filesystem % free inodes |
Prozentwert der nicht verwendeten Indexknoten (I-Knoten) |
PercentUsedInodes | filesystem % used inodes |
Prozentwert der zugeordneten (verwendeten) I-Knoten als Summe aus sämtlichen Dateisystemen |
BytesReadPerSecond | filesystem read bytes/sec |
Pro Sekunde gelesene Bytes |
BytesWrittenPerSecond | filesystem write bytes/sec |
Pro Sekunde geschriebene Bytes |
Bytes pro Sekunde | filesystem bytes/sec |
Pro Sekunde gelesene und geschriebene Bytes |
ReadsPerSecond | filesystem reads/sec |
Lesevorgänge pro Sekunde |
WritesPerSecond | filesystem writes/sec |
Schreibvorgänge pro Sekunde |
TransfersPerSecond | filesystem transfers/sec |
Lese- oder Schreibvorgänge pro Sekunde |
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 | Anzeigename von azure.vm.linux.guestmetrics | Bedeutung |
---|---|---|
ReadsPerSecond | disk reads |
Lesevorgänge pro Sekunde |
WritesPerSecond | disk writes |
Schreibvorgänge pro Sekunde |
TransfersPerSecond | disk transfers |
Vorgänge gesamt pro Sekunde |
AverageReadTime | disk read time |
Durchschnittliche Anzahl von Sekunden pro Lesevorgang |
AverageWriteTime | disk write time |
Durchschnittliche Anzahl von Sekunden pro Schreibvorgang |
AverageTransferTime | disk transfer time |
Durchschnittliche Anzahl von Sekunden pro Vorgang |
AverageDiskQueueLength | disk queue length |
Durchschnittliche Anzahl von Datenträgervorgängen in der Warteschlange |
ReadBytesPerSecond | disk read guest os |
Anzahl von pro Sekunde gelesenen Bytes |
WriteBytesPerSecond | disk write guest os |
Anzahl von pro Sekunde geschriebenen Bytes |
Bytes pro Sekunde | disk total bytes |
Anzahl von pro Sekunde gelesenen und geschriebenen Bytes |
Beispielkonfiguration für LAD 4.0
Die folgende Beispielkonfiguration für LAD 4.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 anzuwenden.
Hinweis
Die Methode zum Bereitstellen von öffentlichen und geschützten Einstellungen unterscheidet sich abhängig davon, ob Sie LAD über die Azure CLI oder mithilfe von Azure 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 = '{ ... }'
und$publicSettings = '{ ... }'
aus, um die folgenden Einstellungen in$protectedSettings
und$publicSettings
zu speichern.
Konfiguration geschützter Einstellungen
Durch die geschützten Einstellungen wird Folgendes konfiguriert:
- Ein Speicherkonto.
- Ein übereinstimmendes SAS-Token für das Konto.
- 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"
}
]
}
}
Konfiguration der öffentlichen 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 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": "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"
}
]
}
Die resourceId
in der Konfiguration muss mit der ID der VM 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 Ihrer VM mithilfe derresourceId
als Lookupschlü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.
Prüfen der Daten
Sie verwenden 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 in beliebigen Azure Blob Storage-APIs verwenden.
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 4.0-Erweiterung auf einem virtuellen Testcomputer. Das Bild stimmt nicht genau mit der LAD 4.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.