Monitorování metrik a protokolů pomocí diagnostického rozšíření Linuxu 4.0

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která je ve stavu konce životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.

Tento článek popisuje nejnovější verze diagnostického rozšíření Linuxu (LAD).

Důležité

Migrace z rozšíření Azure Diagnostic

Rozšíření Azure Diagnostics bude 31. března 2026 ukončeno. Po tomto datu už Microsoft nebude poskytovat podporu pro rozšíření Azure Diagnostics.

Pokud chcete zajistit trvalou podporu a přístup k novým funkcím, měli byste migrovat z rozšíření Azure Diagnostics pro Linux (LAD) a Windows (WAD) na agenta služby Azure Monitor, který může shromažďovat stejná data a posílat je do několika cílů, včetně pracovních prostorů služby Log Analytics, Azure Event Hubs a Azure Storage. Po konfiguraci agenta služby Azure Monitor odeberte LAD nebo WAD, abyste se vyhnuli duplicitním datům.

Jako alternativu k úložišti byste měli odesílat data do tabulky s pomocným plánem v pracovním prostoru služby Log Analytics pro nákladově efektivní protokolování.

Pokud chcete zkontrolovat, která rozšíření jsou nainstalovaná na jednom virtuálním počítači, v části Nastavení na virtuálním počítači vyberte Rozšíření a aplikace. Pokud chcete zkontrolovat rozšíření nainstalovaná na všech virtuálních počítačích v předplatných, ke kterým máte přístup, použijte následující dotaz v Azure Resource Graphu:

resources
| where type contains "extension"
| extend parsedProperties = parse_json(properties)
| extend publisher = tostring(parsedProperties.publisher)
| project-away parsedProperties
| where publisher == "Microsoft.Azure.Diagnostics"
| distinct id

Výsledkem jsou výsledky podobné následujícímu:

Snímek obrazovky znázorňující výsledky ukázkového dotazu Azure Resource Graphu

Důležité

Informace o verzi 3.x najdete v tématu Použití diagnostického rozšíření Linuxu 3.0 k monitorování metrik a protokolů. Informace o verzi 2.3 a starších najdete v tématu Monitorování výkonu a diagnostických dat virtuálního počítače s Linuxem.

Diagnostické rozšíření Linuxu pomáhá monitorovat stav virtuálního počítače s Linuxem v Microsoft Azure. Má následující možnosti:

Zdroj dat Možnosti přizpůsobení Požadované cíle Volitelné cíle
Metodiky Čítač, Agregace, Vzorkovací frekvence, Specifikátory Azure Table Storage (úložiště tabulek) EventHub, Azure Blob Storage (formát JSON), Azure Monitor (nový v LAD 4.0)
Syslog Zařízení, úroveň závažnosti Azure Table Storage (úložiště tabulek) EventHub, Azure Blob Storage (formát JSON)
Files Cesta k logu, cílová tabulka Azure Table Storage (úložiště tabulek) EventHub, Azure Blob Storage (formát JSON)

Toto rozšíření funguje s modely nasazení Azure: Azure Resource Manager a Classic.

Poznámka:

Vyzkoušejte VM Assist pro rychlejší diagnostiku. Doporučujeme spustit pomocníka virtuálního počítače pro Windows nebo pomocníka virtuálního počítače pro Linux. Tyto diagnostické nástroje založené na skriptech vám pomůžou identifikovat běžné problémy, které mají vliv na agenta hosta virtuálního počítače Azure a celkový stav virtuálního počítače.

Pokud máte problémy s výkonem virtuálních počítačů, před kontaktováním podpory spusťte tyto nástroje.

Požadavky

  • Agent Azure Linux verze 2.2.0 nebo novější. Většina imagí galerie virtuálních počítačů Azure s Linuxem zahrnuje verzi 2.2.7 nebo novější. Spusťte /usr/sbin/waagent -version pro potvrzení verze nainstalované na virtuálním počítači. Pokud na virtuálním počítači běží starší verze agenta hosta, aktualizujte agenta Linuxu.
  • Azure CLI. Nastavte na svém počítači prostředí Azure CLI.
  • Příkazwget. Pokud ho ještě nemáte, nainstalujte ho pomocí odpovídajícího správce balíčků.
  • Předplatné Azure a účet úložiště pro obecné účely pro ukládání dat. Účty úložiště pro obecné účely podporují úložiště tabulek, což je povinné. Účet úložiště objektů blob nefunguje.
  • Python 2.

Podporované distribuce Linuxu

Viz podporované operační systémy agenta.

Požadavek Pythonu

Rozšíření linuxové diagnostiky vyžaduje Python 2. Pokud váš virtuální počítač používá distribuci, která nezahrnuje Python 2, nainstalujte ho.

Poznámka:

V současné době plánujeme sloučit všechny verze linuxových diagnostických rozšíření (LAD) s novým agentem Azure Monitoring Agent, který už podporuje Python 3. LAD bude naplánováno k vyřazení, čekající na oznámení a schválení.

