Rozwiązywanie problemów z agentem aktualizacji systemu Linux

Istnieje wiele powodów, dla których maszyna nie jest wyświetlana jako gotowa (w dobrej kondycji) w rozwiązaniu Update Management. Aby określić podstawowy problem, możesz sprawdzić kondycję hybrydowego agenta roboczego elementu Runbook systemu Linux. Poniżej przedstawiono trzy stany gotowości maszyny:

  • Gotowe: hybrydowy proces roboczy elementu Runbook został wdrożony i ostatni raz był widziany mniej niż godzinę temu.
  • Rozłączone: hybrydowy proces roboczy elementu Runbook został wdrożony i ostatni raz był widziany ponad godzinę temu.
  • Nieskonfigurowane: hybrydowy proces roboczy elementu Runbook nie został znaleziony lub nie został ukończony wdrożenie.

Uwaga

Może wystąpić niewielkie opóźnienie między tym, co pokazuje witryna Azure Portal, a bieżącym stanem maszyny.

W tym artykule omówiono sposób uruchamiania narzędzia do rozwiązywania problemów dla maszyn platformy Azure z witryny Azure Portal i maszyn spoza platformy Azure w scenariuszu offline.

Uwaga

Skrypt narzędzia do rozwiązywania problemów obecnie nie kieruje ruchu przez serwer proxy, jeśli został skonfigurowany.

Uruchamianie narzędzia do rozwiązywania problemów

W przypadku maszyn platformy Azure wybierz link rozwiązywania problemów w kolumnie Gotowość agenta aktualizacji w portalu, aby otworzyć stronę Rozwiązywanie problemów z agentem aktualizacji. W przypadku maszyn spoza platformy Azure link prowadzi do tego artykułu. Aby rozwiązać problemy z maszyną spoza platformy Azure, zobacz instrukcje w sekcji Rozwiązywanie problemów z trybem offline .

Screenshot of VM list page.

Uwaga

Testy wymagają uruchomienia maszyny wirtualnej. Jeśli maszyna wirtualna nie jest uruchomiona, zostanie wyświetlona funkcja Uruchom maszynę wirtualną .

Na stronie Rozwiązywanie problemów z agentem aktualizacji wybierz pozycję Uruchom testy , aby uruchomić narzędzie do rozwiązywania problemów. Narzędzie do rozwiązywania problemów używa polecenia Uruchom, aby uruchomić skrypt na maszynie w celu zweryfikowania zależności. Po ich zakończeniu narzędzie rozwiązywania problemów zwraca wynik testów.

Screenshot of Troubleshoot page.

Po zakończeniu sprawdzania wyniki są zwracane w oknie. Sekcje sprawdzania zawierają informacje na temat tego, czego szuka każdy test.

Screenshot of Linux Troubleshooter.

Sprawdzanie wymagań wstępnych

System operacyjny

Sprawdzanie systemu operacyjnego sprawdza, czy hybrydowy proces roboczy elementu Runbook jest uruchomiony w jednym z obsługiwanych systemów operacyjnych.

Sprawdzanie kodu Dmidecode

Aby sprawdzić, czy maszyna wirtualna jest maszyną wirtualną platformy Azure, sprawdź wartość tagu zasobu przy użyciu poniższego polecenia:

sudo dmidecode

Jeśli tag zasobu jest inny niż 7783-7084-3265-9085-8269-3286-77, uruchom ponownie maszynę wirtualną, aby zainicjować ponowną rejestrację.

Monitorowanie kontroli kondycji usługi agenta

Agent monitorowania

Aby rozwiązać ten problem, zainstaluj agenta systemu Linux usługi Azure Log Analytics i upewnij się, że komunikuje wymagane punkty końcowe. Aby uzyskać więcej informacji, zobacz Instalowanie agenta usługi Log Analytics na komputerach z systemem Linux.

To zadanie sprawdza, czy folder jest obecny —

/etc/opt/microsoft/omsagent/conf/omsadmin.conf

Stan agenta monitorowania

Aby rozwiązać ten problem, należy uruchomić usługę agenta pakietu OMS przy użyciu następującego polecenia:

 sudo /opt/microsoft/omsagent/bin/service_control restart

Aby sprawdzić poprawność, możesz przeprowadzić sprawdzanie procesu przy użyciu poniższego polecenia:

process_name="omsagent"
ps aux | grep %s | grep -v grep" % (process_name)"

Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z agentem usługi Log Analytics dla systemu Linux

Multihoming

Ta kontrola określa, czy agent raportuje do wielu obszarów roboczych. Rozwiązanie Update Management nie obsługuje multihomingu.

Aby rozwiązać ten problem, przeczyść agenta pakietu OMS całkowicie i ponownie zainstaluj go z obszarem roboczym połączonym z rozwiązaniem Update Management

