Usare l'estensione Diagnostica per Linux per monitorare le metriche e i registriUse Linux Diagnostic Extension to monitor metrics and logs

Questo documento descrive la versione 3.0 e successive dell'estensione Diagnostica per Linux.This document describes version 3.0 and newer of the Linux Diagnostic Extension.

Importante

Per informazioni sulla versione 2.3 e precedenti, vedere questo documento.For information about version 2.3 and older, see this document.

IntroduzioneIntroduction

L'estensione Diagnostica per Linux consente all'utente di monitorare l'integrità delle macchine virtuali Linux eseguite in Microsoft Azure.The Linux Diagnostic Extension helps a user monitor the health of a Linux VM running on Microsoft Azure. Questo servizio offre le funzionalità seguenti:It has the following capabilities:

  • Raccoglie le metriche delle prestazioni di sistema dalla macchina virtuale e le inserisce in una tabella specifica in un account di archiviazione designato.Collects system performance metrics from the VM and stores them in a specific table in a designated storage account.
  • Recupera gli eventi di registrazione da SysLog e li inserisce in una tabella specifica nell'account di archiviazione designato.Retrieves log events from syslog and stores them in a specific table in the designated storage account.
  • Consente agli utenti di personalizzare le metriche dei dati che verranno raccolte e caricate.Enables users to customize the data metrics that are collected and uploaded.
  • Consente agli utenti di personalizzare i servizi di SysLog e i livelli di gravità degli eventi che vengono raccolti e caricati.Enables users to customize the syslog facilities and severity levels of events that are collected and uploaded.
  • Consente agli utenti di caricare in una tabella di archiviazione designata i file di log specificati.Enables users to upload specified log files to a designated storage table.
  • Supporta l'invio delle metriche e del registro agli endpoint EventHub arbitrari e ai BLOB in formato JSON nell'account di archiviazione designato.Supports sending metrics and log events to arbitrary EventHub endpoints and JSON-formatted blobs in the designated storage account.

Questa estensione funziona con entrambi i modelli di distribuzione di Azure.This extension works with both Azure deployment models.

Installazione dell'estensione nella macchina virtualeInstalling the extension in your VM

È possibile abilitare questa estensione usando i cmdlet di Azure PowerShell, gli script dell'interfaccia della riga di comando di Azure o i modelli di distribuzione di Azure.You can enable this extension by using the Azure PowerShell cmdlets, Azure CLI scripts, or Azure deployment templates. Per altre informazioni, vedere Funzionalità delle estensioni.For more information, see Extensions Features.

Il portale di Azure non può essere usato per abilitare o configurare LAD 3.0,The Azure portal cannot be used to enable or configure LAD 3.0. ma esso stesso installa e configura la versione 2.3.Instead, it installs and configures version 2.3. Gli avvisi e i grafici del portale di Azure funzionano con i dati di entrambe le versioni dell'estensione.Azure portal graphs and alerts work with data from both versions of the extension.

Le istruzioni di installazione e la configurazione di esempio scaricabile configurano LAD 3.0 per:These installation instructions and a downloadable sample configuration configure LAD 3.0 to:

  • acquisire e archiviare le stesse metriche fornite da LAD 2.3;capture and store the same metrics as were provided by LAD 2.3;
  • acquisire un insieme utile di metriche di file system, novità della versione 3.0 di LAD;capture a useful set of file system metrics, new to LAD 3.0;
  • acquisire la raccolta di SysLog predefinita abilitata da LAD 2.3;capture the default syslog collection enabled by LAD 2.3;
  • abilitare l'esperienza del portale di Azure per la creazione di grafici e avvisi relativi alle metriche della macchina virtuale.enable the Azure portal experience for charting and alerting on VM metrics.

La configurazione scaricabile è solo un esempio; modificarla per adattarla alle proprie esigenze.The downloadable configuration is just an example; modify it to suit your own needs.

PrerequisitiPrerequisites

  • Agente Linux di Azure 2.2.0 o versione successiva.Azure Linux Agent version 2.2.0 or later. La maggior parte delle immagini della raccolta Linux di macchine virtuali di Azure include la versione 2.2.7 o successive.Most Azure VM Linux gallery images include version 2.2.7 or later. Eseguire /usr/sbin/waagent -version per verificare la versione installata nella macchina virtuale.Run /usr/sbin/waagent -version to confirm the version installed on the VM. Se la macchina virtuale esegue una versione precedente dell'agente guest, seguire queste istruzioni per aggiornarla.If the VM is running an older version of the guest agent, follow these instructions to update it.
  • Interfaccia della riga di comando di Azure.Azure CLI. Configurare l'ambiente dell'interfaccia della riga di comando di Azure 2.0 nella macchina virtuale.Set up the Azure CLI 2.0 environment on your machine.
  • Il comando wget. Se non è già disponibile, eseguire sudo apt-get install wget.The wget command, if you don't already have it: Run sudo apt-get install wget.
  • Una sottoscrizione di Azure esistente e un account di archiviazione al suo interno per l'archiviazione dei dati.An existing Azure subscription and an existing storage account within it to store the data.

Installazione di esempioSample installation

Compilare i parametri corretti nelle prime tre righe, quindi eseguire lo script come radice:Fill in the correct parameters on the first three lines, then execute this script as root:

# Set your Azure VM diagnostic parameters correctly below
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>

# Should login to Azure first before anything else
az login

# Select the subscription containing the storage account
az account set --subscription <your_azure_subscription_id>

# Download the sample Public settings. (You could also use curl or any web browser)
wget https://raw.githubusercontent.com/Azure/azure-linux-extensions/master/Diagnostic/tests/lad_2_3_compatible_portal_pub_settings.json -O portal_public_settings.json

# Build the VM resource ID. Replace storage account name and resource ID in the public settings.
my_vm_resource_id=$(az vm show -g $my_resource_group -n $my_linux_vm --query "id" -o tsv)
sed -i "s#__DIAGNOSTIC_STORAGE_ACCOUNT__#$my_diagnostic_storage_account#g" portal_public_settings.json
sed -i "s#__VM_RESOURCE_ID__#$my_vm_resource_id#g" portal_public_settings.json

# Build the protected settings (storage account SAS token)
my_diagnostic_storage_account_sastoken=$(az storage account generate-sas --account-name $my_diagnostic_storage_account --expiry 9999-12-31T23:59Z --permissions wlacu --resource-types co --services bt -o tsv)
my_lad_protected_settings="{'storageAccountName': '$my_diagnostic_storage_account', 'storageAccountSasToken': '$my_diagnostic_storage_account_sastoken'}"

# Finallly tell Azure to install and enable the extension
az vm extension set --publisher Microsoft.Azure.Diagnostics --name LinuxDiagnostic --version 3.0 --resource-group $my_resource_group --vm-name $my_linux_vm --protected-settings "${my_lad_protected_settings}" --settings portal_public_settings.json

L'URL per la configurazione di esempio e il relativo contenuto sono soggetti a modifiche.The URL for the sample configuration, and its contents, are subject to change. Scaricare una copia del file JSON delle impostazioni del portale e personalizzarla in base alle proprie esigenze.Download a copy of the portal settings JSON file and customize it for your needs. Qualsiasi modello o automazione creato dall'utente deve usare la propria copia, invece di scaricare l'URL ogni volta.Any templates or automation you construct should use your own copy, rather than downloading that URL each time.