Pokud chcete nainstalovat Python 2, spusťte jeden z následujících ukázkových příkazů:

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

Spustitelný soubor python2 musí být přiřazen jako alias k python.

  1. Spuštěním následujícího příkazu odeberte všechny existující aliasy.

    sudo update-alternatives --remove-all python
    
  2. Spuštěním následujícího příkazu vytvořte nový alias.

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

Instalace rozšíření

Toto rozšíření můžete pro virtuální počítač a škálovací sadu virtuálních počítačů povolit pomocí rutin Azure PowerShellu, skriptů Azure CLI, šablon Azure Resource Manageru (šablon ARM) nebo webu Azure Portal. Další informace najdete v tématu Rozšíření a funkce virtuálních počítačů pro Linux.

Poznámka:

Některé komponenty rozšíření Diagnostického virtuálního počítače s Linuxem se také dodávají v rozšíření Log Analytics pro virtuální počítače. Konflikty můžou nastat, když jsou obě rozšíření instancována ve stejné šabloně ARM.

Chcete-li zabránit konfliktům v době instalace, použijte direktivudependsOn k postupné instalaci rozšíření. Rozšíření je možné nainstalovat v libovolném pořadí.

Pomocí pokynů k instalaci a ukázkové konfigurace ke stažení nakonfigurujte LAD 4.0 tak, aby:

  • Zachyťte a uložte stejné metriky, které poskytuje LAD verze 2.3 a 3.x.
  • Odešlete metriky do jímky Služby Azure Monitor spolu s obvyklou jímkou do služby Azure Storage. Tato funkce je v LAD 4.0 nová.
  • Zachyťte užitečnou sadu metrik systému souborů, jako je LAD 3.0.
  • Zachyťte výchozí kolekci syslog povolenou službou LAD 2.3.
  • Povolte prostředí webu Azure Portal pro grafy a upozorňování na metriky virtuálních počítačů.

Konfigurace ke stažení je jen příkladem. Upravte ho tak, aby vyhovoval vašim potřebám.

Instalace

LaD 4.0 můžete nainstalovat a nakonfigurovat v Azure CLI nebo v Azure PowerShellu.

Pokud jsou vaše chráněná nastavení v souboru ProtectedSettings.json a vaše veřejné konfigurační informace jsou ve PublicSettings.json, spusťte tento příkaz:

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

Tento příkaz předpokládá, že používáte režim Správy prostředků Azure v Azure CLI. Pokud chcete nakonfigurovat LAD pro virtuální počítače modelu nasazení Classic, přepněte do režimu Správy služeb (azure config mode asm) a v příkazu vynechejte název skupiny prostředků.

Další informace najdete v dokumentaci k rozhraní příkazového řádku pro různé platformy.

Povolení automatické aktualizace

Pokud chcete povolit automatickou aktualizaci agenta, doporučujeme povolit funkci automatického upgradu rozšíření :

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

Příklad instalace

V těchto příkladech ukázková konfigurace shromažďuje sadu standardních dat a odesílá je do úložiště tabulek. Adresa URL ukázkové konfigurace a jejího obsahu se může změnit.

Poznámka:

Pro následující ukázky před spuštěním kódu vyplňte příslušné hodnoty proměnných v první části.

Ve většině případů byste si měli stáhnout kopii souboru JSON nastavení portálu a přizpůsobit ho podle svých potřeb. Použijte šablony nebo vlastní automatizaci k použití přizpůsobené verze konfiguračního souboru místo stahování z adresy URL pokaždé.

Když povolíte novou jímku služby Azure Monitor, virtuální počítače musí mít povolenou identitu přiřazenou systémem, aby se vygenerovaly ověřovací tokeny identity spravované služby (MSI). Tato nastavení můžete přidat během vytváření nebo po vytvoření virtuálního počítače. Pokyny pro Azure Portal, Azure CLI, PowerShell a Azure Resource Manager najdete v tématu Konfigurace spravovaných identit.

Ukázka instalace – 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

Ukázka instalace pro škálovací sady virtuálních počítačů – 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

Aktualizace nastavení rozšíření

Po změně chráněného nebo veřejného nastavení spusťte stejný příkaz, který je nasadí do virtuálního počítače. Pokud se některá nastavení změní, aktualizace se odešlou do rozšíření. LaD znovu načte konfiguraci a restartuje se.

Migrace z předchozích verzí rozšíření

Nejnovější verze rozšíření je 4.0, která je aktuálně ve verzi Public Preview. Starší verze 3.x jsou stále podporovány. Verze 2.x jsou od 31. července 2018 zastaralé.

Důležité

Pokud chcete migrovat z verze 3.x na nejnovější verzi rozšíření, odinstalujte staré rozšíření. Pak nainstalujte verzi 4, která zahrnuje aktualizovanou konfiguraci pro identitu přiřazenou systémem a jímky pro odesílání metrik do jímky služby Azure Monitor.