Sprawdź, czy nie ma już funkcji multihoming, sprawdzając katalogi pod tą ścieżką:

/var/opt/microsoft/omsagent.

Ponieważ są katalogami obszarów roboczych, liczba katalogów jest równa liczbie obszarów roboczych, które są dołączane do pakietu OMSAgent.

Hybrydowy proces roboczy elementu Runbook

Aby rozwiązać ten problem, uruchom następujące polecenie:

sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/PerformRequiredConfigurationChecks.py'

To polecenie wymusza, aby agent omsconfig rozmawiał z usługą Azure Monitor i pobierał najnowszą konfigurację.

Sprawdź, czy istnieją następujące dwie ścieżki:

/opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/VERSION </br> /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/configuration.py

Stan hybrydowego procesu roboczego elementu Runbook

Ta kontrola zapewnia, że hybrydowy proces roboczy elementu Runbook jest uruchomiony na maszynie. Procesy przedstawione w poniższym przykładzie powinny być obecne, jeśli hybrydowy proces roboczy elementu Runbook działa poprawnie.

ps -ef | grep python
nxautom+   8567      1  0 14:45 ?        00:00:00 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/main.py /var/opt/microsoft/omsagent/state/automationworker/oms.conf rworkspace:<workspaceId> <Linux hybrid worker version>
nxautom+   8593      1  0 14:45 ?        00:00:02 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/hybridworker.py /var/opt/microsoft/omsagent/state/automationworker/worker.conf managed rworkspace:<workspaceId> rversion:<Linux hybrid worker version>
nxautom+   8595      1  0 14:45 ?        00:00:02 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/hybridworker.py /var/opt/microsoft/omsagent/<workspaceId>/state/automationworker/diy/worker.conf managed rworkspace:<workspaceId> rversion:<Linux hybrid worker version>

Rozwiązanie Update Management pobiera pakiety hybrydowego procesu roboczego elementu Runbook z punktu końcowego operacji. W związku z tym, jeśli hybrydowy proces roboczy elementu Runbook nie jest uruchomiony i sprawdzanie punktu końcowego operacji zakończy się niepowodzeniem, aktualizacja może zakończyć się niepowodzeniem.

Aby rozwiązać ten problem, uruchom następujące polecenie:

sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/PerformRequiredConfigurationChecks.py'

To polecenie wymusza, aby agent omsconfig rozmawiał z usługą Azure Monitor i pobierał najnowszą konfigurację.

Jeśli problem nadal występuje, uruchom narzędzie modułu zbierającego dzienniki omsagent

Sprawdzanie łączności

Sprawdzanie włączonego serwera proxy

Aby rozwiązać ten problem, usuń serwer proxy lub upewnij się, że adres serwera proxy może uzyskać dostęp do adresu URL wymagań wstępnych.

Zadanie można zweryfikować, uruchamiając poniższe polecenie:

HTTP_PROXY

Sprawdzanie łączności usług IMDS

Aby rozwiązać ten problem, zezwól na dostęp do adresu IP 169.254.169.254. Aby uzyskać więcej informacji, zobacz Access Azure Instance Metadata Service (Uzyskiwanie dostępu do usługi Azure Instance Metadata Service)

Po zmianie sieci możesz ponownie uruchomić narzędzie do rozwiązywania problemów lub uruchomić poniższe polecenia, aby sprawdzić poprawność:

 curl -H \"Metadata: true\" http://169.254.169.254/metadata/instance?api-version=2018-02-01

Ogólna łączność z Internetem

Ta kontrola zapewnia, że komputer ma dostęp do Internetu i można go zignorować, jeśli zablokowano Internet i dozwolone tylko określone adresy URL.

Program CURL w dowolnym adresie URL http.

Punkt końcowy rejestracji

Ta kontrola określa, czy hybrydowy proces roboczy elementu Runbook może prawidłowo komunikować się z usługą Azure Automation w obszarze roboczym usługi Log Analytics.

Konfiguracje serwera proxy i zapory muszą zezwalać agentowi hybrydowego procesu roboczego elementu Runbook na komunikację z punktem końcowym rejestracji. Aby uzyskać listę adresów i portów do otwarcia, zobacz Planowanie sieci

Rozwiąż ten problem, zezwalając na wstępne adresy URL. Aby uzyskać więcej informacji, zobacz Update Management i Śledzenie zmian i spis

Opublikuj zmiany w sieci, które można ponownie uruchomić narzędzie do rozwiązywania problemów lub program CURL w podanym punkcie końcowym narzędzia jrds.

Punkt końcowy operacji

Ta kontrola określa, czy agent usługi Log Analytics może prawidłowo komunikować się z usługą danych środowiska uruchomieniowego zadania.