Aggiornamento delle impostazioni di estensioneUpdating the extension settings

Dopo aver modificato le impostazioni pubbliche o protette, è necessario distribuirle alla macchina virtuale eseguendo lo stesso comando.After you've changed your Protected or Public settings, deploy them to the VM by running the same command. Se un'impostazione viene modificata, questo aggiornamento viene inviato all'estensione.If anything changed in the settings, the updated settings are sent to the extension. LAD ricarica la configurazione e si riavvia.LAD reloads the configuration and restarts itself.

Migrazione dalle versioni precedenti dell'estensioneMigration from previous versions of the extension

La versione più recente dell'estensione è 3.0.The latest version of the extension is 3.0. Le versioni precedenti (2.x) sono deprecate e la loro pubblicazione potrebbe essere annullata a partire dal 31 luglio 2018.Any old versions (2.x) are deprecated and may be unpublished on or after July 31, 2018.

Importante

Questa estensione introduce importanti modifiche alla configurazione dell'estensione.This extension introduces breaking changes to the configuration of the extension. Tale modifica è stata apportata per migliorare la sicurezza dell'estensione. Di conseguenza, la compatibilità con versioni precedenti alla versione 2.x potrebbe non essere mantenuta.One such change was made to improve the security of the extension; as a result, backwards compatibility with 2.x could not be maintained. In aggiunta, il server di pubblicazione per questa estensione è diverso dal server di pubblicazione per le versioni 2.x.Also, the Extension Publisher for this extension is different than the publisher for the 2.x versions.

Per eseguire la migrazione dalla versione 2.x a questa nuova versione dell'estensione, è necessario disinstallare l'estensione precedente, sotto il nome del server di pubblicazione precedente, e installare la versione 3 dell'estensione.To migrate from 2.x to this new version of the extension, you must uninstall the old extension (under the old publisher name), then install version 3 of the extension.

Consigli:Recommendations:

  • Installare l'estensione abilitando l'aggiornamento automatico della versione secondaria.Install the extension with automatic minor version upgrade enabled.
    • Nelle macchine virtuali con modello di distribuzione classico, specificare "3." come versione, se si installa l'estensione tramite Powershell o l'interfaccia della riga di comando XPLAT di Azure.On classic deployment model VMs, specify '3.' as the version if you are installing the extension through Azure XPLAT CLI or Powershell.
    • Nelle macchine virtuali con il modello di distribuzione Azure Resource Manager, includere ""autoUpgradeMinorVersion": true" nel modello di distribuzione della macchina virtuale.On Azure Resource Manager deployment model VMs, include '"autoUpgradeMinorVersion": true' in the VM deployment template.
  • Usare un account di archiviazione nuovo o diverso per LAD 3.0.Use a new/different storage account for LAD 3.0. Esistono diverse piccole incompatibilità tra LAD 2.3 e LAD 3.0 che creano problemi nella condivisione di un account:There are several small incompatibilities between LAD 2.3 and LAD 3.0 that make sharing an account troublesome:
    • LAD 3.0 inserisce gli eventi SysLog in una tabella con un nome diverso.LAD 3.0 stores syslog events in a table with a different name.
    • Le stringhe counterSpecifier per le metriche builtin differiscono in LAD 3.0.The counterSpecifier strings for builtin metrics differ in LAD 3.0.

Impostazioni protetteProtected settings

Questo set di informazioni per la configurazione contiene informazioni riservate che devono essere protette dalla visualizzazione pubblica, ad esempio, le credenziali di archiviazione.This set of configuration information contains sensitive information that should be protected from public view, for example, storage credentials. Queste impostazioni vengono trasmesse e memorizzate dall'estensione in modo crittografato.These settings are transmitted to and stored by the extension in encrypted form.

{
    "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": { ... }
}
NOMEName ValoreValue
storageAccountNamestorageAccountName Nome dell'account di archiviazione in cui l'estensione scrive i dati.The name of the storage account in which data is written by the extension.
storageAccountEndPointstorageAccountEndPoint (facoltativo) Endpoint che identifica il cloud in cui esiste l'account di archiviazione.(optional) The endpoint identifying the cloud in which the storage account exists. Se questa impostazione è assente, LAD per impostazione predefinita considera il cloud pubblico di Azure, https://core.windows.net.If this setting is absent, LAD defaults to the Azure public cloud, https://core.windows.net. Per usare un account di archiviazione in Azure Germania, Azure per enti pubblici o Azure Cina, impostare questo valore di conseguenza.To use a storage account in Azure Germany, Azure Government, or Azure China, set this value accordingly.
storageAccountSasTokenstorageAccountSasToken Un token SAS dell'account per i servizi BLOB e tabella (ss='bt'), applicabile a contenitori e oggetti (srt='co'), che concede le autorizzazioni di aggiunta, creazione, creazione di elenchi, aggiornamenti e scrittura (sp='acluw').An Account SAS token for Blob and Table services (ss='bt'), applicable to containers and objects (srt='co'), which grants add, create, list, update, and write permissions (sp='acluw'). Non includere il punto interrogativo (?) principale.Do not include the leading question-mark (?).
mdsdHttpProxymdsdHttpProxy (facoltativo) Informazioni sul proxy HTTP necessarie per abilitare l'estensione affinché si connetta all'account di archiviazione e all'endpoint specificati.(optional) HTTP proxy information needed to enable the extension to connect to the specified storage account and endpoint.
sinksConfigsinksConfig (facoltativo) Informazioni sulle destinazioni alternative a cui possono essere inviati le metriche e gli eventi.(optional) Details of alternative destinations to which metrics and events can be delivered. Nelle sezioni che seguono vengono illustrati i dettagli specifici di ogni sink di dati supportato dall'estensione.The specific details of each data sink supported by the extension are covered in the sections that follow.

Nota

Quando si distribuisce l'estensione con un modello di distribuzione di Azure, l'account di archiviazione e il token di firma di accesso condiviso deve essere create in precedenza e quindi passati al modello.When deploying the extension with an Azure deployment template, the storage account and SAS token must be created beforehand and then passed to the template. Impossibile distribuire una macchina virtuale, l'account di archiviazione e configurare l'estensione in un unico modello.You can't deploy a VM, storage account, and configure the extension in a single template. Creazione di un token di firma di accesso condiviso all'interno di un modello non è attualmente supportata.Creating a SAS token within a template is not currently supported.

È possibile costruire con facilità il token SAS richiesto tramite il portale di Azure.You can easily construct the required SAS token through the Azure portal.

  1. Selezionare l'account di archiviazione generico che in cui si desidera che l'estensione scrivaSelect the general-purpose storage account to which you want the extension to write
  2. Selezionare "Firma di accesso condiviso" nella sezione delle impostazioni del menu a sinistraSelect "Shared access signature" from the Settings part of the left menu
  3. Creare le sezioni appropriate come descritto in precedenzaMake the appropriate sections as previously described
  4. Fare clic sul pulsante "Genera firma di accesso condiviso".Click the "Generate SAS" button.