Při instalaci nového rozšíření povolte automatické upgrady menší verze.

  • Ve šabloně nasazení virtuálních počítačů v modelu nasazení Azure Resource Manager zahrňte "autoUpgradeMinorVersion": true.
  • Na virtuálních počítačích modelu nasazení Classic zadejte verzi 4.* , pokud rozšíření instalujete prostřednictvím Azure CLI nebo PowerShellu.

Můžete použít stejný účet úložiště, který jste použili pro LAD 3.x.

Chráněná nastavení

Tato sada informací o konfiguraci obsahuje citlivé informace, které by měly být chráněny před veřejným zobrazením. Obsahuje například přihlašovací údaje k úložišti. Nastavení se přenáší do rozšíření, které je ukládá v šifrované podobě.

{
    "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": { ... }
}
Název Hodnota
názevÚložištěÚčtu Název účtu úložiště, do kterého rozšíření zapisuje data.
koncový bod úložiště účtu (Volitelné) Koncový bod, který identifikuje cloud, ve kterém existuje účet úložiště. Pokud toto nastavení chybí, použije LAD ve výchozím nastavení veřejný cloud Azure, https://core.windows.net. Pokud chcete použít účet úložiště v Azure Germany, Azure Government nebo Microsoft Azure provozovaném společností 21Vianet, nastavte tuto hodnotu podle potřeby.
storageAccountSasToken Token SAS účtu pro služby blob a tabulkové služby. Tento token se vztahuje na kontejnery a objekty (srt='co'). Uděluje oprávnění k přidávání, vytváření, zobrazování seznamu, aktualizaci a zápisu (sp='acluw'). Nezahrnujte úvodní otazník (?).
mdsdHttpProxy (Volitelné) Informace o proxy serveru HTTP, které rozšíření potřebuje pro připojení k zadanému účtu úložiště a koncovému bodu.
sinksKonfigurace (Volitelné) Podrobnosti o alternativních cílech, ke kterým se dají doručovat metriky a události Následující části obsahují podrobnosti o jednotlivých datových jímkách, které rozšíření podporuje.

Pokud chcete získat token SAS v rámci šablony ARM, použijte listAccountSas funkci. Příklad šablony najdete v příkladu funkce List.

Požadovaný token sdíleného přístupového podpisu můžete vytvořit prostřednictvím webu Azure Portal:

  1. Vyberte účet úložiště pro obecné účely, do kterého chcete rozšíření zapisovat.
  2. V nabídce vlevo v části Zabezpečení a sítě vyberte Sdílený přístupový podpis.
  3. Proveďte výběry podle předchozího popisu.
  4. Vyberte Vygenerovat SAS a připojovací řetězec.

Snímek obrazovky ukazuje stránku sdíleného přístupového podpisu, která zahrnuje možnost generovat sdílený přístupový podpis (SAS) a připojovací řetězec.

Zkopírujte vygenerovaný sdílený přístupový podpis do storageAccountSasToken pole. Odeberte úvodní otazník (?).

sinksKonfigurace

Poznámka:

Veřejná i chráněná nastavení mají volitelný sinksConfig oddíl. Oddíl sinksConfig v chráněných nastaveních obsahuje pouze konfigurace EventHub a JsonBlob, protože zahrnují tajná data jako jsou sasURL. AzMonSink Konfigurace jímky nelze zahrnout do chráněných nastavení.

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

Volitelný sinksConfig oddíl definuje další cíle, do kterých rozšíření odesílá shromážděné informace. Pole "sink" obsahuje objekt pro každou extra datovou jímku. Atribut "type" určuje ostatní atributy v objektu.

prvek Hodnota
název Řetězec použitý k odkazování na tuto jímku jinde v konfiguraci rozšíření.
typ Typ definované jímky. Určuje ostatní hodnoty, pokud nějaké jsou, v instancích tohoto typu.

Rozšíření linuxové diagnostiky 4.0 podporuje dva chráněné typy jímky: EventHub a JsonBlob.

Jímka EventHubu

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

Položka "sasURL" obsahuje úplnou adresu URL včetně tokenu sdíleného přístupového podpisu pro centrum událostí, do kterého se mají data publikovat. LaD vyžaduje sdílený přístupový podpis, který určuje zásadu povolující odeslání nároku. Tady je příklad:

  • Vytvořte obor názvů služby Event Hubs s názvem contosohub.
  • Vytvořte centrum událostí v prostředí názvů s názvem syslogmsgs.
  • Vytvořte zásadu sdíleného přístupu v centru událostí s názvem writer , která umožňuje odeslat deklaraci identity.

Pokud vytvoříte SAS, který je platný do půlnoci UTC 1. ledna 2018, hodnota sasURL může vypadat jako následující příklad.

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

Další informace o generování a načítání informací o tokenech SAS pro službu Event Hubs najdete v tématu Generování tokenu SAS.

Úložiště JsonBlob

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

