Używanie rozszerzenia diagnostycznego systemu Linux do monitorowania wydajności i danych diagnostycznych maszyny wirtualnej z systemem Linux

Ważne

Klasyczne maszyny wirtualne zostaną wycofane 1 marca 2023 r.

Jeśli używasz zasobów IaaS z usługi ASM, przeprowadź migrację do 1 marca 2023 r. Zachęcamy do wcześniej przełączenia w celu skorzystania z wielu ulepszeń funkcji w usłudze Azure Resource Manager.

Aby uzyskać więcej informacji, zobacz Migrowanie zasobów IaaS do usługi Azure Resource Manager do 1 marca 2023 r.

W tym dokumencie opisano wersję 2.3 rozszerzenia diagnostycznego systemu Linux.

Ważne

Ta wersja jest przestarzała i może zostać wycofana w dowolnym momencie po 30 czerwca 2018 r. Został on zastąpiony wersją 3.0. Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą wersji 3.0 rozszerzenia diagnostycznego systemu Linux.

Wprowadzenie

(Uwaga: Rozszerzenie diagnostyczne systemu Linux jest typu open source w witrynie GitHub , gdzie po raz pierwszy opublikowano najnowsze informacje na temat rozszerzenia. Warto najpierw sprawdzić stronę usługi GitHub .

Rozszerzenie diagnostyczne systemu Linux ułatwia użytkownikowi monitorowanie maszyn wirtualnych z systemem Linux uruchomionych na platformie Microsoft Azure. Ma następujące możliwości:

  • Zbiera i przekazuje informacje o wydajności systemu z maszyny wirtualnej z systemem Linux do tabeli magazynu użytkownika, w tym informacje diagnostyczne i dziennika systemowego.
  • Umożliwia użytkownikom dostosowywanie metryk danych, które będą zbierane i przekazywane.
  • Umożliwia użytkownikom przekazywanie określonych plików dziennika do wyznaczonej tabeli magazynu.

W bieżącej wersji 2.3 dane obejmują:

To rozszerzenie współdziała zarówno z klasycznymi, jak i Resource Manager modelami wdrażania.

Bieżąca wersja rozszerzenia i wycofanie starych wersji

Najnowsza wersja rozszerzenia to 2.3, a wszystkie starsze wersje (2.0, 2.1 i 2.2) zostaną wycofane i nieopublikowane do końca tego roku (2017). Jeśli zainstalowano rozszerzenie diagnostyczne systemu Linux z wyłączonym automatycznym uaktualnieniem wersji pomocniczej, zdecydowanie zaleca się odinstalowanie rozszerzenia i ponowne zainstalowanie go z włączonym automatycznym uaktualnieniem wersji pomocniczej. W przypadku klasycznych maszyn wirtualnych (ASM) można to osiągnąć, określając wartość "2.*" jako wersję, jeśli instalujesz rozszerzenie za pomocą interfejsu wiersza polecenia platformy Azure XPLAT lub programu PowerShell. Na maszynach wirtualnych usługi ARM można to osiągnąć, włączając element "autoUpgradeMinorVersion": true" w szablonie wdrożenia maszyny wirtualnej. Ponadto każda nowa instalacja rozszerzenia powinna mieć włączoną opcję automatycznego uaktualniania wersji pomocniczej.

Włączanie rozszerzenia

To rozszerzenie można włączyć przy użyciu skryptów Azure Portal, Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.

Aby wyświetlić i skonfigurować dane dotyczące systemu i wydajności bezpośrednio z Azure Portal, wykonaj następujące kroki w blogu platformy Azure.

W tym artykule opisano sposób włączania i konfigurowania rozszerzenia przy użyciu poleceń interfejsu wiersza polecenia platformy Azure. Dzięki temu można odczytywać i wyświetlać dane bezpośrednio z tabeli magazynu.

Należy pamiętać, że opisane tutaj metody konfiguracji nie będą działać dla Azure Portal. Aby wyświetlić i skonfigurować dane dotyczące systemu i wydajności bezpośrednio z Azure Portal, rozszerzenie musi być włączone za pośrednictwem portalu.

Wymagania wstępne

  • Agent systemu Linux platformy Azure w wersji 2.0.6 lub nowszej.

    Należy pamiętać, że większość obrazów galerii maszyn wirtualnych platformy Azure z systemem Linux obejmuje wersję 2.0.6 lub nowszą. Możesz uruchomić polecenie WAAgent -version, aby potwierdzić, która wersja jest zainstalowana na maszynie wirtualnej. Jeśli maszyna wirtualna korzysta z wersji starszej niż 2.0.6, możesz wykonać w witrynie GitHub , aby ją zaktualizować.

  • Interfejs wiersza polecenia platformy Azure. Postępuj zgodnie z poniższymi wskazówkami dotyczącymi instalowania interfejsu wiersza polecenia , aby skonfigurować środowisko interfejsu wiersza polecenia platformy Azure na maszynie. Po zainstalowaniu interfejsu wiersza polecenia platformy Azure możesz użyć polecenia platformy Azure z poziomu interfejsu wiersza polecenia (Bash, Terminal lub wiersza polecenia), aby uzyskać dostęp do poleceń interfejsu wiersza polecenia platformy Azure. Przykład:

    • Uruchom zestaw rozszerzeń maszyn wirtualnych platformy Azure — pomoc , aby uzyskać szczegółowe informacje pomocy.
    • Uruchom logowanie do platformy Azure , aby zalogować się do platformy Azure.
    • Uruchom listę maszyn wirtualnych platformy Azure , aby wyświetlić listę wszystkich maszyn wirtualnych, które znajdują się na platformie Azure.
  • Konto magazynu do przechowywania danych. Do przekazania danych do magazynu potrzebna będzie nazwa konta magazynu, która została utworzona wcześniej, oraz klucz dostępu.

Użyj polecenia interfejsu wiersza polecenia platformy Azure, aby włączyć rozszerzenie diagnostyczne systemu Linux

Scenariusz 1. Włączanie rozszerzenia z domyślnym zestawem danych

W wersji 2.3 lub nowszej dane domyślne, które będą zbierane, obejmują:

  • Wszystkie informacje rsyslog (w tym dzienniki systemu, zabezpieczeń i aplikacji).
  • Podstawowy zestaw danych systemowych. Należy pamiętać, że pełny zestaw danych jest opisany w witrynie rozwiązania międzyplatformowe programu System Center. Jeśli chcesz włączyć dodatkowe dane, wykonaj kroki opisane w scenariuszach 2 i 3.

Krok 1. Utwórz plik o nazwie PrivateConfig.json z następującą zawartością:

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

Krok 2. Uruchom zestaw rozszerzeń maszyn wirtualnych platformy Azure vm_name LinuxDiagnostic Microsoft.OSTCExtensions 2.* --private-config-path PrivateConfig.json.

Scenariusz 2. Dostosowywanie metryk monitora wydajności

W tej sekcji opisano sposób dostosowywania tabeli danych dotyczących wydajności i diagnostyki.

Krok 1. Utwórz plik o nazwie PrivateConfig.json z zawartością opisaną w scenariuszu 1. Utwórz również plik o nazwie PublicConfig.json. Określ określone dane, które chcesz zebrać.

W przypadku wszystkich obsługiwanych dostawców i zmiennych zapoznaj się z witryną system Center Cross Platform Solutions. Możesz mieć wiele zapytań i przechowywać je w wielu tabelach, dołączając więcej zapytań do skryptu.

Domyślnie dane rsyslog są zawsze zbierane.

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

Krok 2. Uruchom zestaw rozszerzeń maszyn wirtualnych platformy Azure vm_name LinuxDiagnostic Microsoft.OSTCExtensions "2.*" --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Scenariusz 3. Przekazywanie własnych plików dziennika

W tej sekcji opisano sposób zbierania i przekazywania określonych plików dziennika na konto magazynu. Musisz określić zarówno ścieżkę do pliku dziennika, jak i nazwę tabeli, w której chcesz przechowywać dziennik. Możesz utworzyć wiele plików dziennika, dodając wiele wpisów pliku/tabeli do skryptu.

Krok 1. Utwórz plik o nazwie PrivateConfig.json z zawartością opisaną w scenariuszu 1. Następnie utwórz kolejny plik o nazwie PublicConfig.json z następującą zawartością:

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

Krok 2. Uruchom polecenie .

Należy pamiętać, że w przypadku tego ustawienia w wersjach rozszerzeń wcześniejszych niż 2.3 wszystkie dzienniki zapisywane /var/log/mysql.err w programie mogą być duplikowane do /var/log/syslog (lub /var/log/messages w zależności od dystrybucji systemu Linux). Jeśli chcesz uniknąć tego zduplikowanego rejestrowania, możesz wykluczyć rejestrowanie dzienników local6 obiektów w konfiguracji rsyslog. Zależy to od dystrybucji systemu Linux, ale w systemie Ubuntu 14.04 plik do zmodyfikowania jest /etc/rsyslog.d/50-default.conf i można zastąpić wiersz *.*;auth,authpriv.none -/var/log/syslog na *.*;auth,authpriv,local6.none -/var/log/syslog. Ten problem został rozwiązany w najnowszej wersji poprawki 2.3 (2.3.9007), więc jeśli masz rozszerzenie w wersji 2.3, ten problem nie powinien wystąpić. Jeśli maszyna wirtualna jest nadal uruchamiana ponownie, skontaktuj się z nami i pomóż nam rozwiązać problem z tym, dlaczego najnowsza wersja poprawki nie jest instalowana automatycznie.

Scenariusz 4. Zatrzymaj zbieranie dzienników przez rozszerzenie

W tej sekcji opisano sposób zatrzymywania zbierania dzienników przez rozszerzenie. Należy pamiętać, że proces agenta monitorowania będzie nadal działać nawet przy tej rekonfiguracji. Jeśli chcesz całkowicie zatrzymać proces agenta monitorowania, możesz to zrobić, wyłączając rozszerzenie. Polecenie wyłączania rozszerzenia to azure vm extension set --disable <vm_name> LinuxDiagnostic Microsoft.OSTCExtensions '2.*'.

Krok 1. Utwórz plik o nazwie PrivateConfig.json z zawartością opisaną w scenariuszu 1. Utwórz inny plik o nazwie PublicConfig.json z następującą zawartością:

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

Krok 2. Uruchom zestaw rozszerzeń maszyny wirtualnej platformy Azure vm_name LinuxDiagnostic Microsoft.OSTCExtensions "2.*" --private-config-path PrivateConfig.json --public-config-path PublicConfig.json.

Przeglądanie danych

Dane wydajności i diagnostyki są przechowywane w tabeli usługi Azure Storage. Zobacz Jak używać usługi Azure Table Storage z języka Ruby, aby dowiedzieć się, jak uzyskać dostęp do danych w tabeli magazynu przy użyciu skryptów interfejsu wiersza polecenia platformy Azure.

Ponadto do uzyskiwania dostępu do danych można użyć następujących narzędzi interfejsu użytkownika:

  1. Eksplorator programu Visual Studio Server. Przejdź do swojego konta magazynu. Po uruchomieniu maszyny wirtualnej przez około pięć minut zobaczysz cztery tabele domyślne: "LinuxCpu", "LinuxDisk", "LinuxMemory" i "Linuxsyslog". Kliknij dwukrotnie nazwy tabel, aby wyświetlić dane.
  2. Eksplorator usługi Azure Storage.

Obrazu

Jeśli włączono plikCfg lub perfCfg (zgodnie z opisem w scenariuszach 2 i 3), możesz użyć Eksploratora programu Visual Studio Server i Eksplorator usługi Azure Storage, aby wyświetlić dane inne niż domyślne.

Znane problemy

  • Dostęp do informacji rsyslog i pliku dziennika określonego przez klienta można uzyskać tylko za pośrednictwem skryptów.