De diagnostische Linux-extensie gebruiken om de prestaties en diagnostische gegevens van een Linux-VM te bewaken

Belangrijk

Klassieke VM's worden op 1 maart 2023 buiten gebruik gesteld.

Als u IaaS-resources van ASM gebruikt, dient u de migratie uiterlijk 1 maart 2023 te voltooien. U wordt aangeraden al eerder over te schakelen om te kunnen profiteren van de vele functieverbeteringen in Azure Resource Manager.

Zie Uw IaaS-resources vóór 1 maart 2023 naar Azure Resource Manager migreren voor meer informatie.

In dit document wordt versie 2.3 van de diagnostische Linux-extensie beschreven.

Belangrijk

Deze versie is afgeschaft en kan op elk gewenst moment na 30 juni 2018 niet worden gepubliceerd. Deze is vervangen door versie 3.0. Zie de documentatie voor versie 3.0 van de diagnostische Linux-extensie voor meer informatie.

Introductie

(Opmerking: de diagnostische Linux-extensie is opensourced op GitHub , waar de meest recente informatie over de extensie voor het eerst wordt gepubliceerd. Mogelijk wilt u eerst de GitHub-pagina controleren.)

De diagnostische Linux-extensie helpt een gebruiker bij het bewaken van de Linux-VM's die worden uitgevoerd in Microsoft Azure. Het heeft de volgende mogelijkheden:

  • Verzamelt en uploadt de systeemprestatiegegevens van de Linux-VM naar de opslagtabel van de gebruiker, inclusief diagnostische en syslog-informatie.
  • Hiermee kunnen gebruikers de metrische gegevens aanpassen die worden verzameld en geüpload.
  • Hiermee kunnen gebruikers opgegeven logboekbestanden uploaden naar een aangewezen opslagtabel.

In de huidige versie 2.3 bevatten de gegevens:

Deze extensie werkt met zowel de klassieke als Resource Manager implementatiemodellen.

Huidige versie van de extensie en afschaffing van oude versies

De nieuwste versie van de extensie is 2.3 en eventuele oude versies (2.0, 2.1 en 2.2) worden afgeschaft en worden eind dit jaar (2017) niet gepubliceerd. Als u de diagnostische Linux-extensie hebt geïnstalleerd met een automatische secundaire versie-upgrade uitgeschakeld, wordt u sterk aangeraden de extensie te verwijderen en opnieuw te installeren met automatische secundaire versie-upgrade ingeschakeld. Op klassieke (ASM)-VM's kunt u dit bereiken door '2.*' op te geven als de versie als u de extensie installeert via Azure XPLAT CLI of PowerShell. Op ARM-VM's kunt u dit bereiken door 'AutoUpgradeMinorVersion': true' op te geven in de VM-implementatiesjabloon. Voor elke nieuwe installatie van de extensie moet ook de upgradeoptie voor automatische secundaire versies zijn ingeschakeld.

De extensie inschakelen

U kunt deze extensie inschakelen met behulp van de Azure Portal-, Azure PowerShell- of Azure CLI-scripts.

Als u de systeem- en prestatiegegevens rechtstreeks vanuit de Azure Portal wilt weergeven en configureren, volgt u deze stappen in de Azure-blog.

Dit artikel is gericht op het inschakelen en configureren van de extensie met behulp van Azure CLI-opdrachten. Hierdoor kunt u de gegevens rechtstreeks vanuit de opslagtabel lezen en weergeven.

Houd er rekening mee dat de hier beschreven configuratiemethoden niet werken voor de Azure Portal. Als u het systeem- en prestatiegegevens rechtstreeks vanuit de Azure Portal wilt weergeven en configureren, moet de extensie worden ingeschakeld via de portal.

Vereisten

  • Azure Linux Agent versie 2.0.6 of hoger.

    Houd er rekening mee dat de meeste Linux-galerie-installatiekopieën voor Virtuele Azure-machines versie 2.0.6 of hoger bevatten. U kunt WAAgent-versie uitvoeren om te bevestigen welke versie op de VIRTUELE machine is geïnstalleerd. Als op de VIRTUELE machine een versie wordt uitgevoerd die ouder is dan 2.0.6, kunt u de in GitHub volgen om deze bij te werken.

  • Azure CLI. Volg deze richtlijnen voor het installeren van CLI om de Azure CLI-omgeving op uw computer in te stellen. Nadat Azure CLI is geïnstalleerd, kunt u de Azure-opdracht gebruiken vanuit uw opdrachtregelinterface (Bash, Terminal of opdrachtprompt) om toegang te krijgen tot de Azure CLI-opdrachten. Bijvoorbeeld:

    • Voer azure VM-extensieset --help uit voor gedetailleerde help-informatie.
    • Voer azure-aanmelding uit om u aan te melden bij Azure.
    • Voer de lijst met azure-VM's uit om alle virtuele machines weer te geven die u in Azure hebt.
  • Een opslagaccount voor het opslaan van de gegevens. U hebt een opslagaccountnaam nodig die eerder is gemaakt en een toegangssleutel om de gegevens te uploaden naar uw opslag.

Gebruik de Azure CLI-opdracht om de diagnostische Linux-extensie in te schakelen

Scenario 1. De extensie inschakelen met de standaardgegevensset

In versie 2.3 of hoger omvatten de standaardgegevens die worden verzameld:

  • Alle Rsyslog-gegevens (inclusief systeem-, beveiligings- en toepassingslogboeken).
  • Een kernset van basissysteemgegevens. Houd er rekening mee dat de volledige gegevensset wordt beschreven op de site van System Center Cross Platform Solutions. Als u extra gegevens wilt inschakelen, gaat u verder met de stappen in scenario's 2 en 3.