immagine

Copiare la firma di accesso condiviso generata nel campo storageAccountSasToken; rimuovere il punto interrogativo ("?") principale.Copy the generated SAS into the storageAccountSasToken field; remove the leading question-mark ("?").

sinksConfigsinksConfig

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

Questa sezione facoltativa definisce altre destinazioni a cui l'estensione invia le informazioni raccolte.This optional section defines additional destinations to which the extension sends the information it collects. La matrice "sink" contiene un oggetto per ogni sink di dati aggiuntivo.The "sink" array contains an object for each additional data sink. L'attributo "type" determina gli altri attributi dell'oggetto.The "type" attribute determines the other attributes in the object.

ElementoElement ValoreValue
namename Una stringa usata per fare riferimento a questo sink altrove nella configurazione dell'estensione.A string used to refer to this sink elsewhere in the extension configuration.
typetype Il tipo di sink da definire.The type of sink being defined. Determina gli altri valori, se presenti, nelle istanze di questo tipo.Determines the other values (if any) in instances of this type.

La versione 3.0 dell'estensione Diagnostica per Linux supporta due tipi di sink: EventHub e JsonBlob.Version 3.0 of the Linux Diagnostic Extension supports two sink types: EventHub, and JsonBlob.

Sink EventHubThe EventHub sink

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

La voce "sasURL" contiene l'URL completo, incluso il token della firma di accesso condiviso, per l'hub di eventi in cui devono essere pubblicati i dati.The "sasURL" entry contains the full URL, including SAS token, for the Event Hub to which data should be published. Per LAD è necessario che la firma di accesso condiviso dia un nome a un criterio che consente l'attestazione di trasmissione.LAD requires a SAS naming a policy that enables the Send claim. Esempio:An example:

  • Creare uno spazio dei nomi dell'hub eventi denominato contosohubCreate an Event Hubs namespace called contosohub
  • Creare un hub eventi nello spazio dei nomi denominato syslogmsgsCreate an Event Hub in the namespace called syslogmsgs
  • Creare un criterio di accesso condiviso nell'hub eventi denominato writer che consenta l'attestazione di trasmissioneCreate a Shared access policy on the Event Hub named writer that enables the Send claim

Se è stata creata una firma di accesso condiviso valida fino alla mezzanotte UTC del 1 gennaio 2018, il valore sasURL potrebbe essere:If you created a SAS good until midnight UTC on January 1, 2018, the sasURL value might be:

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

Per altre informazioni sulla generazione di token SAS per gli hub eventi, vedere questa pagina Web.For more information about generating SAS tokens for Event Hubs, see this web page.

Sink JsonBlobThe JsonBlob sink

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

I dati indirizzati a un sink JsonBlob vengono memorizzati nei BLOB dell'archiviazione di Azure.Data directed to a JsonBlob sink is stored in blobs in Azure storage. Ogni istanza di LAD crea un BLOB all'ora per ogni nome di sink.Each instance of LAD creates a blob every hour for each sink name. Ciascun BLOB contiene sempre una matrice JSON sintatticamente valida dell'oggetto.Each blob always contains a syntactically valid JSON array of object. Le nuove voci vengono aggiunte in modo atomico alla matrice.New entries are atomically added to the array. I BLOB vengono archiviati in un contenitore con lo stesso nome come sink.Blobs are stored in a container with the same name as the sink. Le regole di archiviazione di Azure per i nomi dei contenitori BLOB si applicano ai nomi dei sink JsonBlob: dai 3 ai 63 caratteri ASCII alfanumerici minuscoli o trattini.The Azure storage rules for blob container names apply to the names of JsonBlob sinks: between 3 and 63 lower-case alphanumeric ASCII characters or dashes.

Impostazioni pubblichePublic settings

Questa struttura contiene diversi blocchi di impostazioni che controllano le informazioni raccolte dall'estensione.This structure contains various blocks of settings that control the information collected by the extension. Tutte le impostazioni sono facoltative.Each setting is optional. Se si specifica ladCfg, è necessario specificare anche StorageAccount.If you specify ladCfg, you must also specify StorageAccount.

{
    "ladCfg":  { ... },
    "perfCfg": { ... },
    "fileLogs": { ... },
    "StorageAccount": "the storage account to receive data",
    "mdsdHttpProxy" : ""
}
ElementoElement ValoreValue
StorageAccountStorageAccount Nome dell'account di archiviazione in cui l'estensione scrive i dati.The name of the storage account in which data is written by the extension. Deve essere lo stesso nome specificato nelle Impostazioni protette.Must be the same name as is specified in the Protected settings.
mdsdHttpProxymdsdHttpProxy (facoltativo) Uguale al valore indicato in Impostazioni protette.(optional) Same as in the Protected settings. Il valore pubblico viene sostituito dal valore privato, se impostato.The public value is overridden by the private value, if set. Inserire le impostazioni proxy che contengono un segreto, ad esempio una password, nelle Impostazioni protette.Place proxy settings that contain a secret, such as a password, in the Protected settings.

Gli elementi rimanenti vengono descritti in dettaglio nelle sezioni seguenti.The remaining elements are described in detail in the following sections.

ladCfgladCfg

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

Questa struttura facoltativa controlla la raccolta di metriche e registri per l'invio al servizio Metriche di Azure e ad altri dati sink.This optional structure controls the gathering of metrics and logs for delivery to the Azure Metrics service and to other data sinks. È necessario specificare performanceCounters o syslogEvents oppure entrambi.You must specify either performanceCounters or syslogEvents or both. È necessario specificare la struttura metrics.You must specify the metrics structure.

ElementoElement ValoreValue
eventVolumeeventVolume (facoltativo) Controlla il numero di partizioni create all'interno della tabella di archiviazione.(optional) Controls the number of partitions created within the storage table. Può essere uno tra "Large", "Medium" o "Small".Must be one of "Large", "Medium", or "Small". Se non è specificato, il valore predefinito è "Medium".If not specified, the default value is "Medium".
sampleRateInSecondssampleRateInSeconds (facoltativo) L'intervallo predefinito tra la raccolta di metriche non elaborate, ovvero non aggregate.(optional) The default interval between collection of raw (unaggregated) metrics. La frequenza di esempio più piccola supportata è 15 secondi.The smallest supported sample rate is 15 seconds. Se non è specificato, il valore predefinito è 15.If not specified, the default value is 15.

Metrichemetrics

"metrics": {
    "resourceId": "/subscriptions/...",
    "metricAggregation" : [
        { "scheduledTransferPeriod" : "PT1H" },
        { "scheduledTransferPeriod" : "PT5M" }
    ]
}
ElementoElement ValoreValue
ResourceIdresourceId L'ID della risorsa di Azure Resource Manager della macchina virtuale o del set di scalabilità di macchine a cui appartiene la macchina virtuale.The Azure Resource Manager resource ID of the VM or of the virtual machine scale set to which the VM belongs. Questa impostazione deve essere specificata anche se nella configurazione viene usato un sink JsonBlob.This setting must be also specified if any JsonBlob sink is used in the configuration.
scheduledTransferPeriodscheduledTransferPeriod La frequenza con cui le metriche aggregate devono essere calcolate e trasferite a Metriche di Azure, espressa come un intervallo di tempo IS 8601.The frequency at which aggregate metrics are to be computed and transferred to Azure Metrics, expressed as an IS 8601 time interval. Il periodo di trasferimento più piccolo è 60 secondi, ovvero PT1M.The smallest transfer period is 60 seconds, that is, PT1M. È necessario specificare almeno un scheduledTransferPeriod.You must specify at least one scheduledTransferPeriod.