Konfiguracje serwera proxy i zapory muszą zezwalać agentowi hybrydowego procesu roboczego elementu Runbook na komunikowanie się z usługą danych środowiska uruchomieniowego zadania. Aby uzyskać listę adresów i portów do otwarcia, zobacz Planowanie sieci.

Punkt końcowy usługi Log Analytics 1

Ta kontrola sprawdza, czy maszyna ma dostęp do punktów końcowych wymaganych przez agenta usługi Log Analytics.

Rozwiąż ten problem, zezwalając na wstępne adresy URL.

Po wprowadzeniu zmian w sieci można ponownie uruchomić narzędzie do rozwiązywania problemów lub narzędzie Curl w podanym punkcie końcowym ODS.

Punkt końcowy usługi Log Analytics 2

Ta kontrola sprawdza, czy maszyna ma dostęp do punktów końcowych wymaganych przez agenta usługi Log Analytics.

Rozwiąż ten problem, zezwalając na wstępne adresy URL.

Po wprowadzeniu zmian w sieci można ponownie uruchomić narzędzie do rozwiązywania problemów lub narzędzie Curl w podanym punkcie końcowym pakietu OMS

Repozytoria oprogramowania

Rozwiąż ten problem, zezwalając na adres URL wstępnie wymaganego repozytorium. W przypadku systemu RHEL zobacz tutaj.

Po wprowadzeniu zmian w sieci można ponownie uruchomić narzędzie do rozwiązywania problemów lub

Narzędzie Curl w repozytoriach oprogramowania skonfigurowanych w menedżerze pakietów.

Odświeżanie repozytoriów pomogłoby potwierdzić komunikację.

sudo apt-get check
sudo yum check-update

Uwaga

Sprawdzanie jest dostępne tylko w trybie offline.

Rozwiązywanie problemów w trybie offline

Narzędzie do rozwiązywania problemów można używać w trybie offline w hybrydowym procesie roboczym elementu Runbook, uruchamiając skrypt lokalnie. Skrypt języka Python, UM_Linux_Troubleshooter_Offline.py, można znaleźć w witrynie GitHub.

Uwaga

Bieżąca wersja skryptu narzędzia do rozwiązywania problemów nie obsługuje systemu Ubuntu 20.04.

Przykładowe dane wyjściowe tego skryptu przedstawiono w poniższym przykładzie:

Debug: Machine Information:   Static hostname: LinuxVM2
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 00000000000000000000000000000000
           Boot ID: 00000000000000000000000000000000
    Virtualization: microsoft
  Operating System: Ubuntu 16.04.5 LTS
            Kernel: Linux 4.15.0-1025-azure
      Architecture: x86-64


Passed: Operating system version is supported

Passed: Microsoft Monitoring agent is installed

Debug: omsadmin.conf file contents:
        WORKSPACE_ID=00000000-0000-0000-0000-000000000000
        AGENT_GUID=00000000-0000-0000-0000-000000000000
        LOG_FACILITY=local0
        CERTIFICATE_UPDATE_ENDPOINT=https://00000000-0000-0000-0000-000000000000.oms.opinsights.azure.com/ConfigurationService.Svc/RenewCertificate
        URL_TLD=opinsights.azure.com
        DSC_ENDPOINT=https://scus-agentservice-prod-1.azure-automation.net/Accou            nts/00000000-0000-0000-0000-000000000000/Nodes\(AgentId='00000000-0000-0000-0000-000000000000'\)
        OMS_ENDPOINT=https://00000000-0000-0000-0000-000000000000.ods.opinsights            .azure.com/OperationalData.svc/PostJsonDataItems
        AZURE_RESOURCE_ID=/subscriptions/00000000-0000-0000-0000-000000000000/re            sourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/linuxvm            2
        OMSCLOUD_ID=0000-0000-0000-0000-0000-0000-00
        UUID=00000000-0000-0000-0000-000000000000


Passed: Microsoft Monitoring agent is running

Passed: Machine registered with log analytics workspace:['00000000-0000-0000-0000-000000000000']

Passed: Hybrid worker package is present

Passed: Hybrid worker is running

Passed: Machine is connected to internet

Passed: TCP test for {scus-agentservice-prod-1.azure-automation.net} (port 443)             succeeded

Passed: TCP test for {eus2-jobruntimedata-prod-su1.azure-automation.net} (port 4            43) succeeded

Passed: TCP test for {00000000-0000-0000-0000-000000000000.ods.opinsights.azure.            com} (port 443) succeeded

Passed: TCP test for {00000000-0000-0000-0000-000000000000.oms.opinsights.azure.            com} (port 443) succeeded

Passed: TCP test for {ods.systemcenteradvisor.com} (port 443) succeeded

Następne kroki

Rozwiązywanie problemów z hybrydowym procesem roboczym elementu Runbook.