Data směrovaná do JsonBlob jímky se ukládají v objektech blob ve službě Azure Storage. Každá instance LAD vytváří blob každou hodinu pro každý název jímky. Každý objekt blob vždy obsahuje syntakticky platné pole objektů JSON. Do pole se atomicky přidají nové položky.

Objekty blob se ukládají do kontejneru, který má stejný název jako jímka. Pravidla služby Azure Storage pro názvy kontejnerů objektů blob platí pro názvy JsonBlob jímek. Názvy musí mít 3 až 63 malých alfanumerických znaků ASCII nebo pomlček.

Veřejná nastavení

Struktura veřejných nastavení obsahuje různé bloky nastavení, které řídí informace, které rozšíření shromažďuje. Každé nastavení, s výjimkou ladCfg, je volitelné. Pokud zadáte metriku nebo kolekci syslog v ladCfg, musíte také zadat StorageAccount. Musíte zadat prvek sinksConfig, který umožní použití výstupního bodu Azure Monitor pro metriky z LAD 4.0.

{
    "ladCfg":  { ... },
    "fileLogs": { ... },
    "StorageAccount": "the storage account to receive data",
    "sinksConfig": { ... },
    "mdsdHttpProxy" : ""
}
prvek Hodnota
Úložišťový účet Název účtu úložiště, do kterého rozšíření zapisuje data. Musí to být název zadaný v chráněných nastaveních.
mdsdHttpProxy (Volitelné) Proxy zadaný v chráněných nastaveních. Pokud je nastavená privátní hodnota, přepíše veřejnou hodnotu. Nastavení proxy serveru, která obsahují tajný klíč, například heslo, umístěte do chráněných nastavení.

Následující části obsahují podrobnosti o zbývajících prvcích.

ladCfg

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

Struktura ladCfg řídí shromažďování metrik a protokolů pro doručování do služby Azure Monitor Metrics a do dalších datových ukládacích prostorů. Zadejte buď performanceCounters, nebo syslogEvents, nebo obojí. Uveďte také strukturu metrics.

Pokud nechcete povolit syslog nebo kolekci metrik, zadejte prázdnou ladCfg strukturu prvku:

"ladCfg": {
    "diagnosticMonitorConfiguration": {}
}
prvek Hodnota
objem události (Volitelné) Určuje počet oddílů vytvořených v tabulce úložiště. Hodnota musí být "Large", "Medium"nebo "Small". Výchozí hodnota je "Medium".
vzorkovací frekvence v sekundách (Volitelné) Výchozí interval mezi kolekcí nezpracovaných metrik, tj. neagregovaných metrik. Nejmenší podporovaná vzorkovací frekvence je 15 sekund. Výchozí hodnota je 15.

metriky

"metrics": {
    "resourceId": "/subscriptions/...",
    "metricAggregation" : [
        { "scheduledTransferPeriod" : "PT1H" },
        { "scheduledTransferPeriod" : "PT5M" }
    ]
}
prvek Hodnota
identifikátor zdroje ID prostředku Azure Resource Manageru pro virtuální počítač nebo pro sadu pro škálování virtuálních počítačů, ke které virtuální počítač patří. Toto nastavení zadejte také v případě, že konfigurace používá nějakou JsonBlob jímku.
plánované období převodu Frekvence, s jakou se agregované metriky počítají a přenesou do metrik služby Azure Monitor. Frekvence se vyjadřuje jako časový interval IS 8601. Nejmenší doba přenosu je 60 sekund, tj. PT1M. Zadejte alespoň jeden scheduledTransferPeriod.

Vzorky metrik zadaných v performanceCounters této části se shromažďují každých 15 sekund nebo při vzorkovací frekvenci explicitně definované pro čítač. Pokud se zobrazí více scheduledTransferPeriod frekvencí, jako v příkladu, každá agregace se vypočítá nezávisle.

výkonové čítače

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

Volitelný performanceCounters oddíl řídí kolekci metrik. Nezpracované vzorky se agregují pro každý scheduledTransferPeriod , aby se vytvořily tyto hodnoty:

  • Znamenat
  • Minimální
  • Maximálně
  • Hodnota naposledy shromážděná
  • Počet nezpracovaných vzorků použitých k výpočtu agregace
