Rozwiązywanie problemów z usługą Azure Chaos Studio
W miarę korzystania z usługi Azure Chaos Studio czasami mogą wystąpić pewne problemy. W tym artykule opisano typowe problemy i kroki rozwiązywania problemów.
Ogólne wskazówki dotyczące rozwiązywania problemów
Podczas rozwiązywania problemów z programem Chaos Studio przydatne są następujące źródła:
- Dziennik aktywności: dziennik aktywności platformy Azure zawiera rekord wszystkich operacji tworzenia, aktualizowania i usuwania w subskrypcji. Te rekordy obejmują operacje programu Chaos Studio, takie jak włączanie elementu docelowego lub możliwości, instalowanie agenta i tworzenie lub uruchamianie eksperymentu. Błędy w dzienniku aktywności wskazują, że wykonanie akcji użytkownika niezbędnej do korzystania z programu Chaos Studio mogło zakończyć się niepowodzeniem. Większość błędów bezpośrednich usług również wprowadza błędy, wykonując operację usługi Azure Resource Manager, dlatego dziennik aktywności zawiera również rekord błędów, które zostały wprowadzone podczas eksperymentu dla niektórych błędów bezpośrednich usługi.
- Szczegóły eksperymentu: szczegóły wykonania eksperymentu pokazują stan i błędy pojedynczego przebiegu eksperymentu. Otwarcie określonego błędu w szczegółach eksperymentu pokazuje zasoby, które zakończyły się niepowodzeniem, oraz komunikaty o błędach dla błędu. Dowiedz się więcej na temat uzyskiwania dostępu do szczegółów eksperymentu.
- Dzienniki agentów: jeśli używasz błędu opartego na agencie, może być konieczne połączenie RDP lub SSH z maszyną wirtualną, aby zrozumieć, dlaczego agent nie mógł uruchomić błędu. Instrukcje dotyczące uzyskiwania dostępu do dzienników agenta zależą od systemu operacyjnego:
- Agent systemu Windows chaosu: dzienniki agenta znajdują się w dzienniku zdarzeń systemu Windows w kategorii Aplikacja ze źródłem
AzureChaosAgent
. Agent dodaje działania błędów i regularne sprawdzanie kondycji (możliwość uwierzytelniania i komunikowania się z usługą agenta Chaos Studio) do tego dziennika. - Agent chaosu systemu Linux: agent systemu Linux używa systemu do zarządzania procesem agenta jako usługą systemu Linux. Aby wyświetlić dziennik systemowy agenta (zdarzenia zarejestrowane przez usługę agenta), uruchom polecenie
journalctl -u azure-chaos-agent
.
- Agent systemu Windows chaosu: dzienniki agenta znajdują się w dzienniku zdarzeń systemu Windows w kategorii Aplikacja ze źródłem
- Stan rozszerzenia maszyny wirtualnej: jeśli używasz błędu opartego na agencie, sprawdź, czy rozszerzenie maszyny wirtualnej jest zainstalowane i w dobrej kondycji. W witrynie Azure Portal przejdź do maszyny wirtualnej i przejdź do pozycji Rozszerzenia lub Rozszerzenia i aplikacje.
ChaosAgent
Wybierz rozszerzenie i poszukaj następujących pól:- Stan powinien zawierać wartość Aprowizacja powiodła się. Każdy inny stan wskazuje, że nie można zainstalować agenta. Sprawdź, czy spełniasz wszystkie wymagania systemowe. Spróbuj ponownie zainstalować agenta.
- Stan programu obsługi powinien mieć wartość Gotowe. Każdy inny stan wskazuje, że agent jest zainstalowany, ale nie może nawiązać połączenia z programem Chaos Studio. Sprawdź, czy zostały spełnione wszystkie wymagania sieciowe i czy tożsamość zarządzana przypisana przez użytkownika została dodana do maszyny wirtualnej. Spróbuj ponownie uruchomić.
Problemy podczas dodawania zasobu
Podczas dodawania zasobu mogą wystąpić następujące problemy.
Zasoby nie są wyświetlane na liście obiektów docelowych w witrynie Azure Portal
Jeśli nie widzisz zasobów, które chcesz włączyć na liście obiektów docelowych usługi Chaos Studio, może to być spowodowane jednym z następujących problemów:
- Zasoby nie są w obsługiwanym regionie usługi Chaos Studio.
- Zasoby nie są obsługiwanego typu zasobu usługi Chaos Studio.
- Zasoby znajdują się w subskrypcji lub grupie zasobów odfiltrowanej przez filtry listy docelowej. Zmień filtry subskrypcji i grupy zasobów, aby zobaczyć swoje zasoby.
Włączanie elementu docelowego lub możliwości kończy się niepowodzeniem lub nie jest wyświetlane poprawnie na liście docelowej
Jeśli widzisz błąd podczas włączania celów lub możliwości, spróbuj wykonać następujące kroki:
- Sprawdź, czy masz odpowiednie uprawnienia do dodawanych zasobów. Włączenie celu lub możliwości wymaga uprawnienia Microsoft.Chaos/* w zakresie zasobu. Wbudowane role, takie jak Współautor, mają uprawnienia do odczytu i zapisu z symbolami wieloznacznymi, które obejmują uprawnienia do wszystkich operacji Microsoft.Chaos.
- Zaczekaj kilka minut na zaktualizowanie celów i możliwości. Witryna Azure Portal używa usługi Azure Resource Graph do zbierania informacji na temat dodawania celów i możliwości. Rozpowszechnienie zmian może zająć do pięciu minut.
- Jeśli zasób nadal ma wartość Nie włączono, spróbuj wykonać następujące czynności:
- Spróbuj ponownie włączyć zasób.
- Jeśli włączenie zasobów nadal kończy się niepowodzeniem, przejdź do dziennika aktywności i znajdź nieudaną operację tworzenia docelowego, aby wyświetlić szczegółowe informacje o błędzie.
- Jeśli zasób zawiera wartość Włączone , ale dodawanie możliwości nie powiodło się, spróbuj wykonać następujące czynności:
- Wybierz pozycję Zarządzaj akcjami na liście obiektów docelowych. Sprawdź wszystkie możliwości, które nie zostały zaznaczone, i wybierz pozycję Zapisz.
- Jeśli włączenie możliwości nadal kończy się niepowodzeniem, przejdź do dziennika aktywności i znajdź nieudaną operację tworzenia obiektu docelowego, aby wyświetlić szczegółowe informacje o błędzie.
Problemy z wymaganiami wstępnymi
Niektóre problemy są spowodowane brakującymi wymaganiami wstępnymi.
Błędy oparte na agencie kończą się niepowodzeniem na maszynie wirtualnej
Błędy oparte na agencie mogą zakończyć się niepowodzeniem z różnych powodów związanych z brakującymi wymaganiami wstępnymi:
- Na maszynach wirtualnych z systemem Linux obciążenie procesora CPU, wykorzystanie pamięci fizycznej, ciśnienie we/wy dysku i dowolne błędy Stress-ng Stress wymagają zainstalowania narzędzia stress-ng na maszynie wirtualnej. Aby uzyskać więcej informacji na temat sposobu instalowania narzędzia stress-ng, zobacz sekcje wymagań wstępnych dotyczących błędów.
- Na maszynach wirtualnych z systemem Linux lub Windows tożsamość zarządzana przypisana przez użytkownika podczas włączania docelowego opartego na agencie musi być również dodana do maszyny wirtualnej.
- Na maszynach wirtualnych z systemem Linux lub Windows tożsamość zarządzana przypisana przez system dla eksperymentu musi mieć rolę Czytelnik na maszynie wirtualnej. (Pozornie podniesione role, takie jak Współautor maszyny wirtualnej, nie zawierają operacji */Odczytu, która jest niezbędna dla agenta Programu Chaos Studio w celu odczytania docelowego zasobu serwera proxy microsoft-agent na maszynie wirtualnej).
Agent chaosu nie zostanie zainstalowany w zestawach skalowania maszyn wirtualnych
Zainstalowanie agenta Chaosu w zestawach skalowania maszyn wirtualnych może zakończyć się niepowodzeniem bez wyświetlania błędu, jeśli zasady uaktualniania zestawu skalowania maszyn wirtualnych są ustawione na Ręczne. Aby sprawdzić zasady uaktualniania zestawu skalowania maszyn wirtualnych:
- Zaloguj się w witrynie Azure Portal.
- Wybierz Zestaw skalowania maszyny wirtualnej.
- W okienku po lewej stronie wybierz pozycję Zasady uaktualniania.
- Sprawdź tryb uaktualniania, aby sprawdzić, czy jest ustawiona wartość Ręczna — istniejące wystąpienia muszą zostać uaktualnione ręcznie.
Jeśli zasady uaktualniania są ustawione na Ręczne, należy uaktualnić wystąpienia usługi Azure Virtual Machine Scale Sets, aby można było zakończyć instalację agenta Chaos.
Uaktualnianie wystąpień z witryny Azure Portal
Wystąpienia usługi Virtual Machine Scale Sets można uaktualnić z witryny Azure Portal:
- Zaloguj się w witrynie Azure Portal.
- Wybierz Zestaw skalowania maszyny wirtualnej.
- W okienku po lewej stronie wybierz pozycję Wystąpienia.
- Wybierz wszystkie wystąpienia i wybierz pozycję Uaktualnij.
Uaktualnianie wystąpień za pomocą interfejsu wiersza polecenia platformy Azure
Wystąpienia usługi Virtual Machine Scale Sets można uaktualnić za pomocą interfejsu wiersza polecenia platformy Azure:
Z poziomu interfejsu wiersza polecenia platformy Azure użyj polecenia
az vmss update-instances
, aby ręcznie uaktualnić wystąpienia:az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids {instanceIds}
Aby uzyskać więcej informacji, zobacz Bring VMs up to date with the latest scale set model (Przenoszenie maszyn wirtualnych do najnowszego modelu zestawu skalowania).
Błędy usługi AKS Chaos Mesh kończą się niepowodzeniem
Błędy usługi Azure Kubernetes Service (AKS) Chaos Mesh mogą zakończyć się niepowodzeniem z różnych powodów związanych z brakującymi wymaganiami wstępnymi:
- Usługa Chaos Mesh musi być najpierw zainstalowana w klastrze usługi AKS przed użyciem błędów usługi AKS Chaos Mesh. Aby uzyskać instrukcje, zobacz samouczek dotyczący błędów usługi Chaos Mesh w usłudze AKS.
- Chaos Mesh musi być w wersji 2.0.4 lub nowszej. Wersję usługi Chaos Mesh można uzyskać, łącząc się z klastrem usługi AKS i uruchamiając polecenie
helm version chaos-mesh
. - Usługa Chaos Mesh musi być zainstalowana z przestrzenią nazw
chaos-testing
. Inne nazwy przestrzeni nazw dla usługi Chaos Mesh nie są obsługiwane. - Rola administratora klastra usługi AKS musi być przypisana do przypisanej przez system tożsamości zarządzanej na potrzeby eksperymentu chaosu.
Problemy podczas tworzenia lub projektowania eksperymentu
Podczas tworzenia lub projektowania eksperymentu mogą wystąpić problemy.
Po dodaniu błędu mój zasób nie jest wyświetlany na liście Zasoby docelowe
Jeśli podczas dodawania błędu nie widzisz zasobu docelowego z błędem na liście Zasoby docelowe, przyczyną może być dowolny z następujących problemów:
- Filtr Subskrypcji jest ustawiony tak, aby wykluczyć subskrypcję, w której wdrożono element docelowy. Wybierz filtr subskrypcji i zmodyfikuj wybrane subskrypcje.
- Zasób nie został jeszcze dodany. Przejdź do widoku Wartości docelowe i włącz element docelowy. Następnie zamknij okienko Dodaj awarię i otwórz je ponownie, aby wyświetlić zaktualizowaną listę wartości docelowych.
- Zasób nie został jeszcze włączony dla typu docelowego tej usterki. Zobacz Bibliotekę usterek, aby zobaczyć, który typ docelowy jest używany dla tej usterki. Następnie przejdź do widoku Cele i włącz ten typ docelowy. Typ jest oparty na agencie dla usterek microsoft-agent lub na usłudze bezpośredniej dla wszystkich innych typów docelowych. Następnie zamknij okienko Dodaj awarię i otwórz je ponownie, aby wyświetlić zaktualizowaną listę wartości docelowych.
- Zasób nie ma jeszcze możliwości włączenia tej usterki. Zobacz bibliotekę błędów, aby wyświetlić nazwę możliwości błędu. Następnie przejdź do widoku Wartości docelowe i wybierz pozycję Zarządzaj akcjami w zasobie docelowym. Zaznacz pole wyboru dla możliwości odpowiadającej usterce, którą próbujesz uruchomić, i wybierz pozycję Zapisz. Następnie zamknij okienko Dodaj awarię i otwórz je ponownie, aby wyświetlić zaktualizowaną listę wartości docelowych.
- Zasób został niedawno dodany i nie został jeszcze wyświetlony w widoku Resource Graph. Lista Zasoby docelowe jest odpytywane z poziomu usługi Resource Graph. Po włączeniu nowej wartości docelowej może upłynąć do pięciu minut, aby aktualizacja została rozpropagowana do widoku Resource Graph. Poczekaj kilka minut, a następnie otwórz ponownie okienko Dodaj błąd .
Podczas tworzenia eksperymentu występuje błąd "Dostawca microsoft:agent wymaga tożsamości zarządzanej"
Ten błąd występuje, gdy agent nie został wdrożony na maszynie wirtualnej. Aby uzyskać instrukcje dotyczące instalacji, zobacz Tworzenie i uruchamianie eksperymentu korzystającego z błędów opartych na agencie.
Podczas tworzenia eksperymentu występuje błąd "Typ nośnika zawartości "null" nie jest obsługiwany. Obsługiwane są tylko pliki "application/json"
Ten błąd może wystąpić, jeśli tworzysz eksperyment przy użyciu szablonu usługi Azure Resource Manager lub interfejsu API REST programu Chaos Studio. Błąd wskazuje, że w definicji eksperymentu występuje źle sformułowany kod JSON. Sprawdź, czy występują błędy składniowe, takie jak niedopasowane nawiasy klamrowe lub nawiasy kwadratowe ({} i []). Aby to sprawdzić, użyj lintera JSON, takiego jak Visual Studio Code.
Problemy podczas uruchamiania eksperymentu
Podczas uruchamiania eksperymentu mogą wystąpić problemy.
Stan wykonania mojego eksperymentu po uruchomieniu to "Niepowodzenie"
Z listy Eksperymenty w witrynie Azure Portal wybierz nazwę eksperymentu, aby wyświetlić przegląd eksperymentu. W sekcji Historia wybierz pozycję Szczegóły obok przebiegu eksperymentu, który zakończył się niepowodzeniem, aby wyświetlić szczegółowe informacje o błędzie.
Alternatywnie użyj interfejsu API REST, aby uzyskać szczegóły wykonania eksperymentu. Dowiedz się więcej w przykładowym artykule dotyczącym interfejsu API REST.
az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}"
Mój błąd oparty na agencie zakończył się niepowodzeniem z powodu błędu "Sprawdź, czy element docelowy został poprawnie dodany, a odpowiednie uprawnienia do odczytu są udostępniane tożsamości usługi zarządzanej eksperymentu"
Ten błąd może wystąpić, jeśli agent został dodany przy użyciu witryny Azure Portal, który ma znany problem. Włączenie elementu docelowego opartego na agencie nie powoduje przypisania tożsamości zarządzanej przypisanej przez użytkownika do maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych.
Aby rozwiązać ten problem, przejdź do maszyny wirtualnej lub zestawu skalowania maszyn wirtualnych w witrynie Azure Portal i przejdź do pozycji Tożsamość. Otwórz kartę Przypisano użytkownika i dodaj tożsamość przypisaną przez użytkownika do maszyny wirtualnej. Po zakończeniu może być konieczne ponowne uruchomienie maszyny wirtualnej, aby agent mógł się połączyć.
Błąd oparty na agencie zakończył się niepowodzeniem z powodu błędu "Agent wykonuje już inne zadanie"
Ten błąd wystąpi, jeśli spróbujesz uruchomić wiele błędów agenta w tym samym czasie. Obecnie agent obsługuje uruchamianie pojedynczego błędu agenta jednocześnie i zakończy się niepowodzeniem, jeśli zdefiniujesz eksperyment, który uruchamia wiele błędów agenta w tym samym czasie.
Eksperyment nie został uruchomiony lub nie powiodł się natychmiast
Po rozpoczęciu eksperymentu może zostać wyświetlony komunikat o błędzie, taki jak: The long-running operation has failed. InternalServerError. The target resource(s) could not be resolved. Error Code: OperationFailedException
. Zwykle oznacza to, że tożsamość eksperymentu nie ma niezbędnych uprawnień.
Aby rozwiązać ten błąd, upewnij się, że tożsamość zarządzana przypisana przez system lub przypisana przez użytkownika eksperymentu ma uprawnienia do wszystkich zasobów w eksperymencie. Dowiedz się więcej o uprawnieniach tutaj: Uprawnienia i zabezpieczenia w usłudze Azure Chaos Studio. Jeśli na przykład eksperyment jest przeznaczony dla maszyny wirtualnej, przejdź do strony tożsamości maszyny wirtualnej i przypisz rolę "Współautor maszyny wirtualnej" do tożsamości zarządzanej eksperymentu.
Eksperyment usługi AKS Chaos Mesh zakończył się niepowodzeniem
Istnieje kilka typowych błędów, które mogą wystąpić podczas korzystania z błędów usługi AKS Chaos Mesh.
Komunikat o błędzie | Sugerowane działania |
---|---|
Pobieranie poświadczeń statycznych jest niedozwolone, ponieważ ten klaster jest ustawiony na wyłączenie kont lokalnych. | Błędy usługi AKS Chaos Mesh mogą używać kont lokalnych kubernetes lub uwierzytelniania Microsoft Entra w wersji 2.2. Dowiedz się, jak migrować eksperymenty tutaj: Używanie uwierzytelniania firmy Microsoft Entra z błędami usługi Chaos Studio AKS. |
Nie można uruchomić eksperymentu usługi Chaos Mesh, ponieważ podana konfiguracja była nieprawidłowa | Upewnij się, że pole jsonSpec zawiera wszystkie wymagane pola. |
Wersja usługi Chaos Mesh "x.x.x" nie jest obecnie obsługiwana przez program Chaos Studio | Sprawdź zainstalowaną wersję na stronie zgodności wersji programu Azure Chaos Studio i prześlij żądanie funkcji, jeśli wymagana wersja nie jest wymieniona. |
Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu. | Jest to znana usterka z błędami w wersji 2.2. Oczekuje się, że poprawka zakończy wdrażanie na początku stycznia 2025 r. Dzieje się tak w przypadku korzystania z nowej wersji błędu usługi AKS Chaos Mesh (2.2) w klastrze z włączonymi kontami lokalnymi. Obejściem jest użycie błędów w wersji 2.1 oznaczonych jako "(przestarzałe)" w interfejsie użytkownika lub użycie klastra usługi AKS z włączonym uwierzytelnianiem Entra. |
Problemy podczas konfigurowania tożsamości zarządzanej
Gdy próbuję dodać tożsamość zarządzaną przypisaną przez system/przypisaną przez użytkownika do istniejącego eksperymentu, zapisywanie nie powiedzie się.
Jeśli próbujesz dodać tożsamość zarządzaną przypisaną przez użytkownika lub przypisaną przez system do eksperymentu, który ma już przypisaną tożsamość zarządzaną, eksperyment nie zostanie wdrożony. Musisz najpierw usunąć tożsamość zarządzaną przypisaną przez użytkownika lub tożsamość zarządzaną przypisaną przez system w żądanym eksperymencie przed dodaniem żądanej tożsamości zarządzanej.
Po uruchomieniu eksperymentu skonfigurowanego do automatycznego tworzenia i przypisywania roli niestandardowej występuje błąd "Nie można rozpoznać zasobów docelowych. ErrorCode: AccessDenied. Zasoby docelowe:"
Po wybraniu pola wyboru "Uprawnienia roli niestandardowej" dla eksperymentu program Chaos Studio tworzy i przypisuje rolę niestandardową z niezbędnymi uprawnieniami do tożsamości eksperymentu. Jednak podlega to następującym limitom przypisywania ról i definicji roli:
- Każda subskrypcja platformy Azure ma limit 4000 przypisań ról.
- Każda dzierżawa firmy Microsoft Entra ma limit 5000 definicji ról (lub 2000 definicji ról dla platformy Azure w Chinach).
Po osiągnięciu jednego z tych limitów wystąpi ten błąd. Aby obejść ten proces, należy ręcznie przyznać uprawnienia tożsamości eksperymentu.