Gli esempi delle metriche specificate nella sezione performanceCounters vengono raccolti ogni 15 secondi o alla frequenza di esempio definita in modo esplicito per il contatore.Samples of the metrics specified in the performanceCounters section are collected every 15 seconds or at the sample rate explicitly defined for the counter. Se vengono visualizzate più frequenze scheduledTransferPeriod, come illustrato nell'esempio, ogni aggregazione viene calcolata in modo indipendente.If multiple scheduledTransferPeriod frequencies appear (as in the example), each aggregation is computed independently.

performanceCountersperformanceCounters

"performanceCounters": {
    "sinks": "",
    "performanceCounterConfiguration": [
        {
            "type": "builtin",
            "class": "Processor",
            "counter": "PercentIdleTime",
            "counterSpecifier": "/builtin/Processor/PercentIdleTime",
            "condition": "IsAggregate=TRUE",
            "sampleRate": "PT15S",
            "unit": "Percent",
            "annotation": [
                {
                    "displayName" : "Aggregate CPU %idle time",
                    "locale" : "en-us"
                }
            ]
        }
    ]
}

Questa sezione facoltativa consente di controllare la raccolta delle metriche.This optional section controls the collection of metrics. Gli esempi non elaborati vengono aggregati per ogni scheduledTransferPeriod al fine di produrre questi valori:Raw samples are aggregated for each scheduledTransferPeriod to produce these values:

  • meanmean
  • minimumminimum
  • maximummaximum
  • ultimo valore raccoltolast-collected value
  • numero di esempi non elaborati usati per calcolare l'aggregazionecount of raw samples used to compute the aggregate
ElementoElement ValoreValue
sinkssinks (facoltativo) Un elenco di nomi delimitato da virgole di sink a cui LAD invia i risultati di metrica aggregati.(optional) A comma-separated list of names of sinks to which LAD sends aggregated metric results. Tutte le metriche aggregate vengono pubblicate in ogni sink elencato.All aggregated metrics are published to each listed sink. Vedere sinksConfig.See sinksConfig. Esempio: "EHsink1, myjsonsink".Example: "EHsink1, myjsonsink".
typetype Identifica il provider effettivo della metrica.Identifies the actual provider of the metric.
classclass Con "counter" identifica la metrica specifica all'interno dello spazio dei nomi del provider.Together with "counter", identifies the specific metric within the provider's namespace.
countercounter Con "class" identifica la metrica specifica all'interno dello spazio dei nomi del provider.Together with "class", identifies the specific metric within the provider's namespace.
counterSpecifiercounterSpecifier Identifica la metrica specifica all'interno dello spazio dei nomi di Metriche di Azure.Identifies the specific metric within the Azure Metrics namespace.
conditioncondition (facoltativo) Seleziona un'istanza specifica dell'oggetto a cui si applica la metrica oppure seleziona l'aggregazione in tutte le istanze di tale oggetto.(optional) Selects a specific instance of the object to which the metric applies or selects the aggregation across all instances of that object. Per ulteriori informazioni, vedere le builtindefinizioni delle metriche.For more information, see the builtin metric definitions.
sampleRatesampleRate Intervallo IS 8601 che imposta la frequenza con cui vengono raccolti gli esempi non elaborati per questa metrica.IS 8601 interval that sets the rate at which raw samples for this metric are collected. Se non viene impostata, l'intervallo di raccolta viene impostato dal valore di sampleRateInSeconds.If not set, the collection interval is set by the value of sampleRateInSeconds. La frequenza di esempio più piccola supportata è 15 secondi (PT15S).The shortest supported sample rate is 15 seconds (PT15S).
unitunit Deve essere una delle seguenti stringhe: "Count", "Bytes", "Seconds", "Percent", "CountPerSecond", "BytesPerSecond", "Millisecond".Should be one of these strings: "Count", "Bytes", "Seconds", "Percent", "CountPerSecond", "BytesPerSecond", "Millisecond". Definisce l'unità per la metrica.Defines the unit for the metric. Gli utenti dei dati raccolti prevedono che i valori dei dati raccolti corrispondano a questa unità.Consumers of the collected data expect the collected data values to match this unit. LAD ignora questo campo.LAD ignores this field.
displayNamedisplayName L'etichetta, nella lingua specificata dall'impostazione locale associata, da allegare a questi dati in Metriche di Azure.The label (in the language specified by the associated locale setting) to be attached to this data in Azure Metrics. LAD ignora questo campo.LAD ignores this field.

counterSpecifier è un identificatore arbitrario.The counterSpecifier is an arbitrary identifier. Gli utenti di metriche, quali le funzionalità dei grafici del portale di Azure e gli avvisi, usano counterSpecifier come la "chiave" che identifica una metrica o un'istanza di una metrica.Consumers of metrics, like the Azure portal charting and alerting feature, use counterSpecifier as the "key" that identifies a metric or an instance of a metric. Per le metriche builtin, è consigliabile usare i valori di counterSpecifier che iniziano con /builtin/.For builtin metrics, we recommend you use counterSpecifier values that begin with /builtin/. Se si raccoglie un'istanza specifica di una metrica, è consigliabile allegare l'identificatore dell'istanza del valore counterSpecifier.If you are collecting a specific instance of a metric, we recommend you attach the identifier of the instance to the counterSpecifier value. Di seguito sono riportati alcuni esempi:Some examples:

  • /builtin/Processor/PercentIdleTime - Tempo di inattività medio calcolato per tutte le CPU virtuali/builtin/Processor/PercentIdleTime - Idle time averaged across all vCPUs
  • /builtin/Disk/FreeSpace(/mnt) - Spazio libero per il file system /mnt/builtin/Disk/FreeSpace(/mnt) - Free space for the /mnt filesystem
  • /builtin/Disk/FreeSpace - Spazio libero medio calcolato per tutti i file system montati/builtin/Disk/FreeSpace - Free space averaged across all mounted filesystems

Né per LAD né per il portale di Azure si prevede che il valore di counterSpecifier corrisponda a un modello.Neither LAD nor the Azure portal expects the counterSpecifier value to match any pattern. È consigliabile essere coerenti durante la creazione dei valori di counterSpecifier.Be consistent in how you construct counterSpecifier values.