prvek Hodnota
potápí (Volitelné) Seznam názvů výstupů, do kterých LAD odesílá agregované výsledky metrik, oddělený čárkami. Všechny agregované metriky se publikují do každé uvedené jímky. Například: "MyEventHubSink, MyJsonSink, MyAzMonSink". Další informace naleznete v sinksConfig (chráněná nastavení) a sinksConfig (veřejná nastavení).
typ Identifikuje skutečného poskytovatele metriky.
třída Společně tím s "counter" identifikuje konkrétní metriku v jmenném prostoru poskytovatele.
čítač Společně tím s "class" identifikuje konkrétní metriku v jmenném prostoru poskytovatele. Podívejte se na seznam dostupných čítačů.
counterSpecifier Identifikuje metriku v oboru názvů metrik služby Azure Monitor.
podmínka (Volitelné) Vybere instanci objektu, na který se metrika vztahuje. Nebo vybere agregaci napříč všemi instancemi daného objektu.
vzorkovací frekvence Interval IS 8601, který nastavuje rychlost shromažďování nezpracovaných vzorků pro tuto metriku. Pokud tato hodnota není nastavena, hodnota sampleRateInSeconds nastaví interval kolekce. Nejkratší podporovaná vzorkovací frekvence je 15 sekund (PT15S).
jednotka Definuje jednotku pro metriku. Měl by být jedním z těchto řetězců: "Count", "Bytes", "Seconds", "Percent", "CountPerSecond", "BytesPerSecond". "Millisecond" Spotřebitelé shromážděných dat očekávají, že shromážděné hodnoty dat budou odpovídat této jednotce. LaD toto pole ignoruje.
zobrazované jméno Popisek pro připojení k datům v metrikách služby Azure Monitor při prohlížení v Guest (classic) oboru názvů metrik. Tento popisek je v jazyce určeném přidruženým nastavením národního prostředí. LaD toto pole ignoruje. Poznámka: Pokud je stejná metrika zobrazena v azure.vm.linux.guestmetrics oboru názvů metrik, který je k dispozici, když je AzMonSink nakonfigurován, název zobrazení zcela závisí na čítači. Pokud chcete najít mapování mezi čítači a názvy, podívejte se na Metriky podporované vestavěným poskytovatelem.

Jedná se counterSpecifier o libovolný identifikátor. Uživatelé metrik, jako je například funkce grafů na webu Azure Portal a upozorňování, používají counterSpecifier jako klíč, který identifikuje metriku nebo instanci metriky.

Pro builtin metriky doporučujeme counterSpecifier hodnoty, které začínají /builtin/. Pokud chcete shromáždit konkrétní instanci metriky, připojte k hodnotě counterSpecifier identifikátor instance. Tady je několik příkladů:

  • /builtin/Processor/PercentIdleTime. Průměrná doba nečinnosti napříč všemi virtuálními procesory
  • /builtin/Disk/FreeSpace(/mnt). Volné místo pro /mnt systém souborů
  • /builtin/Disk/FreeSpace. Volné místo v průměru napříč všemi připojenými systémy souborů

LaD a Azure Portal neočekávají, že hodnota bude odpovídat žádnému counterSpecifier vzoru. Buďte konzistentní v tom, jak vytváříte counterSpecifier hodnoty.

Když zadáte performanceCounters, funkce LAD vždy zapisuje data do tabulky ve službě Azure Storage. Stejná data je možné zapsat do objektů blob JSON nebo do služby Event Hubs nebo do obou. Ukládání dat do tabulky nejde zakázat.

Všechny instance LAD, které používají stejný název účtu úložiště a koncový bod, přidávají metriky a protokoly do stejné tabulky. Pokud do stejného oddílu tabulky zapisuje příliš mnoho virtuálních počítačů, Azure může omezovat zápisy do daného oddílu.

Nastavení eventVolume způsobí rozložení položek mezi 1 (malé), 10 (střední) nebo 100 (velké) oddíly. Střední oddíly jsou obvykle dostatečné, aby se zabránilo omezování provozu.

Funkce Metriky služby Azure Monitor na webu Azure Portal používá data v této tabulce k vytváření grafů nebo k aktivaci upozornění. Název tabulky je zřetězení těchto řetězců:

  • WADMetrics
  • Hodnota "scheduledTransferPeriod" pro agregované hodnoty uložené v tabulce
  • P10DV2S
  • Datum ve formuláři YYYYMMDD, které se mění každých 10 dnů

Příklady zahrnují WADMetricsPT1HP10DV2S20170410 a WADMetricsPT1MP10DV2S20170609.

UdálostiSyslog

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

Volitelný syslogEvents oddíl řídí shromažďování událostí protokolu ze Syslogu. Pokud oddíl vynecháte, události syslogu se vůbec nezachytí.

Kolekce syslogEventConfiguration má jednu položku pro každé facility syslog, které jsou předmětem zájmu. Pokud je minSeverity"NONE" pro konkrétní zařízení nebo pokud se toto zařízení vůbec nezobrazuje v prvku, nebudou zachyceny žádné události z tohoto zařízení.

prvek Hodnota
potápí Čárkami oddělený seznam názvů jímek, do kterých se publikují jednotlivé události protokolu. Všechny události protokolu, které odpovídají omezením, syslogEventConfiguration se publikují do každé uvedené jímky. Příklad: "EHforsyslog"
NázevZařízení Název zařízení syslogu, například "LOG_USER", "LOG_LOCAL0". Pro více informací se podívejte na Hodnoty pro službu v manuálové stránce syslogu.
minSeverity Úroveň závažnosti syslogu, například "LOG_ERR" nebo "LOG_INFO". Další informace naleznete v části Hodnoty pro úroveň v manuálové stránce syslogu. Rozšíření zaznamenává události odeslané do systému na nebo nad zadanou úrovní.