Stap 1. Maak een bestand met de naam PrivateConfig.json met de volgende inhoud:

{
    "storageAccountName" : "the storage account to receive data",
    "storageAccountKey" : "the key of the account"
}

Stap 2. Voer de Azure VM-extensieset uit vm_name LinuxDiagnostic Microsoft.OSTCExtensions 2.* --private-config-path PrivateConfig.json.

Scenario 2. De metrische gegevens van de prestatiemeter aanpassen

In deze sectie wordt beschreven hoe u de tabel met prestatie- en diagnostische gegevens aanpast.

Stap 1. Maak een bestand met de naam PrivateConfig.json met de inhoud die is beschreven in Scenario 1. Maak ook een bestand met de naam PublicConfig.json. Geef de specifieke gegevens op die u wilt verzamelen.

Raadpleeg de site System Center Cross Platform Solutions voor alle ondersteunde providers en variabelen. U kunt meerdere query's hebben en opslaan in meerdere tabellen door meer query's toe te voegen aan het script.

Standaard worden de Rsyslog-gegevens altijd verzameld.

{
      "perfCfg":
      [
          {
              "query" : "SELECT PercentAvailableMemory, AvailableMemory, UsedMemory ,PercentUsedSwap FROM SCX_MemoryStatisticalInformation",
              "table" : "LinuxMemory"
          }
      ]
}

Stap 2. Voer de Azure VM-extensieset uit vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Scenario 3. Uw eigen logboekbestanden uploaden

In deze sectie wordt beschreven hoe u specifieke logboekbestanden verzamelt en uploadt naar uw opslagaccount. U moet zowel het pad naar het logboekbestand als de naam van de tabel opgeven waarin u het logboek wilt opslaan. U kunt meerdere logboekbestanden maken door meerdere bestands-/tabelvermeldingen toe te voegen aan het script.

Stap 1. Maak een bestand met de naam PrivateConfig.json met de inhoud die is beschreven in Scenario 1. Maak vervolgens een ander bestand met de naam PublicConfig.json met de volgende inhoud:

{
    "fileCfg" :
    [
        {
            "file" : "/var/log/mysql.err",
            "table" : "mysqlerr"
            }
    ]
}

Stap 2. Voer azure vm extension set vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json uit.

Houd er rekening mee dat met deze instelling voor de extensieversies vóór 2.3 alle logboeken waarnaar wordt geschreven /var/log/mysql.err , mogelijk worden gedupliceerd naar /var/log/syslog (of /var/log/messages afhankelijk van de Linux-distributie). Als u deze dubbele logboekregistratie wilt voorkomen, kunt u logboekregistratie van local6 faciliteitslogboeken uitsluiten in uw rsyslog-configuratie. Het is afhankelijk van de Linux-distributie, maar op een Ubuntu 14.04-systeem is het bestand dat moet worden gewijzigd /etc/rsyslog.d/50-default.conf en kunt u de regel *.*;auth,authpriv.none -/var/log/syslog vervangen door *.*;auth,authpriv,local6.none -/var/log/syslog. Dit probleem is opgelost in de nieuwste hotfixversie van 2.3 (2.3.9007), dus als u de extensieversie 2.3 hebt, zou dit probleem niet mogen optreden. Als de vm nog steeds wordt gestart, neemt u contact met ons op en helpt u ons bij het oplossen van problemen met de reden waarom de nieuwste hotfixversie niet automatisch wordt geïnstalleerd.

Scenario 4. Voorkomen dat de extensie logboeken verzamelt

In deze sectie wordt beschreven hoe u de extensie kunt stoppen met het verzamelen van logboeken. Houd er rekening mee dat het bewakingsagentproces nog steeds actief is, zelfs met deze herconfiguratie. Als u het proces van de bewakingsagent volledig wilt stoppen, kunt u dit doen door de extensie uit te schakelen. De opdracht om de extensie uit te schakelen is azure vm extension set --disable <vm_name> LinuxDiagnostic Microsoft.OSTCExtensions '2.*'.

Stap 1. Maak een bestand met de naam PrivateConfig.json met de inhoud die is beschreven in Scenario 1. Maak een ander bestand met de naam PublicConfig.json met de volgende inhoud:

{
    "perfCfg" : [],
    "enableSyslog" : "false"
}

Stap 2. Voer de Azure VM-extensieset uit vm_name LinuxDiagnostic Microsoft.OSTCExtensions '2.*' --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Uw gegevens controleren

De prestatie- en diagnostische gegevens worden opgeslagen in een Azure Storage-tabel. Lees hoe u Azure Table Storage van Ruby gebruikt om te leren hoe u toegang krijgt tot de gegevens in de opslagtabel met behulp van Azure CLI-scripts.

Daarnaast kunt u de volgende UI-hulpprogramma's gebruiken om toegang te krijgen tot de gegevens:

  1. Visual Studio Server Explorer. Ga naar uw opslagaccount. Nadat de VIRTUELE machine ongeveer vijf minuten is uitgevoerd, ziet u de vier standaardtabellen: 'LinuxCpu', 'LinuxDisk', 'LinuxMemory' en 'Linuxsyslog'. Dubbelklik op de tabelnamen om de gegevens weer te geven.
  2. Azure Storage Explorer.

image

Als u fileCfg of perfCfg hebt ingeschakeld (zoals beschreven in scenario's 2 en 3), kunt u Visual Studio Server Explorer en Azure Storage Explorer gebruiken om niet-standaardgegevens weer te geven.

Bekende problemen

  • De Rsyslog-gegevens en het door de klant opgegeven logboekbestand kunnen alleen worden geopend via scripts.