Quando si specifica performanceCounters, LAD scrive sempre i dati in una tabella nell'archiviazione di Azure.When you specify performanceCounters, LAD always writes data to a table in Azure storage. È possibile che gli stessi dati vengano scritti nel BLOB JSON e/o negli hub eventi, ma non è possibile disabilitare l'inserimento dei dati in una tabella.You can have the same data written to JSON blobs and/or Event Hubs, but you cannot disable storing data to a table. Tutte le istanze dell'estensione di diagnostica configurate per l'uso dello stesso nome per l'account di archiviazione e dello stesso endpoint aggiungono le metriche e i registri alla stessa tabella.All instances of the diagnostic extension configured to use the same storage account name and endpoint add their metrics and logs to the same table. Se troppe macchine virtuali scrivono nella stessa partizione di tabella, Azure può limitare le scritture per tale partizione.If too many VMs are writing to the same table partition, Azure can throttle writes to that partition. L'impostazione eventVolume fa in modo che le voci si diffondano tra 1 (Piccolo), 10 (Medio) o 100 (Grande) partizioni diverse.The eventVolume setting causes entries to be spread across 1 (Small), 10 (Medium), or 100 (Large) different partitions. In genere, "Medio" è sufficiente a garantire che il traffico non venga limitato.Usually, "Medium" is sufficient to ensure traffic is not throttled. La funzionalità Metriche di Azure del portale di Azure usa i dati in questa tabella per creare grafici o per attivare gli avvisi.The Azure Metrics feature of the Azure portal uses the data in this table to produce graphs or to trigger alerts. Il nome della tabella è la concatenazione delle stringhe seguenti:The table name is the concatenation of these strings:

  • WADMetrics
  • "scheduledTransferPeriod" per i valori aggregati inseriti nella tabellaThe "scheduledTransferPeriod" for the aggregated values stored in the table
  • P10DV2S
  • Una data nel formato "AAAAMMGG", che cambia ogni 10 giorniA date, in the form "YYYYMMDD", which changes every 10 days

Gli esempi includono WADMetricsPT1HP10DV2S20170410 e WADMetricsPT1MP10DV2S20170609.Examples include WADMetricsPT1HP10DV2S20170410 and WADMetricsPT1MP10DV2S20170609.

syslogEventssyslogEvents

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

Questa sezione facoltativa consente di controllare la raccolta degli eventi del registro di SysLog.This optional section controls the collection of log events from syslog. Se viene omessa, gli eventi di SysLog non vengono acquisiti.If the section is omitted, syslog events are not captured at all.

La raccolta syslogEventConfiguration ha una voce per ogni impianto di interesse di SysLog.The syslogEventConfiguration collection has one entry for each syslog facility of interest. Se minSeverity è "NONE" per un particolare impianto o se tale impianto non viene visualizzato nell'elemento, non viene acquisito alcun evento da tale impianto.If minSeverity is "NONE" for a particular facility, or if that facility does not appear in the element at all, no events from that facility are captured.

ElementoElement ValoreValue
sinkssinks Un elenco delimitato da virgole di nomi di sink in cui vengono pubblicati i singoli eventi del registro.A comma-separated list of names of sinks to which individual log events are published. Tutti gli eventi del registro corrispondenti alle restrizioni in syslogEventConfiguration vengono pubblicati in tutti i sink elencati.All log events matching the restrictions in syslogEventConfiguration are published to each listed sink. Esempio: "EHforsyslog"Example: "EHforsyslog"
facilityNamefacilityName Un nome dell'impianto SysLog, ad esempio "LOG_USER" o "LOG_LOCAL0".A syslog facility name (such as "LOG_USER" or "LOG_LOCAL0"). Per un elenco completo vedere la sezione "impianto" della pagina di manuale SysLog.See the "facility" section of the syslog man page for the full list.
minSeverityminSeverity Un livello di gravità SysLog, ad esempio "LOG_ERR" o "LOG_INFO".A syslog severity level (such as "LOG_ERR" or "LOG_INFO"). Per un elenco completo vedere la sezione "livello" della pagina di manuale SysLog.See the "level" section of the syslog man page for the full list. L'estensione acquisisce gli eventi inviati all'impianto con livello superiore o uguale a quello specificato.The extension captures events sent to the facility at or above the specified level.

Quando si specifica syslogEvents, LAD scrive sempre i dati in una tabella nell'archiviazione di Azure.When you specify syslogEvents, LAD always writes data to a table in Azure storage. È possibile che gli stessi dati vengano scritti nel BLOB JSON e/o negli hub eventi, ma non è possibile disabilitare l'inserimento dei dati in una tabella.You can have the same data written to JSON blobs and/or Event Hubs, but you cannot disable storing data to a table. Il comportamento del partizionamento per questa tabella è identico a quello descritto per performanceCounters.The partitioning behavior for this table is the same as described for performanceCounters. Il nome della tabella è la concatenazione delle stringhe seguenti:The table name is the concatenation of these strings:

  • LinuxSyslog
  • Una data nel formato "AAAAMMGG", che cambia ogni 10 giorniA date, in the form "YYYYMMDD", which changes every 10 days

Gli esempi includono LinuxSyslog20170410 e LinuxSyslog20170609.Examples include LinuxSyslog20170410 and LinuxSyslog20170609.

perfCfgperfCfg

Questa sezione facoltativa consente di controllare l'esecuzione delle query arbitrarie OMI.This optional section controls execution of arbitrary OMI queries.

"perfCfg": [
    {
        "namespace": "root/scx",
        "query": "SELECT PercentAvailableMemory, PercentUsedSwap FROM SCX_MemoryStatisticalInformation",
        "table": "LinuxOldMemory",
        "frequency": 300,
        "sinks": ""
    }
]
ElementoElement ValoreValue
namespacenamespace (facoltativo) Lo spazio dei nomi OMI entro il quale deve essere eseguita la query.(optional) The OMI namespace within which the query should be executed. Se non viene specificato, il valore predefinito è "root/scx", implementato dai provider multipiattaforma dei System Center.If unspecified, the default value is "root/scx", implemented by the System Center Cross-platform Providers.
queryquery La query OMI da eseguire.The OMI query to be executed.
tabellatable (facoltativo) La tabella di archiviazione di Azure, nell'account di archiviazione designato. Vedere Impostazioni protette.(optional) The Azure storage table, in the designated storage account (see Protected settings).
frequencyfrequency (facoltativo) Il numero di secondi tra le esecuzioni della query.(optional) The number of seconds between execution of the query. Il valore predefinito è 300, ovvero 5 minuti; il valore minimo è 15 secondi.Default value is 300 (5 minutes); minimum value is 15 seconds.
sinkssinks (facoltativo) Un elenco di nomi delimitato da virgole di sink aggiuntivi in cui pubblicare i risultati di metrica di esempio non elaborati.(optional) A comma-separated list of names of additional sinks to which raw sample metric results should be published. Nessuna aggregazione di questi esempi non elaborati viene calcolata dall'estensione o da Metriche di Azure.No aggregation of these raw samples is computed by the extension or by Azure Metrics.

È necessario specificare "table" o "sink" o entrambi.Either "table" or "sinks", or both, must be specified.

fileLogsfileLogs

Consente di controllare l'acquisizione dei file di registro.Controls the capture of log files. LAD acquisisce le nuove righe di testo quando vengono scritte nel file e le scrive nelle righe della tabella e/o nei sink specificati, JsonBlob o EventHub.LAD captures new text lines as they are written to the file and writes them to table rows and/or any specified sinks (JsonBlob or EventHub).

