Monitorování metrik a protokolů pomocí diagnostického rozšíření Linuxu 4.0
Upozornění
Tento článek odkazuje na CentOS, což je linuxová distribuce se stavem 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říkaz
wget
. 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
Spuštěním následujícího příkazu odeberte všechny existující aliasy.
sudo update-alternatives --remove-all python
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 ProtectedSettings.json a vaše informace o veřejné konfiguraci jsou v 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
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": { ... }
}
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:
- Vyberte účet úložiště pro obecné účely, do kterého chcete rozšíření zapisovat.
- V nabídce vlevo v části Zabezpečení a sítě vyberte Sdílený přístupový podpis.
- Proveďte výběry podle předchozího popisu.
- Vyberte 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 sasURL
s. 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 |
---|---|
potápí | (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 si prohlížíte stejnou metriku azure.vm.linux.guestmetrics v Namespace Metriky, která je dostupná, 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í 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
- 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 |
---|---|
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" |
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í. |
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.
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. |
potápí | (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íluperformanceCounters
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
AzMonSink
pokud je nakonfigurovaný: "azure.vm.linux.guestmetrics
Zobrazovaný 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
, PercentIOWaitTime
a 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í pro ProtectedSettings.json a PublicSettings.json 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í
Nastavení ochrany konfiguruje:
- Účet úložiště.
- Odpovídající token sdíleného přístupového podpisu účtu.
- Několik jímek:
JsonBlob
neboEventHub
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žnostiLinuxSyslog*
"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íhoresourceId
klíče. - Pokud používáte automatické škálování Azure,
resourceId
musí konfigurace automatického škálování odpovídat používanémuresourceId
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í:
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í:
- Visual Studio Server Explorer
- Azure Storage Explorer
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.
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
- Ve službě Azure Monitor vytvořte upozornění na metriky, které shromažďujete.
- Vytvářejte pro metriky grafy monitorování.
- Vytvořte škálovací sadu virtuálních počítačů pomocí metrik k řízení automatického škálování.