Když zadáte syslogEvents, LAD vždy zapisuje data do tabulky s názvem LinuxSyslogVer2v0 v Azure Storage. Stejná data je možné zapsat do objektů blob JSON nebo do služby Event Hubs nebo do obou. Ukládání dat do tabulky nejde zakázat.

sinksKonfigurace

Volitelná veřejná sinksConfig část umožňuje odesílat metriky do jímky služby Azure Monitor kromě účtu úložiště a výchozího zobrazení metrik hosta.

Poznámka:

Veřejná i chráněná nastavení mají volitelný sinksConfig oddíl. Oddíl sinksConfig ve veřejném nastavení obsahuje AzMonSink pouze konfiguraci jímky. EventHub konfigurace JsonBlob jímky nelze zahrnout do vašeho veřejného nastavení.

Poznámka:

Tato sinksConfig část vyžaduje, aby na virtuálních počítačích nebo škálovací sadě virtuálních počítačů byla povolena identita přiřazená systémem. Identitu přiřazenou systémem můžete povolit prostřednictvím webu Azure Portal, rozhraní příkazového řádku, PowerShellu nebo Azure Resource Manageru. Postupujte podle podrobných pokynů nebo si projděte předchozí ukázky instalací v tomto článku.

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

fileLogs

Oddíl fileLogs řídí zachytávání souborů protokolu. LaD zachycuje nové textové řádky při jejich zápisu do souboru. Zapisuje je do řádků tabulky a všech zadaných jímek, například JsonBlob a EventHub.

Poznámka:

Jsou fileLogs zachyceny podkomponentou LAD nazývanou omsagent. Chcete-li shromažďovat fileLogs, ujistěte se, že omsagent uživatel má oprávnění ke čtení souborů, které zadáte. Musí mít také oprávnění ke spuštění u všech adresářů v cestě k danému souboru. Po instalaci LAD zkontrolujte oprávnění spuštěním sudo su omsagent -c 'cat /path/to/file'.

"fileLogs": [
    {
        "file": "/var/log/mydaemonlog",
        "table": "MyDaemonEvents",
        "sinks": ""
    }
]
prvek Hodnota
soubor Úplná cesta k protokolovému souboru, který se má sledovat a zachytit. Cesta nemůže zadat adresář ani obsahovat zástupné znaky. Uživatelský omsagent účet musí mít přístup ke čtení cesty k souboru.
tabulka (Volitelné) Tabulka azure Storage, do které se zapisují nové řádky z konce souboru. Tabulka musí být v určeném účtu úložiště, jak je uvedeno v chráněné konfiguraci.
potápí (Volitelné) Čárkami oddělený seznam názvů dalších cílových zařízení, kam se odesílají řádky protokolu.

Buď "table", nebo "sinks", nebo musí být zadány obě.

Metriky podporované integrovaným poskytovatelem

Výchozí metriky, které LAD podporuje, se agregují napříč všemi systémy souborů, disky nebo názvy. Informace o neagregovaných metrikách najdete v novější podpoře metrik jímky služby Azure Monitor.

Poznámka:

Zobrazované názvy jednotlivých metrik se liší v závislosti na oboru názvů metrik, do kterého patří:

  • Guest (classic) naplněný z vašeho účtu úložiště: zadaný displayName v oddílu performanceCounters nebo výchozí zobrazovaný název, jak je vidět na webu Azure Portal. U virtuálního počítače v části Nastavení diagnostiky monitorování> vyberte kartu Metriky.
  • azure.vm.linux.guestmetrics je vyplněn z AzMonSink, pokud je nakonfigurován: zadaný "azure.vm.linux.guestmetrics Zobrazovaný název" v následujících tabulkách.

Hodnoty metriky mezi verzemi Guest (classic) a azure.vm.linux.guestmetrics se liší. Zatímco klasické metriky měly určité agregace použité v agentovi, nové metriky jsou čítače bez agregace, což zákazníkům dává flexibilitu agregovat podle potřeby během zobrazení nebo při upozorňování.

Poskytovatel builtin metrik je zdrojem metrik, které jsou pro širokou škálu uživatelů nejzajímavější. Tyto metriky spadají do pěti širokých tříd:

  • Procesor
  • Paměť
  • Síť
  • Systém souborů
  • Disk

vestavěné metriky pro třídu Processor

Třída procesoru metrik poskytuje informace o využití procesoru na virtuálním počítači. Při agregaci procent je výsledkem průměr ve všech procesorech.

Na virtuálním počítači se dvěma vCPU, pokud je jeden vCPU 100 % zaneprázdněný a druhý je 100 % nečinný, hlášená hodnota PercentIdleTime je 50. Pokud je každý vCPU během stejného období zaneprázdněn na 50 %, bude hlášený výsledek rovněž 50. Když je jeden virtuální procesor 100 % zaneprázdněný a ostatní jsou nečinní, hlášeno PercentIdleTime je 75 v případě čtyř virtuálních procesorů.