"fileLogs": [
    {
        "file": "/var/log/mydaemonlog",
        "table": "MyDaemonEvents",
        "sinks": ""
    }
]
ElementoElement ValoreValue
filefile Il percorso completo del file di registro da esaminate e acquisire.The full pathname of the log file to be watched and captured. Il percorso deve indicare solo un file. Non è possibile indicare una directory o i caratteri jolly.The pathname must name a single file; it cannot name a directory or contain wildcards.
tabellatable (facoltativo) La tabella di archiviazione di Azure, nell'account di archiviazione designato, come specificato nella configurazione protetta, in cui vengono scritte nuove righe dalla "coda" del file.(optional) The Azure storage table, in the designated storage account (as specified in the protected configuration), into which new lines from the "tail" of the file are written.
sinkssinks (facoltativo) Un elenco di nomi delimitato da virgole di sink aggiuntivi a cui vengono inviate le righe del registro.(optional) A comma-separated list of names of additional sinks to which log lines sent.

È necessario specificare "table" o "sink" o entrambi.Either "table" or "sinks", or both, must be specified.

Metriche supportate dal provider BuiltinMetrics supported by the builtin provider

Il provider di metriche Builtin è un'origine metriche più interessante per molti utenti.The builtin metric provider is a source of metrics most interesting to a broad set of users. Queste metriche sono suddivise in cinque grandi categorie:These metrics fall into five broad classes:

  • ProcessoreProcessor
  • MemoriaMemory
  • ReteNetwork
  • File systemFilesystem
  • DiscoDisk

Metriche Builtin per la classe Processorebuiltin metrics for the Processor class

La classe di metriche Processore offre informazioni sull'uso del processore nella macchina virtuale.The Processor class of metrics provides information about processor usage in the VM. Quando si aggregano le percentuali, il risultato è la media di tutte le CPU.When aggregating percentages, the result is the average across all CPUs. In una macchina virtuale con due CPU virtuali, se una CPU virtuale è completamente occupata, ma l'altra è completamente inattiva, il valore di PercentIdleTime restituito sarà 50.In a two-vCPU VM, if one vCPU was 100% busy and the other was 100% idle, the reported PercentIdleTime would be 50. Se ciascuna CPU virtuale è occupata al 50% per lo stesso periodo, il risultato restituito sarà ugualmente 50.If each vCPU was 50% busy for the same period, the reported result would also be 50. In una macchina virtuale con quattro CPU virtuali, se una CPU virtuale è completamente occupata, ma le altre sono inattive, il valore di PercentIdleTime restituito sarà 75.In a four-vCPU VM, with one vCPU 100% busy and the others idle, the reported PercentIdleTime would be 75.

countercounter SignificatoMeaning
PercentIdleTimePercentIdleTime Percentuale di tempo nella finestra di aggregazione durante la quale i processori hanno eseguito il ciclo inattivo del kernelPercentage of time during the aggregation window that processors were executing the kernel idle loop
PercentProcessorTimePercentProcessorTime Percentuale di tempo di esecuzione di un thread non inattivoPercentage of time executing a non-idle thread
PercentIOWaitTimePercentIOWaitTime Percentuale di tempo di attesa per il completamento delle operazioni di input/outputPercentage of time waiting for IO operations to complete
PercentInterruptTimePercentInterruptTime Percentuale di tempo per l'esecuzione di DPC, ovvero chiamate di procedura differite, e interruzioni di hardware o softwarePercentage of time executing hardware/software interrupts and DPCs (deferred procedure calls)
PercentUserTimePercentUserTime Relativamente al tempo di inattività nella finestra di aggregazione, la percentuale di tempo impiegato dall'utente con priorità normaleOf non-idle time during the aggregation window, the percentage of time spent in user more at normal priority
PercentNiceTimePercentNiceTime Relativamente al tempo di inattività, la percentuale di tempo impiegata a bassa priorità (interessante)Of non-idle time, the percentage spent at lowered (nice) priority
PercentPrivilegedTimePercentPrivilegedTime La percentuale di tempo di inattività impiegata in modalità privilegiata (kernel)Of non-idle time, the percentage spent in privileged (kernel) mode

La somma dei primi quattro contatori deve essere 100%.The first four counters should sum to 100%. Anche la somma degli ultimi tre contatori deve essere 100%: vengono sommati i valori di PercentProcessorTime, PercentIOWaitTime e PercentInterruptTime.The last three counters also sum to 100%; they subdivide the sum of PercentProcessorTime, PercentIOWaitTime, and PercentInterruptTime.

Per ottenere un'unica metrica aggregata per tutti i processori, impostare "condition": "IsAggregate=TRUE".To obtain a single metric aggregated across all processors, set "condition": "IsAggregate=TRUE". Per ottenere una metrica per un processore specifico, ad esempio per il secondo processore logico di una macchina virtuale con quattro CPU virtuali, impostare "condition": "Name=\\"1\\"".To obtain a metric for a specific processor, such as the second logical processor of a four-vCPU VM, set "condition": "Name=\\"1\\"". I valori del processore logico sono compresi nell'intervallo [0..n-1].Logical processor numbers are in the range [0..n-1].

Metriche Builtin per la classe Memoriabuiltin metrics for the Memory class

La classe di memoria delle metriche contiene informazioni sull'uso della memoria, il paging e lo scambio.The Memory class of metrics provides information about memory utilization, paging, and swapping.

countercounter SignificatoMeaning
AvailableMemoryAvailableMemory Memoria fisica disponibile in MiBAvailable physical memory in MiB
PercentAvailableMemoryPercentAvailableMemory Percentuale della memoria totale che indica la memoria fisica disponibileAvailable physical memory as a percent of total memory
UsedMemoryUsedMemory Memoria fisica in uso (MiB)In-use physical memory (MiB)
PercentUsedMemoryPercentUsedMemory Percentuale della memoria totale che indica la memoria fisica in usoIn-use physical memory as a percent of total memory
PagesPerSecPagesPerSec Paging totale (lettura/scrittura)Total paging (read/write)
PagesReadPerSecPagesReadPerSec Pagine lette dall'archivio di backup, ad esempio file di scambio, file di programma, file mappato e così via.Pages read from backing store (swap file, program file, mapped file, etc.)
PagesWrittenPerSecPagesWrittenPerSec Pagine scritte nell'archivio di backup, ad esempio file di scambio, file mappato e così via.Pages written to backing store (swap file, mapped file, etc.)
AvailableSwapAvailableSwap Spazio di swapping inutilizzato (MiB)Unused swap space (MiB)
PercentAvailableSwapPercentAvailableSwap Percentuale dello swapping totale che indica lo spazio di swapping inutilizzatoUnused swap space as a percentage of total swap
UsedSwapUsedSwap Spazio di swapping in uso (MiB)In-use swap space (MiB)
PercentUsedSwapPercentUsedSwap Percentuale dello swapping totale che indica lo spazio di swapping in usoIn-use swap space as a percentage of total swap

Questa classe di metriche presenta una singola istanza.This class of metrics has only a single instance. L'attributo "condition" non presenta impostazioni utili e deve essere omesso.The "condition" attribute has no useful settings and should be omitted.

Metriche Builtin per la classe Retebuiltin metrics for the Network class

