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

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec ž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é

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
Metriky Čítač, Agregace, Vzorkovací frekvence, Specifikátory Azure Table Storage EventHub, Azure Blob Storage (formát JSON), Azure Monitor (nový v LAD 4.0)
Syslog Zařízení, úroveň závažnosti Azure Table Storage EventHub, Azure Blob Storage (formát JSON)
Soubory Cesta k protokolu, cílová tabulka Azure Table Storage EventHub, Azure Blob Storage (formát JSON)

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

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ší. Spuštěním potvrďte /usr/sbin/waagent -version verzi nainstalovanou na virtuálním počítači. Pokud na virtuálním počítači běží starší verze agenta hosta, aktualizujte agenta Linuxu.
  • Rozhraní příkazového řádku Azure. 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é linuxové distribuce

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 na 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ý python2 soubor musí být aliasován .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, pokud se obě rozšíření vytvoří instance ve stejné šabloně ARM.

Chcete-li zabránit konfliktům v době instalace, použijte direktivu dependsOn 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 Chráněno Nastavení.json a informace o veřejné konfiguraci jsou veřejné Nastavení.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

Instalace ukázky

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 podverze:

  • Na virtuálních počítačích modelu nasazení Azure Resource Manageru je součástí "autoUpgradeMinorVersion": true šablony nasazení virtuálního počítače.
  • 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": { ... }
}
Jméno Hodnota
storageAccountName Název účtu úložiště, do kterého rozšíření zapisuje data.
storageAccountEndPoint (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 https://core.windows.netAzure . 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 table services (ss='bt'). Tento token se vztahuje na kontejnery a objekty (srt='co'). Uděluje oprávnění k přidávání, vytváření, vytváření, 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.
sinksConfig (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 se stránkou sdíleného přístupového podpisu, která má vygenerovat SAS a připojovací řetězec

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

sinksConfig

Poznámka:

Veřejná i chráněná nastavení mají volitelný sinksConfig oddíl. Oddíl sinksConfig v chráněných nastaveních uchovává EventHub jenom konfigurace jímky a JsonBlob uchovává je kvůli zahrnutí tajných kódů, jako jsou sasURLs. 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.

Element (Prvek) Hodnota
name Řetězec použitý k odkazování na tuto jímku jinde v konfiguraci rozšíření.
type Typ definované jímky. Určuje ostatní hodnoty, pokud existuje, 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ý pojmenuje zásadu, která umožňuje odeslat deklaraci identity. Tady je příklad:

  • Vytvořte obor názvů služby Event Hubs s názvem contosohub.
  • Vytvořte centrum událostí v oboru 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 dobrý do půlnoci UTC 1. ledna 2018, sasURL může být hodnota podobná následujícímu příkladu.

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.

Jímka 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 vytvoří objekt 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 sinksConfig prvek, který povolí jímku služby Azure Monitor pro metriky z LAD 4.0.

{
    "ladCfg":  { ... },
    "fileLogs": { ... },
    "StorageAccount": "the storage account to receive data",
    "sinksConfig": { ... },
    "mdsdHttpProxy" : ""
}
Element (Prvek) Hodnota
StorageAccount 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 Metriky služby Azure Monitor a do jiných datových jímek. Zadejte buď performanceCounters nebo syslogEvents obojí. Zadejte metrics také strukturu.

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

"ladCfg": {
    "diagnosticMonitorConfiguration": {}
}
Element (Prvek) Hodnota
eventVolume (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".
sampleRateInSeconds (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" }
    ]
}
Element (Prvek) Hodnota
resourceId ID prostředku Azure Resource Manageru virtuálního počítače nebo škálovací sady virtuálních počítačů, do které virtuální počítač patří. Toto nastavení zadejte také v případě, že konfigurace používá nějakou JsonBlob jímku.
scheduledTransferPeriod 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.

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

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

  • Střední hodnota
  • Minimum
  • Maximum
  • Hodnota naposledy shromážděná
  • Počet nezpracovaných vzorků použitých k výpočtu agregace
Element (Prvek) Hodnota
Propadů (Volitelné) Čárkami oddělený seznam názvů jímek, do kterých LAD odesílá agregované výsledky metrik. Všechny agregované metriky se publikují do každé uvedené jímky. Například "MyEventHubSink, MyJsonSink, MyAzMonSink". Další informace najdete v tématech sinksConfig (chráněná nastavení) asinksConfig(veřejná nastavení).
type Identifikuje skutečného poskytovatele metriky.
class Společně s "counter"tím identifikuje konkrétní metriku v oboru názvů poskytovatele.
counter Společně s "class"tím identifikuje konkrétní metriku v oboru názvů poskytovatele. Podívejte se na seznam dostupných čítačů.
counterSpecifier Identifikuje metriku v oboru názvů metrik služby Azure Monitor.
condition (Volitelné) Vybere instanci objektu, na který se metrika vztahuje. Nebo vybere agregaci napříč všemi instancemi daného objektu.
sampleRate Interval IS 8601, který nastavuje rychlost shromažďování nezpracovaných vzorků pro tuto metriku. Pokud tato hodnota není nastavená, nastaví hodnota sampleRateInSeconds intervalu kolekce. Nejkratší podporovaná vzorkovací frekvence je 15 sekund (PT15S).
unit 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 lekci. LaD toto pole ignoruje.
displayName 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 se zobrazí stejná metrika v azure.vm.linux.guestmetrics oboru názvů metrik, který je k dispozici, pokud AzMonSink je nakonfigurovaný, zobrazovaný název zcela závisí na čítači. Pokud chcete najít mapování mezi čítači a názvy, přečtěte si téma Metriky podporované integrovaný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. 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.

Při zadávání performanceCountersfunkce 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
  • Agregované "scheduledTransferPeriod" 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.

SyslogEvents

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

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

Kolekce syslogEventConfiguration má jednu položku pro každou zařízení syslog, která je zajímavá. Pokud minSeverity se jedná "NONE" o konkrétní zařízení nebo pokud se toto zařízení vůbec nezobrazuje v prvku, nebudou zachyceny žádné události z tohoto zařízení.

Element (Prvek) Hodnota
Propadů Čá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"
facilityName Název zařízení syslogu, například "LOG_USER""LOG_LOCAL0". Další informace naleznete v tématu Hodnoty pro zařízení na stránce ručního syslogu.
minSeverity Úroveň závažnosti syslogu, například "LOG_ERR""LOG_INFO"nebo . Další informace naleznete v části Hodnoty pro úroveň na stránce ručního syslogu. Rozšíření zaznamenává události odeslané do zařízení na nebo nad zadanou úrovní.

Při zadávání syslogEventsfunkce 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.

Chování dělení pro tuto tabulku je stejné, jako je popsáno pro performanceCounters. Název tabulky je zřetězení těchto řetězců:

  • LinuxSyslog
  • Datum ve formuláři YYYYMMDD, které se mění každých 10 dnů

Příklady zahrnují LinuxSyslog20170410 a LinuxSyslog20170609.

sinksConfig

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 podkomponentem LAD volaného 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": ""
    }
]
Element (Prvek) Hodnota
soubor Úplná cesta k souboru protokolu, 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.
table (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.
Propadů (Volitelné) Čárkami oddělený seznam názvů více jímek, do kterých se odesílají řádky protokolu.

Musí "table" být zadána buď nebo "sinks" 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.guestmetricsAzMonSinkpokud je nakonfigurovaný: "azure.vm.linux.guestmetricsZobrazovaný název" zadaný v následujících tabulkách.

Hodnoty metriky mezi Guest (classic) verzemi se azure.vm.linux.guestmetrics liší. Zatímco klasické metriky měly určité agregace použité v agentovi, nové metriky jsou neagregované čítače, což zákazníkům dává flexibilitu agregovat podle potřeby při zobrazení nebo 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
  • Memory (Paměť)
  • Síť
  • Systém souborů
  • Disk

builtin metrics for the Processor class

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.

Pokud je na virtuálním počítači se dvěma virtuálními procesory 100 % zaneprázdněný a druhý je 100 % nečinný, hlášeno PercentIdleTime je 50. Pokud je každý virtuální procesor ve stejném období zaneprázdněný 50 %, bude hlášený výsledek také 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ů.

Čítač zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
PercentIdleTime cpu idle time Procento času během agregačního okna, ve které procesory spustily nečinnou smyčku jádra
PercentProcessorTime cpu percentage guest os Procento času spuštění nečinného vlákna
PercentIOWaitTime cpu io wait time Procento času čekání na dokončení vstupně-výstupních operací
PercentInterruptTime cpu interrupt time Procento času přerušení hardwaru nebo softwaru a odložených volání procedur (DPCS)
PercentUserTime 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 Nečinný čas, procento strávené nižší (pěknou) prioritou
PercentPrivilegedTime cpu privileged time Nečinný čas, procento strávené v privilegovaném režimu (jádro)

První čtyři čítače by se měly sčítat na 100 procent. Poslední tři čítače se také sčítají na 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 prohození.

Čítač zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
AvailableMemory memory available Dostupná fyzická paměť v MiB
PercentAvailableMemory mem. percent available Dostupná fyzická paměť jako procento celkové paměti
UsedMemory memory used Fyzická paměť v použití (MiB)
PercentUsedMemory memory percentage Fyzická paměť použitá jako procento celkové paměti
PagesPerSec pages Celkový počet stránkování (čtení/zápis)
PagesReadPerSec page reads Stránky se čtou z záložního úložiště, jako jsou prohození souborů, programový soubor a mapovaný soubor.
PagesWrittenPerSec page writes Stránky zapsané do záložního úložiště, například prohození souboru a mapovaného souboru
AvailableSwap swap available Nevyužitý prohození (MiB)
PercentAvailableSwap swap percent available Nevyužitý prohození jako procento celkového prohození
UsedSwap swap used Prostor pro prohození v použití (MiB)
PercentUsedSwap swap percent used Místo prohození v rámci použití jako procento celkového prohození

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.

Čítač zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
BytesTransmitted network out guest os Celkový počet bajtů od spuštění
BytesReceived 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řenos paketů packets sent Celkový počet odeslaných paketů od spuštění
PacketsReceived packets received Celkový počet přijatých paketů od spuštění
TotalRxErrors packets received errors Počet chyb při spuštění
TotalTxErrors packets sent errors Počet chyb přenosu od spuštění
TotalCollisions 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 kořenovému adresáři.

Čítač zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
Volné místo 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
PercentUsedSpace filesystem % used space Procento využitého místa
PercentFreeInodes filesystem % free inodes Procento nepoužívaných uzlů indexu (uzlů)
PercentUsedInodes filesystem % used inodes Procento přidělených uzlů (při použití) sečtených ve všech systémech souborů
BytesReadPerSecond filesystem read bytes/sec Bajty přečtené za sekundu
BytesWrittenPerSecond filesystem write bytes/sec Bajty zapsané za sekundu
BytesPerSecond filesystem bytes/sec Bajty přečtené nebo zapsané za sekundu
ReadsPerSecond filesystem reads/sec Operace čtení za sekundu
WritesPerSecond filesystem writes/sec Operace zápisu za sekundu
TransfersPerSecond filesystem transfers/sec Operace čtení nebo zápisu za sekundu

builtin metrics for the Disk class

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ů.

Čítač zobrazovaný název metrik azure.vm.linux.guestmetrics Význam
ReadsPerSecond disk reads Operace čtení za sekundu
WritesPerSecond disk writes Operace zápisu za sekundu
TransfersPerSecond disk transfers Celkový počet operací za sekundu
AverageReadTime disk read time Average seconds per read operation
AverageWriteTime disk write time Average seconds per write operation
AverageTransferTime disk transfer time Average seconds per operation
AverageDiskQueueLength disk queue length Průměrný počet diskových operací zařazených do fronty
ReadBytesPerSecond disk read guest os Počet přečtených bajtů za sekundu
WriteBytesPerSecond disk write guest os Počet bajtů za sekundu
BytesPerSecond 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 části Protected Nastavení.json a Public Nastavení.json a použijte 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í

Nastavení ochrany konfiguruje:

  • Účet úložiště.
  • Odpovídající token sdíleného přístupového podpisu úč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 ze zařízení "user" syslog a závažnosti LinuxSyslog*"info" do tabulky.
  • Nahrajte do tabulky připojené řádky v MyLadTestLog souboru/var/log/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"
    }
  ]
}

V resourceId konfiguraci 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í ví, na resourceId kterém virtuálním počítači pracujete. Očekává, že vyhledá data pro váš virtuální počítač pomocí vyhledávacího resourceId klíče.
  • Pokud používáte automatické škálování Azure, resourceId musí konfigurace automatického škálování odpovídat používanému resourceId laD.
  • Je resourceId integrovaný do názvů objektů blob JSON, které napsal 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 jímek se ukládají v objektech blob v účtu úložiště pojmenovaném 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 relace Průzkumník služby Azure Storage ukazuje vygenerované tabulky a kontejnery Azure Storage z správně nakonfigurovaného rozšíření LAD 4.0 na testovacím virtuálním počítači. Image přesně neodpovídá ukázkové konfiguraci LAD 4.0.

Snímek obrazovky znázorňující 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