Počítadlo Zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
ProcentoDobyNečinnosti cpu idle time Procento času, během kterého procesory ve agregačním okně spustily nečinnou smyčku jádra
Čas procesoru v procentech cpu percentage guest os Procento času běžícího aktivního vlákna
PercentIOWaitTime cpu io wait time Procento času čekání na dokončení vstupně-výstupních operací
ProcentoDobaPřerušení cpu interrupt time Procento času přerušení hardwaru nebo softwaru a odložených volání procedur (DPCS)
ProcentoUživatelskéhoČasu cpu user time Nečinný čas v agregačním okně, procento času stráveného v uživatelském režimu v normální prioritě
PercentNiceTime cpu nice time Procento nečinného času stráveného při nižší (nice) prioritě
Procento privilegiovaného času cpu privileged time Čas, který není nečinný, procento strávené v privilegovaném režimu (jádro)

První čtyři čítače by měly dohromady dávat 100 procent. Poslední tři čítače dávají dohromady 100 procent. Tyto tři čítače rozdělují součet PercentProcessorTime, PercentIOWaitTimea PercentInterruptTime.

předdefinované metriky pro třídu Memory

Třída paměti metrik poskytuje informace o využití paměti, stránkování a swapování.

Počítadlo Zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
Dostupná Paměť memory available Dostupná fyzická paměť v MiB
ProcentoDostupnéPaměti mem. percent available Dostupná fyzická paměť jako procento celkové paměti
Použitá paměť memory used Fyzická paměť v použití (MiB)
ProcentoPoužitéPaměti memory percentage Fyzická paměť použitá jako procento celkové paměti
PočetStranZaSekundu pages Celkový počet stránkování (čtení/zápis)
PočetStránekZaSekundu page reads Stránky se čtou ze záložního úložiště, jako je swapovací soubor, programový soubor a mapovaný soubor.
StránkyZapsanéZaSekundu page writes Stránky zapsané do záložního úložiště, jako je například odkládací soubor a mapované soubory
AvailableSwap swap available Nevyužitý odkládací prostor (MiB)
Procento dostupného swapu swap percent available Nevyužitá oblast výměny jako procento z celkového výměnného prostoru
UsedSwap swap used Využitý odkládací prostor (MiB)
ProcentoPoužitéhoSwapu swap percent used Využitý odkládací prostor jako procento z celkového odkládacího prostoru

Tato třída metrik má pouze jednu instanci. Atribut "condition" nemá žádné užitečné nastavení a neměl by být vynechán.

předdefinované metriky pro třídu Network

Třída network metrik poskytuje informace o síťové aktivitě v jednotlivých síťových rozhraních od spuštění.

LaD nezpřístupňuje metriky šířky pásma. Tyto metriky můžete získat z metrik hostitele.

Počítadlo Zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
Přenesené bajty network out guest os Celkový počet bajtů od spuštění
Přijaté bajty network in guest os Celkový počet bajtů přijatých od spuštění
BajtyTotal network total bytes Celkový počet odeslaných nebo přijatých bajtů od spuštění
Přenesené pakety packets sent Celkový počet odeslaných paketů od spuštění
PřijatéPakety packets received Celkový počet přijatých paketů od spuštění
TotalRxErrors packets received errors Počet chyb při příjmu od spuštění
TotalTxErrors packets sent errors Počet chyb přenosu od spuštění
Celkové kolize network collisions Počet kolizí hlášených síťovými porty od spuštění

předdefinované metriky pro třídu systému souborů

Třída systému souborů metrik poskytuje informace o využití systému souborů. Absolutní a procentuální hodnoty jsou hlášeny tak, jak by se zobrazovaly běžnému uživateli, nikoli uživateli root.

Počítadlo Zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
Volné úložiště filesystem free space Dostupné místo na disku v bajtech
UsedSpace filesystem used space Využité místo na disku v bajtech
PercentFreeSpace filesystem % free space Procento volného místa
Procento použitého prostoru filesystem % used space Procento využitého místa
PercentFreeInodes filesystem % free inodes Procento nepoužívaných uzlů indexu (uzlů)
ProcentoPoužitýchInodů filesystem % used inodes Procento používaných přidělených inodů sečtené přes všechny souborové systémy
BytyPřečtenéZaSekundu filesystem read bytes/sec Bajty přečtené za sekundu
BajtyZapsanéZaSekundu filesystem write bytes/sec Bajty zapsané za sekundu
Byty za sekundu filesystem bytes/sec Bajty přečtené nebo zapsané za sekundu
čtení za sekundu filesystem reads/sec Operace čtení za sekundu
Zápisy za sekundu filesystem writes/sec Operace zápisu za sekundu
Přenosy za sekundu filesystem transfers/sec Operace čtení nebo zápisu za sekundu