La classe di metriche Rete contiene informazioni sulle attività di rete su un interfacce di rete singole sin dall'avvio.The Network class of metrics provides information about network activity on an individual network interfaces since boot. LAD non espone le metriche relative alla larghezza di banda, che possono essere recuperate dalle metriche dell'host.LAD does not expose bandwidth metrics, which can be retrieved from host metrics.

countercounter SignificatoMeaning
BytesTransmittedBytesTransmitted Byte totali inviati sin dall'avvioTotal bytes sent since boot
BytesReceivedBytesReceived Byte totali ricevuti sin dall'avvioTotal bytes received since boot
BytesTotalBytesTotal Byte totali inviati o ricevuti sin dall'avvioTotal bytes sent or received since boot
PacketsTransmittedPacketsTransmitted Pacchetti totali inviati sin dall'avvioTotal packets sent since boot
PacketsReceivedPacketsReceived Pacchetti totali ricevuti sin dall'avvioTotal packets received since boot
TotalRxErrorsTotalRxErrors Numero di errori di ricezione sin dall'avvioNumber of receive errors since boot
TotalTxErrorsTotalTxErrors Numero di errori di trasmissione sin dall'avvioNumber of transmit errors since boot
TotalCollisionsTotalCollisions Numero di conflitti segnalati tramite le porte di rete sin dall'avvioNumber of collisions reported by the network ports since boot

Anche se questa classe presenta un'istanza, LAD non supporta l'acquisizione delle metriche di rete aggregate per tutti i dispositivi di rete.Although this class is instanced, LAD does not support capturing Network metrics aggregated across all network devices. Per ottenere le metriche per un'interfaccia specifica, ad esempio eth0, impostare "condition": "InstanceID=\\"eth0\\"".To obtain the metrics for a specific interface, such as eth0, set "condition": "InstanceID=\\"eth0\\"".

Metriche Builtin per la classe File systembuiltin metrics for the Filesystem class

La classe di metriche File system contiene informazioni sull'uso del file system.The Filesystem class of metrics provides information about filesystem usage. I valori assoluti e in percentuale vengono segnalati come fossero visualizzati da utenti normali, non radice.Absolute and percentage values are reported as they'd be displayed to an ordinary user (not root).

countercounter SignificatoMeaning
FreeSpaceFreeSpace Spazio disponibile su disco in byteAvailable disk space in bytes
UsedSpaceUsedSpace Spazio su disco usato in byteUsed disk space in bytes
PercentFreeSpacePercentFreeSpace Percentuale di spazio liberoPercentage free space
PercentUsedSpacePercentUsedSpace Percentuale di spazio usatoPercentage used space
PercentFreeInodesPercentFreeInodes Percentuale di inode non usatiPercentage of unused inodes
PercentUsedInodesPercentUsedInodes Percentuale di inode allocati, ovvero in uso, sommati tra tutti i file SystemPercentage of allocated (in use) inodes summed across all filesystems
BytesReadPerSecondBytesReadPerSecond Byte letti per secondoBytes read per second
BytesWrittenPerSecondBytesWrittenPerSecond Byte scritti per secondoBytes written per second
Byte al secondoBytesPerSecond Byte letti o scritti per secondoBytes read or written per second
ReadsPerSecondReadsPerSecond Operazioni di lettura per secondoRead operations per second
WritesPerSecondWritesPerSecond Operazioni di scrittura per secondoWrite operations per second
TransfersPerSecondTransfersPerSecond Operazioni di lettura o scrittura per secondoRead or write operations per second

È possibile ottenere i valori aggregati in tutti i file System impostando "condition": "IsAggregate=True".Aggregated values across all file systems can be obtained by setting "condition": "IsAggregate=True". È possibile ottenere i valori per un determinato file system montato, ad esempio "/mnt", può essere ottenuto impostando "condition": 'Name="/mnt"'.Values for a specific mounted file system, such as "/mnt", can be obtained by setting "condition": 'Name="/mnt"'.

Metriche Builtin per la classe Discobuiltin metrics for the Disk class

La classe di metriche Disco contiene informazioni sull'uso del dispositivo del disco.The Disk class of metrics provides information about disk device usage. Queste statistiche si applicano all'intera unità.These statistics apply to the entire drive. Se sono presenti più file System su un dispositivo, i contatori per il dispositivo sono aggregati in modo efficace per tutti loro.If there are multiple file systems on a device, the counters for that device are, effectively, aggregated across all of them.

countercounter SignificatoMeaning
ReadsPerSecondReadsPerSecond Operazioni di lettura per secondoRead operations per second
WritesPerSecondWritesPerSecond Operazioni di scrittura per secondoWrite operations per second
TransfersPerSecondTransfersPerSecond Operazioni totali per secondoTotal operations per second
AverageReadTimeAverageReadTime Media di secondi per operazione di letturaAverage seconds per read operation
AverageWriteTimeAverageWriteTime Media di secondi per operazione di scritturaAverage seconds per write operation
AverageTransferTimeAverageTransferTime Media di secondi per operazioneAverage seconds per operation
AverageDiskQueueLengthAverageDiskQueueLength Media delle operazioni del disco in codaAverage number of queued disk operations
ReadBytesPerSecondReadBytesPerSecond Numero di byte letti al secondoNumber of bytes read per second
WriteBytesPerSecondWriteBytesPerSecond Numero di byte scritti al secondoNumber of bytes written per second
Byte al secondoBytesPerSecond Numero di byte letti o scritti al secondoNumber of bytes read or written per second

È possibile ottenere i valori aggregati per tutti i dischi impostando "condition": "IsAggregate=True".Aggregated values across all disks can be obtained by setting "condition": "IsAggregate=True". Per ottenere le informazioni per un dispositivo specifico, ad esempio dev/sdf1, impostare "condition": "Name=\\"/dev/sdf1\\"".To get information for a specific device (for example, /dev/sdf1), set "condition": "Name=\\"/dev/sdf1\\"".

Installazione e configurazione di LAD 3.0 tramite l'interfaccia della riga di comandoInstalling and configuring LAD 3.0 via CLI

Supponendo che le impostazioni protette si trovino nel file PrivateConfig.json e che le informazioni di configurazione pubbliche si trovino in PublicConfig.json, eseguire questo comando:Assuming your protected settings are in the file PrivateConfig.json and your public configuration information is in PublicConfig.json, run this command:

az vm extension set *resource_group_name* *vm_name* LinuxDiagnostic Microsoft.Azure.Diagnostics '3.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json

Il comando presuppone che si stia usando la modalità di Gestione risorse di Azure (arm) dell'interfaccia della riga di comando di Azure.The command assumes you are using the Azure Resource Management mode (arm) of the Azure CLI. Per configurare LAD per le macchine virtuali che usano il modello di distribuzione classico (ASM), passare alla modalità "asm" (azure config mode asm) e omettere il nome del gruppo di risorse nel comando.To configure LAD for classic deployment model (ASM) VMs, switch to "asm" mode (azure config mode asm) and omit the resource group name in the command. Per altre informazioni, vedere la documentazione sull'interfaccia della riga di comando multipiattaforma.For more information, see the cross-platform CLI documentation.

Una configurazione di LAD 3.0 di esempioAn example LAD 3.0 configuration