Vestavěné metriky pro třídu Disku

Třída diskových metrik poskytuje informace o využití diskových zařízení. Tyto statistiky platí pro celou jednotku.

Pokud má zařízení více systémů souborů, čítače pro toto zařízení se efektivně agregují napříč všemi systémy souborů.

Počítadlo Zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
čtení za sekundu disk reads Operace čtení za sekundu
Zápisy za sekundu disk writes Operace zápisu za sekundu
Přenosy za sekundu disk transfers Celkový počet operací za sekundu
Průměrná doba čtení disk read time Průměrný počet sekund na operaci čtení
PrůměrnáDobaZápisu disk write time Průměrný počet sekund na operaci zápisu
PrůměrnáDobaPřenosu disk transfer time Průměrný počet sekund na operaci
Průměrná délka fronty disku disk queue length Průměrný počet diskových operací zařazených do fronty
ČteníBytůZaSekundu disk read guest os Počet přečtených bajtů za sekundu
Zapisovat bajtů za sekundu disk write guest os Počet bajtů za sekundu
Byty za sekundu disk total bytes Počet bajtů přečtených nebo zapsaných za sekundu

Příklad konfigurace LAD 4.0

Na základě předchozích definic poskytuje tato část ukázkovou konfiguraci rozšíření LAD 4.0 a vysvětlení. Pokud chcete použít tuto ukázku, použijte vlastní název účtu úložiště, token sdíleného přístupového podpisu účtu a tokeny SAS služby Event Hubs.

Poznámka:

V závislosti na tom, jestli k instalaci LAD používáte Azure CLI nebo Azure PowerShell, se metoda poskytování veřejných a chráněných nastavení liší:

  • Pokud používáte Azure CLI, uložte následující nastavení do ProtectedSettings.json a PublicSettings.json, abyste mohli použít předchozí ukázkový příkaz.
  • Pokud používáte PowerShell, spusťte $protectedSettings = '{ ... }' a $publicSettings = '{ ... }' uložte následující nastavení do $protectedSettings a $publicSettings.

Konfigurace chráněných nastavení

Chráněná nastavení se konfigurují:

  • Účet úložiště.
  • Odpovídající token podpisu sdíleného přístupu k účtu.
  • Několik jímek: JsonBlob nebo EventHub s tokeny SAS.
{
  "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"
      }
    ]
  }
}

Konfigurace veřejného nastavení

Veřejné nastavení způsobí, že LAD:

  • Nahrajte do tabulky metriky percent-processor-time a využité místo na WADMetrics* disku.
  • Nahrajte zprávy z oblasti syslog "user" a úrovně závažnosti "info" do tabulky LinuxSyslog*.
  • Nahrajte připojené řádky ze souboru /var/log/myladtestlog do tabulky MyLadTestLog.

V každém případě se data nahrají také do:

  • Azure Blob Storage. Název kontejneru je definovaný v jímce JsonBlob .
  • Koncový bod služby Event Hubs, jak je uvedeno v jímce EventHub .
{
  "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"
    }
  ]
}

Konfigurace v resourceId se musí shodovat s virtuálním počítačem nebo škálovací sadou virtuálních počítačů.

  • Grafy metrik platformy Azure a upozorňování znají resourceId virtuálního počítače, na kterém pracujete. Očekává, že vyhledá data pro váš virtuální počítač pomocí vyhledávacího resourceId klíče.
  • Pokud používáte škálování Azure, resourceId v konfiguraci automatického škálování musí odpovídat tomu, co používá resourceId LAD.
  • Element resourceId je zabudován do názvů JSON blobů, které byly vytvořeny LAD.

Zobrazení dat

Pomocí webu Azure Portal můžete zobrazit data o výkonu nebo nastavit upozornění:

Snímek obrazovky znázorňující stránku Metriky na webu Azure Portal a vybranou dostupnost

Data performanceCounters se vždy ukládají v tabulce Azure Storage. Rozhraní API služby Azure Storage jsou k dispozici pro mnoho jazyků a platforem.

Data odesílaná do JsonBlob příjemců se ukládají do blobových objektů v úložišti, které je pojmenováno v chráněném nastavení. Data objektů blob můžete využívat v libovolném rozhraní API služby Azure Blob Storage.

K přístupu k datům ve službě Azure Storage můžete použít také tyto nástroje uživatelského rozhraní:

Následující snímek obrazovky ze služby Azure Storage Explorer ukazuje vygenerované tabulky a kontejnery služby Azure Storage ze správně nakonfigurovaného rozšíření LAD 4.0 na testovacím virtuálním počítači. Tento obrázek přesně neodpovídá ukázkové konfiguraci LAD 4.0.

Snímek obrazovky zobrazuje Průzkumník služby Azure Storage.

Další informace o tom, jak využívat zprávy publikované do koncového bodu služby Event Hubs, najdete v příslušné dokumentaci ke službě Event Hubs.

Další kroky