In base alle definizioni precedenti, ecco una configurazione dell'estensione 3.0 LAD di esempio con alcune spiegazioni.Based on the preceding definitions, here's a sample LAD 3.0 extension configuration with some explanation. Per applicare questo esempio al caso in questione, è necessario usare il nome dell'account di archiviazione, il token SAS dell'account e i token SAS di EventHubs.To apply this sample to your case, you should use your own storage account name, account SAS token, and EventHubs SAS tokens.

PrivateConfig.jsonPrivateConfig.json

Queste impostazioni private consentono di configurare:These private settings configure:

  • un account di archiviazionea storage account
  • un token SAS dell'account corrispondentea matching account SAS token
  • diversi sink, ad esempio JsonBlob o EventHubs con i token SASseveral sinks (JsonBlob or EventHubs with SAS tokens)
{
  "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"
      }
    ]
  }
}

PublicConfig.jsonPublicConfig.json

Con queste impostazioni pubbliche il LAD:These public settings cause LAD to:

  • carica le metriche della percentuale di tempo del processore e dello spazio sul disco usato nella tabella WADMetrics*Upload percent-processor-time and used-disk-space metrics to the WADMetrics* table
  • carica i messaggi delle "informazioni" sull'"utente" e sulla gravità dell'impianto SysLog nella tabella LinuxSyslog*Upload messages from syslog facility "user" and severity "info" to the LinuxSyslog* table
  • carica i risultati delle query OMI non elaborati, ovvero PercentProcessorTime e PercentIdleTime, nella tabella denominata LinuxCPUUpload raw OMI query results (PercentProcessorTime and PercentIdleTime) to the named LinuxCPU table
  • carica le righe aggiunte nel file /var/log/myladtestlog nella tabella MyLadTestLogUpload appended lines in file /var/log/myladtestlog to the MyLadTestLog table

In ogni caso, i dati vengono anche caricati:In each case, data is also uploaded to:

  • nell'archivio BLOB di Azure, il nome del contenitore è definito nel sink JsonBlobAzure Blob storage (container name is as defined in the JsonBlob sink)
  • nell'endopint EventHubs, come specificato nel sink EventHubsEventHubs endpoint (as specified in the EventHubs sink)
{
  "StorageAccount": "yourdiagstgacct",
  "sampleRateInSeconds": 15,
  "ladCfg": {
    "diagnosticMonitorConfiguration": {
      "performanceCounters": {
        "sinks": "MyMetricEventHub,MyJsonMetricsBlob",
        "performanceCounterConfiguration": [
          {
            "unit": "Percent",
            "type": "builtin",
            "counter": "PercentProcessorTime",
            "counterSpecifier": "/builtin/Processor/PercentProcessorTime",
            "annotation": [
              {
                "locale": "en-us",
                "displayName": "Aggregate CPU %utilization"
              }
            ],
            "condition": "IsAggregate=TRUE",
            "class": "Processor"
          },
          {
            "unit": "Bytes",
            "type": "builtin",
            "counter": "UsedSpace",
            "counterSpecifier": "/builtin/FileSystem/UsedSpace",
            "annotation": [
              {
                "locale": "en-us",
                "displayName": "Used disk space on /"
              }
            ],
            "condition": "Name=\"/\"",
            "class": "Filesystem"
          }
        ]
      },
      "metrics": {
        "metricAggregation": [
          {
            "scheduledTransferPeriod": "PT1H"
          },
          {
            "scheduledTransferPeriod": "PT1M"
          }
        ],
        "resourceId": "/subscriptions/your_azure_subscription_id/resourceGroups/your_resource_group_name/providers/Microsoft.Compute/virtualMachines/your_vm_name"
      },
      "eventVolume": "Large",
      "syslogEvents": {
        "sinks": "SyslogJsonBlob,LoggingEventHub",
        "syslogEventConfiguration": {
          "LOG_USER": "LOG_INFO"
        }
      }
    }
  },
  "perfCfg": [
    {
      "query": "SELECT PercentProcessorTime, PercentIdleTime FROM SCX_ProcessorStatisticalInformation WHERE Name='_TOTAL'",
      "table": "LinuxCpu",
      "frequency": 60,
      "sinks": "LinuxCpuJsonBlob,LinuxCpuEventHub"
    }
  ],
  "fileLogs": [
    {
      "file": "/var/log/myladtestlog",
      "table": "MyLadTestLog",
      "sinks": "FilelogJsonBlob,LoggingEventHub"
    }
  ]
}

Nella configurazione resourceId deve corrispondere al valore della macchina virtuale o al valore del set di scalabilità della macchina virtuale.The resourceId in the configuration must match that of the VM or the virtual machine scale set.

  • I valori di resourceId della macchina virtuale in funzione sono noti a grafici e avvisi relativi alle metriche della piattaforma di Azure.Azure platform metrics charting and alerting knows the resourceId of the VM you're working on. Si prevede di trovare i dati della macchina virtuale tramite la chiave di ricerca resourceId.It expects to find the data for your VM using the resourceId the lookup key.
  • Se si usa la scalabilità automatica di Azure, il valore di resourceId nella configurazione di scalabilità automatica deve corrispondere a quello di resourceId usato da LAD.If you use Azure autoscale, the resourceId in the autoscale configuration must match the resourceId used by LAD.
  • Il valore di resourceId viene creato nei nomi di JsonBlobs scritto da LAD.The resourceId is built into the names of JsonBlobs written by LAD.

Visualizzare i datiView your data

Usare il portale di Azure per visualizzare i dati sulle prestazioni o impostare gli avvisi:Use the Azure portal to view performance data or set alerts:

immagine

I dati performanceCounters sono sempre archiviati in una tabella di archiviazione di Azure.The performanceCounters data are always stored in an Azure Storage table. Le API di Archiviazione di Azure sono disponibili per più linguaggi e piattaforme.Azure Storage APIs are available for many languages and platforms.

I dati inviati ai sink JsonBlob sono archiviati nei BLOB nell'account di archiviazione indicato in Impostazioni protette.Data sent to JsonBlob sinks is stored in blobs in the storage account named in the Protected settings. È possibile usare i dati BLOB usando qualsiasi API di archiviazione BLOB di Azure.You can consume the blob data using any Azure Blob Storage APIs.

È anche possibile usare questi strumenti dell'interfaccia utente per accedere ai dati nell'archiviazione di Azure:In addition, you can use these UI tools to access the data in Azure Storage:

Questo snapshot di una sessione di Microsoft Azure Storage Explorer mostra le tabelle di archiviazione di Azure e i contenitori generati da un'estensione LAD 3.0 correttamente configurata su una macchina virtuale di test.This snapshot of a Microsoft Azure Storage Explorer session shows the generated Azure Storage tables and containers from a correctly configured LAD 3.0 extension on a test VM. L'immagine non corrisponde esattamente alla configurazione LAD 3.0 di esempio.The image doesn't match exactly with the sample LAD 3.0 configuration.

immagine

Vedere la relativa documentazione di EventHubs per avere informazioni su come usare i messaggi pubblicati in un endpoint EventHubs.See the relevant EventHubs documentation to learn how to consume messages published to an EventHubs endpoint.

Passaggi successiviNext steps