AI SRE i AI DevOps w praktyce: jak za pomocą PandaSi Agent może centralnie zarządzać wieloma serwerami

AI SRE i AI DevOps można wdrożyć, zaczynając od jednolitego spisu serwerów i inspekcji tylko do odczytu. W tym artykule PandaSi łączy się z Agentem na maszynie zarządzającej, za pośrednictwem istniejącego SSH weryfikuje kolejno wiele serwerów, podsumowuje wyniki kontroli, a następnie wdraża zmiany zgodnie z procesem próbnego wdrożenia na pojedynczym serwerze, zatwierdzania partiami i wycofywania.

PandaSiPierwsza publikacja Zaktualizowano
AI SRE i AI DevOps w praktyce: jak za pomocą PandaSi Agent może centralnie zarządzać wieloma serwerami

Dzięki PandaSi Agent może centralnie zarządzać wieloma serwerami, zaczynając od jednej zatwierdzonej maszyny zarządzającej: na maszynie zarządzającej uruchamiasz PandaPaw i Agent, a Agent przez istniejący SSH, VPN lub bastion uzyskuje dostęp do celów z wyraźnej listy, weryfikuje tożsamość maszyna po maszynie, wykonuje zbiorczą inspekcję tylko do odczytu i podsumowuje wyniki; gdy potrzebne są zmiany, najpierw próbujesz na jednej maszynie, a potem wdrażasz partiami zgodnie z zatwierdzeniami. AI SRE koncentruje się na badaniu problemów z niezawodnością, AI DevOps na dostarczaniu i zmianach infrastruktury; oba wymagają weryfikowalnych dowodów i granic uprawnień.

PandaSi udostępnia punkt wejścia do sesji i zatwierdzeń między urządzeniami, PandaPaw łączy maszynę wykonawczą, a konkretne polecenia wykonuje wybrany Agent i jego narzędzia. Samo podłączenie nie oznacza uzyskania uprawnień do firmowych serwerów ani wdrożenia całodobowego monitoringu, automatycznego odbierania alertów lub systemu bezobsługowej naprawy. Poniższy tekst jest skierowany do deweloperów i osób zajmujących się utrzymaniem, które mają już uprawnienia do obsługi serwerów i chcą śledzić pracę z telefonu lub innego komputera; przeprowadza przez podłączenie maszyny zarządzającej, weryfikację wielu maszyn tylko do odczytu, podsumowanie wyników i etapowe zmiany partiami. Serwery można też instalować osobno, ale główny wątek wielu maszyn w tym artykule opiera się na wariancie z maszyną zarządzającą.

AI SRE i AI DevOps: w czym Agent ma pomagać w każdym z tych obszarów?

Zakresy pracy opisywane tymi pojęciami częściowo się pokrywają. W tym artykule rozumiemy je przez poniższy podział, a nie jako dwa produkty, które trzeba kupować osobno.

Wymiar AI SRE AI DevOps
Główne pytanie Czy usługa jest niezawodna, dlaczego wystąpiła awaria i jak przywrócić działanie oraz ograniczyć nawroty Jak bezpieczniej dostarczać oprogramowanie i zarządzać infrastrukturą
Typowe zadania Porządkowanie logów, korelowanie anomalii, sprawdzanie zależności, proponowanie działań przywracających, wspieranie przeglądu po incydencie Czytanie pipeline'ów, sprawdzanie konfiguracji wdrożeń, przygotowywanie zmian, analiza nieudanych wydań
Dane wejściowe Agent Autoryzowane logi, metryki, topologia, os czasu awarii i runbooki Repozytoria, zapisy pipeline'ów, konfiguracja infrastruktury i zasady wydań
Oczekiwany wynik Dowody, możliwe przyczyny, ryzyka, plan przywrócenia i weryfikacji Możliwa do przejrzenia różnica, plan wykonania, warunki wycofania i dowody dostarczenia
Decyzje pozostające po stronie człowieka Wpływ biznesowy, zatwierdzenie zmiany, odbiór przywrócenia Zatwierdzenie wydania, kontrola dostępu, granice środowisk i zasobów

Na przykład gdy usługa testowa zaraz po wdrożeniu zwraca 502: zbadanie, na której warstwie żądanie zawodzi, bliższe jest AI SRE; przejrzenie konfiguracji wdrożenia, która spowodowała problem, i przygotowanie kolejnego wydania bliższe jest AI DevOps. Ta sama sesja Agent może obejmować oba rodzaje pracy; kluczowe są zakres zadania, uprawnienia narzędzi i warunki odbioru.

Krok pierwszy: wybierz miejsce wykonania i uzyskaj firmową autoryzację

Przed instalacją zapisz jasno trzy odpowiedzi: do jakiej maszyny wolno się podłączyć, jako który użytkownik systemowy ma działać i do jakich katalogów i usług wolno mieć dostęp. Przed podłączeniem potwierdź też, czy firma pozwala wysyłać logi lub kod do zewnętrznego modelu. To, że osoba może zalogować się przez SSH, nie oznacza, że firma zatwierdziła powiązanie jej konta ze zdalnym Agent.

Ścieżka A: bezpośrednie uruchomienie na serwerze. Najpierw potwierdź, że firma zatwierdziła nie tylko usługę Agent na poziomie użytkownika, ale także zmiany w sieci urządzeń i usługach sieciowych związane z domyślnym procesem instalacji; obecny skrypt instalacyjny na odpowiednich hostach systemd może wywołać sudo w celu zarejestrowania systemowej usługi sieciowej. Po uzyskaniu odpowiednich zgód na instalację, podniesienie uprawnień i zmiany sieciowe oraz po spełnieniu przez host bieżących warunków wsparcia zainstaluj PandaPaw na serwerze. Wybrany później katalog roboczy, shell i narzędzia należą do tej maszyny wykonawczej. Nie używaj domyślnie root tylko dlatego, że „tak jest wygodniej”.

Ścieżka B: połączenie z serwerem przez zatwierdzoną maszynę zarządzającą. Jeśli na serwerze nie wolno instalować oprogramowania, zainstaluj PandaPaw na zatwierdzonej przez firmę maszynie zarządzającej; Agent również działa tam. Maszyna zarządzająca musi już mieć możliwość dotarcia do serwera docelowego przez firmowy SSH, VPN lub bastion i mieć odpowiednie uprawnienia konta. Agent korzysta następnie z tego istniejącego kanału; PandaSi nie zatwierdzi za Ciebie dostępu, nie ominie bastionu ani nie połączy automatycznie firmowej sieci wewnętrznej.

Dwie ścieżki: bezpośrednie wykonanie na serwerze i maszyna zarządzająca uzyskująca dostęp do serwera przez istniejący kanał dostępu
Schemat ścieżek dostępu: najpierw wybierz host Agent, potem serwer docelowy; przekazywanie sesji nie przyznaje uprawnień do serwera.

W obu ścieżkach najłatwiej pomylić „bieżącą maszynę”. W wariancie z maszyną zarządzającą Agent domyślnie wykonuje pwd i widzi katalog maszyny zarządzającej; tylko polecenia wyraźnie wykonane przez SSH odbywają się na serwerze docelowym. Sama nazwa serwera w sesji nie zastępuje weryfikacji tożsamości.

Krok drugi: zainstaluj PandaPaw na maszynie wykonawczej

Wejdź do PandaSi, zaloguj się, otwórz stronę urządzeń /devices?add=1, wybierz dodanie urządzenia i skopiuj wygenerowane na stronie jednorazowe polecenie instalacyjne dla bieżącego systemu operacyjnego. Domyślna instalacja obejmuje konfigurację połączeń między urządzeniami, może poprosić o podniesienie uprawnień i zmienić systemowe usługi sieciowe; najpierw pozwól administratorowi firmy przejrzeć zakres instalacji i zatwierdzić odpowiednie uprawnienia, a następnie uruchom polecenie na maszynie wykonawczej wybranej w poprzednim kroku. Jeśli zatwierdzono tylko dostęp na poziomie użytkownika, a nie sieć urządzeń, nie uruchamiaj od razu domyślnego polecenia instalacyjnego z tego artykułu; najpierw potwierdź z administratorem zatwierdzony wariant instalacji. Gdy nazwy wejść lub teksty marki zmieniają się między wersjami, obowiązuje to, co pokazuje bieżący workspace; odpowiedni proces hosta opisano też w Szybkim starcie.

Polecenie jednorazowe zawiera dane parowania urządzenia. Nie wklejaj go do czatu, zgłoszenia, publicznego skryptu ani zrzutu ekranu i nie używaj ponownie tego samego polecenia do podłączania wielu maszyn; jeśli zostało użyte lub wygasło, pobierz nowe ze strony urządzeń.

Jeśli nie używasz polecenia z jednorazowymi danymi uwierzytelniającymi, podstawowe wejście instalacyjne dla macOS / Linux to:

bash
curl -fsSL https://cos.pandanpc.com/pandapaw/install.sh | sh

Spowoduje to pobranie i uruchomienie skryptu instalacyjnego; najpierw zastosuj firmowy proces instalacji oprogramowania i przeglądu skryptów. Tym razem zweryfikowano wyłącznie na podstawie bieżącej dokumentacji i kodu źródłowego; nie wykonano testu instalacji i parowania na czystym hoście. Potwierdzono, że publiczny punkt pobierania skryptu instalacyjnego jest dostępny. Zgodność platform hosta i szczegóły instalacji opisano w Przewodniku po hoście PandaPaw.

Jeśli autoryzacja konta w podstawowej instalacji nie została ukończona, kontynuuj na maszynie wykonawczej:

bash
pandapaw login

Ukończ parowanie zgodnie z wyświetlanym procesem autoryzacji urządzenia, a następnie sprawdź:

bash
pandapaw status

Jeśli polecenie nie zostanie znalezione, najpierw otwórz nowy terminal, aby shell ponownie wczytał PATH. Nie instaluj wielokrotnie ani nie wymuszaj ponownego logowania „na próbę”; najpierw rozróżnij trzy przypadki: nie znaleziono pliku binarnego, konto nie jest powiązane, usługa w tle działa nieprawidłowo.

Krok trzeci: wybierz maszynę, silnik i katalog roboczy

Otwórz workspace /agent, wybierz właśnie podłączoną maszynę wykonawczą, a następnie Claude Code, Codex lub PandaCode oraz zatwierdzony katalog roboczy. Najpierw sprawdź to w katalogu testowym, aby nie wchodzić od razu do produkcyjnego katalogu konfiguracji.

Parowanie urządzenia i logowanie do modelu to dwie różne sprawy. Logowanie PandaPaw oznacza, że host nawiązał połączenie z kontem workspace; wybrany silnik nadal wymaga ważnej autoryzacji modelu, subskrypcji lub konfiguracji API. Gdy urządzenie jest online, ale model nie odpowiada, najpierw sprawdź komunikaty logowania silnika, limity i konfigurację modelu; nie ograniczaj się do ponownej instalacji PandaPaw.

Sprawdź też ustawienia uprawnień narzędzi w silniku. Zapis w czacie „najpierw nie zmieniaj” jest ograniczeniem zadania i nie zastępuje uprawnień systemu operacyjnego ani mechanizmu zatwierdzania w silniku. Jeśli potrzebne jest zatwierdzanie pojedynczych operacji, skonfiguruj odpowiedni tryb uprawnień; nie zakładaj, że przy każdym poleceniu automatycznie pojawi się karta potwierdzenia.

Krok czwarty: najpierw zweryfikuj tożsamość żądaniem tylko do odczytu

W pierwszym zadaniu nie pisz „napraw serwer”; najpierw wyślij:

Tylko weryfikacja tożsamości, bez modyfikowania plików ani usług. Podaj bieżącą nazwę hosta, użytkownika systemowego i bezwzględny katalog roboczy, wypisz nazwy plików najwyższego poziomu katalogu. Nie czytaj .env, kluczy prywatnych ani innych poświadczeń. Jeśli potrzebny jest dostęp do serwera docelowego, najpierw wyjaśnij różnicę między bieżącą maszyną wykonawczą a celem i poczekaj na moją weryfikację przed kontynuowaniem.

Polecenia weryfikacji tożsamości dostępne w Linux / macOS to:

bash
hostname
id -un
pwd

Porównaj zwrócone wartości z oczekiwaniami punkt po punkcie: czy to ta sama maszyna wykonawcza, czy konto jest zatwierdzone, czy katalog projektu jest prawidłowy. Podobna nazwa katalogu, urządzenie online i kod wyjścia polecenia 0 nie dowodzą samodzielnie poprawności podłączenia.

W wariancie z maszyną zarządzającą trzeba też zweryfikować oba końce osobno. Poniżej pokazano tylko użycie aliasu SSH już skonfigurowanego w firmie; company-test-server to przykład, który należy zastąpić celem potwierdzonym przez administratora:

bash
ssh company-test-server 'hostname; id -un; pwd'

Nie wyłączaj weryfikacji klucza hosta, aby obejść monit przy pierwszym połączeniu, i nie wklejaj hasła SSH ani klucza prywatnego do Agent. Zdalne pwd może wskazywać katalog domowy konta; nie zakładaj na tej podstawie, że projekt został wybrany. W kolejnych poleceniach podawaj bezwzględną ścieżkę zdalnego projektu.

Kryterium zaliczenia: odpowiedź odpowiada prawidłowemu hostowi, tożsamości i katalogowi; widzisz, co zostało wykonane; pytania o uprawnienia pojawiają się zgodnie z oczekiwaniami w bieżącym trybie uprawnień. Następnie wejdź ponownie do tej samej sesji z telefonu lub innego klienta i sprawdź, czy historia się odtwarza. To bliższe rzeczywistej ścieżce użytkowania niż samo patrzenie na zieloną kropkę online.

Krok piąty: najpierw utwórz listę serwerów, potem wykonaj zbiorczą inspekcję tylko do odczytu

Agent na jednej maszynie zarządzającej może wywoływać istniejący SSH i kolejno odwiedzać wiele serwerów z listy; PandaSi pozwala śledzić te operacje narzędzi i ich wyniki w tej samej sesji. „Centralne zarządzanie” oznacza tu jedno wejście wykonawcze, jasną listę i jednolite raportowanie; nie oznacza, że produkt ma wbudowane odkrywanie zasobów serwerów, automatyczne rozdzielanie pracy między połączeniami ani interfejs jednego przycisku do sterowania grupą. Maszyna zarządzająca musi mieć już autoryzację do każdego celu; to, że ma dostęp do jednej maszyny, nie pozwala zakładać dostępu do innych maszyn w tej samej podsieci.

Ustal cele za pomocą aliasów i grup środowisk

Niech administrator utrzymuje listę bez poświadczeń. Wszystkie nazwy poniżej są fikcyjnymi przykładami; rzeczywista lista powinna znajdować się w zatwierdzonym przez firmę miejscu i nie zawierać haseł, kluczy prywatnych ani jednorazowych poleceń urządzenia.

Środowisko Alias SSH Oczekiwana nazwa hosta Oczekiwany użytkownik Zdalny katalog projektu Uprawnienia w tej rundzie
test test-web-01 demo-test-web-01 opsread zatwierdzona ścieżka bezwzględna projektu A weryfikacja tożsamości, inspekcja tylko do odczytu wskazanej usługi
test test-worker-01 demo-test-worker-01 opsread zatwierdzona ścieżka bezwzględna projektu A weryfikacja tożsamości, inspekcja tylko do odczytu wskazanej usługi
production prod-web-01 demo-prod-web-01 opsread zatwierdzona ścieżka bezwzględna projektu A wyłączone w tej rundzie, osobny wniosek
production prod-web-02 demo-prod-web-02 opsread zatwierdzona ścieżka bezwzględna projektu A wyłączone w tej rundzie, osobny wniosek

Alias SSH to nazwa z istniejącej konfiguracji SSH maszyny zarządzającej, a nie nazwa urządzenia w PandaSi. Administrator powinien zweryfikować cel, konto, port i niezbędny pośrednik dostępu odpowiadające aliasowi; nie potwierdzaj, że to maszyna testowa, tylko na podstawie test w nazwie. OpenSSH obsługuje dopasowywanie konfiguracji według wpisów Host, a zdalne polecenie podane w wierszu poleceń jest wykonywane na hoście docelowym; szczegóły w Podręczniku konfiguracji klienta SSH i Podręczniku poleceń SSH.

Maszyna zarządzająca uzyskująca przez istniejący SSH dostęp do serwerów testowych i produkcyjnych zgodnie z zatwierdzoną listą — schemat
Schemat zarządzania wieloma serwerami: weryfikuj każdy cel według listy, ogranicz współbieżność, dostęp produkcyjny zatwierdzaj osobno; to nie zrzut ekranu konsoli do sterowania grupą.

Jeśli na każdym serwerze osobno zainstalowano PandaPaw, można też w workspace wybierać odpowiednią maszynę wykonawczą i działać na maszynach po kolei; nie interpretuj jednak „wiele maszyn jest online” jako automatycznego harmonogramu wszystkich połączeń w jednej sesji. W dalszej części artykułu konsekwentnie stosujemy wariant z maszyną zarządzającą korzystającą z istniejącego SSH, aby nie mieszać dwóch miejsc wykonania w jednym raporcie.

Najpierw weryfikuj szeregowo, potem ogranicz pozycje inspekcji

Za pierwszym razem zweryfikuj tożsamość maszyna po maszynie według listy, bez czytania konfiguracji aplikacji ani pełnych logów. Poniżej znajduje się przykład szeregowy w Bash na maszynie zarządzającej, obejmujący tylko dwie dozwolone w tej rundzie maszyny testowe; nie wykonuje automatycznego rozpoznawania środowiska ani nie zastępuje ręcznej weryfikacji oczekiwanej tożsamości.

bash
for target in test-web-01 test-worker-01; do
  printf '\nTARGET %s\n' "$target"
  if ssh -T -o BatchMode=yes -o ConnectTimeout=5 "$target" \
    'hostname && id -un && pwd'; then
    printf 'IDENTITY_COMMAND_COMPLETED %s\n' "$target"
  else
    result=$?
    printf 'IDENTITY_COMMAND_FAILED %s exit=%s\n' "$target" "$result" >&2
  fi
done

Te polecenia służą wyłącznie do zilustrowania sposobu organizacji; w tym artykule nie uruchamiano ich na dwóch przykładowych hostach. BatchMode=yes sprawia, że przy nieudanej autoryzacji nie czeka się na interaktywne dane wejściowe; ConnectTimeout=5 ogranicza etap nawiązywania połączenia, a nie całkowity limit zdalnego polecenia. Całkowity limit wykonania należy ustawić osobno w zatwierdzonym narzędziu lub executorze zadań. Nie wyłączaj weryfikacji klucza hosta, aby uruchamiać operacje zbiorczo; bastion wymagający interaktywnego MFA powinien korzystać z zatwierdzonego przez firmę procesu dostępu, a nie z tego nieinteraktywnego przykładu.

Po zakończeniu poleceń najpierw porównaj oczekiwaną nazwę hosta i konto z listy dla każdej maszyny, a następnie zweryfikuj zatwierdzoną zdalną ścieżkę projektu. Wyświetlone powyżej pwd to zwykle tylko zdalny katalog logowania, a nie dowód poprawności ścieżki projektu. Kod wyjścia 0 oznacza jedynie, że te kilka poleceń się zakończyło; nie dowodzi zgodności tożsamości hosta, a tym bardziej kondycji usługi. Jeśli tożsamość którejkolwiek maszyny się nie zgadza, oznacz ten cel jako zablokowany i nie czytaj dalej danych biznesowych; gdy pojawią się wspólne wątpliwości dotyczące tego samego środowiska lub kanału dostępu, wstrzymaj całą partię weryfikacji.

Po pomyślnej weryfikacji tożsamości pozwól Agent uruchomić na maszynach testowych z tej rundy ten sam zatwierdzony zestaw kontroli tylko do odczytu: stan wskazanych usług, oczekiwane porty nasłuchu, wolne miejsce na dysku, zanonimizowane podsumowanie błędów z określonego okna czasowego oraz jedno zatwierdzone żądanie kondycji. Nie rozszerzaj „inspekcji” na instalowanie sond, rekurencyjne czytanie wszystkich katalogów ani automatyczną naprawę. Polecenia kontrolne różnią się między systemami, menedżerami usług i aplikacjami; uzupełniaj je według listy i nie wymuszaj jednego zestawu poleceń na wszystkich hostach.

Jasno określ granice wykonania jednym promptem

Działasz na maszynie zarządzającej. Uzyskuj dostęp wyłącznie do test-web-01 i test-worker-01 z grupy test zgodnie z zatwierdzoną listą serwerów; nie skanuj nowych adresów i nie uzyskuj dostępu do grupy production. Najpierw szeregowo zweryfikuj nazwę hosta, użytkownika i bezwzględną ścieżkę zdalnego projektu każdej maszyny; jeśli coś nie zgadza się z listą, zablokuj ten cel. Po pomyślnej weryfikacji sprawdzaj tylko stan usług, porty, dysk i żądania kondycji wyraźnie zatwierdzone na liście; z logów pobieraj wyłącznie zanonimizowane fragmenty z określonego okna czasowego. Cały pierwszy przebieg wykonuj szeregowo, bez modyfikowania konfiguracji, restartowania, instalowania zależności i automatycznego podnoszenia uprawnień. Jeśli połączenie z jedną maszyną się nie powiedzie, zachowaj błąd i kontynuuj niezależne kontrole tylko do odczytu innych zweryfikowanych celów; jeśli pojawią się anomalie w przynależności do środowiska lub we wspólnym kanale dostępu, wstrzymaj całą partię. Dla każdej maszyny zapisz osobno czas i strefę czasową, polecenia, stan wyjścia, kluczowe dowody i nieukończone pozycje, a na końcu podsumuj według serwerów. Wszelkie naprawy przedstawiaj wyłącznie jako sugestie i nie wykonuj ich.

To ograniczenie zadania; należy je połączyć z kontem tylko do odczytu, zatwierdzaniem narzędzi w silniku i ograniczeniami dostępu sieciowego. Zapis „zakaz modyfikacji” w promptcie nie zmienia automatycznie konta z prawem zapisu w konto tylko do odczytu.

Ogranicz współbieżność, aby błędy pozostały przypisane do właściwego celu

Pierwsza inspekcja szeregowa ułatwia weryfikację; przy większej liczbie celów można ustawić niewielki limit współbieżności w sposób dozwolony przez firmę, na przykład sprawdzać jednocześnie najwyżej dwie maszyny. „Dwie” to przykładowy budżet operacyjny, a nie limit produktu PandaSi ani gwarancja wydajności. Jeśli wybrany Agent lub narzędzia nie potrafią wiarygodnie ograniczyć współbieżności, kontynuuj szeregowo i nie zastępuj tego doraźnymi nieograniczonymi zadaniami w tle.

Dla każdej maszyny ustaw niezależny timeout i zapis wyników; awaria jednego celu nie powinna wywoływać restartu, ponownej instalacji na innych maszynach ani nieograniczonych ponowień całej partii. Osobno zapisuj timeout połączenia, niezgodność tożsamości, brak uprawnień i niepowodzenie polecenia kontrolnego; nie sprowadzaj ich wszystkich do „offline”. Jeśli błąd pochodzi ze wspólnego bastionu, źródła uwierzytelniania lub niejasnej przynależności do środowiska, zatrzymaj się i sprawdź wspólną przyczynę, zamiast dalej zwiększać współbieżność.

Tabela podsumowująca musi dla każdej maszyny podawać, czy tożsamość się zgadza, które kontrole faktycznie wykonano, kluczowe dowody i nieznane pozycje. Poniżej pokazano tylko format zapisu; tekst w tabeli to instrukcja wypełniania, a nie zmierzone wyniki:

Cel Weryfikacja tożsamości Kontrole usług i kondycji Przyczyna nieukończenia Następny krok
test-web-01 Wpisz rzeczywiste dowody Przed wykonaniem wpisz „nieznane” Wypełnij zgodnie z rzeczywistością Zdecyduj po weryfikacji
test-worker-01 Wpisz rzeczywiste dowody Przed wykonaniem wpisz „nieznane” Wypełnij zgodnie z rzeczywistością Zdecyduj po weryfikacji

Raport powinien podawać, ile maszyn zaplanowano do sprawdzenia, ile ukończono, ile nie powiodło się i ile pominięto, oraz przedstawiać dowody dla każdego celu. Brak wyników nie pozwala domyślnie zakładać dobrej kondycji; końcowy kod wyjścia polecenia zbiorczego równy 0 również nie może ukryć, że jedna z maszyn po drodze zawiodła.

Krok szósty: najpierw przejdź pełną ścieżkę śledztwa i przywrócenia dla 502 na jednej usłudze testowej

Poniższy przykład jest dydaktyczny; nie jest rzeczywistym incydentem testowanym w tym artykule ani zestawem poleceń naprawczych, który można skopiować na wszystkie serwery. Załóżmy, że zatwierdzona do operacji usługa testowa po wdrożeniu zwraca 502, a Ty znasz domenę testową, nazwę usługi i katalog projektu.

Sześcioetapowy proces od weryfikacji celu przez śledztwo tylko do odczytu, propozycję zmiany, ręczne zatwierdzenie, wykonanie i odbiór przywrócenia
Schemat procesu rozwiązywania problemów: zatwierdź konkretną zmianę; przywrócenie weryfikuj zarówno przez endpoint kondycji, jak i rzeczywiste żądania użytkowników.

Najpierw ogranicz zakres śledztwa

Możesz zapisać zadanie tak:

Zbadaj 502 po wdrożeniu usługi testowej. Najpierw zweryfikuj host docelowy, użytkownika i katalog, a następnie sprawdź tylko do odczytu ostatni zapis wdrożenia, stan powiązanych usług, porty nasłuchu oraz logi proxy i aplikacji z określonego okna czasowego. Nie restartuj, nie zmieniaj konfiguracji, nie instaluj zależności i nie uzyskuj dostępu do innych środowisk. Zwróć tylko zanonimizowane fragmenty związane z tą awarią, wymień dowody, możliwe przyczyny i brakujące informacje.

Najpierw podaj okno czasowe i dokładne źródła logów, aby Agent nie przeszukiwał rekurencyjnie całego serwera. Nawet odczyt może ujawnić dane: tokeny, informacje o klientach i treść żądań w logach należy filtrować przed wprowadzeniem do kontekstu modelu, a nie wysyłać, a potem prosić model, żeby „zapomniał”.

502 oznacza, że proxy nie uzyskało użytecznej odpowiedzi upstream, ale sam kod statusu nie pozwala stwierdzić, czy chodzi o zakończenie procesu, niezgodność portu, awarię zależności czy problem z połączeniem. Pozwól Agent zestawić adres upstream proxy, rzeczywisty nasłuch i logi z tego samego przedziału czasu; w logach z różnych maszyn najpierw ujednolić strefę czasową. Nie traktuj „maszyna jest online” jako „aplikacja jest zdrowa” i nie zakładaj, że brak pasujących logów oznacza brak błędu.

Poproś o propozycję naprawy do przejrzenia

Jeśli dowody wskazują, że „port upstream w konfiguracji wdrożenia nie zgadza się z rzeczywistym nasłuchem”, poproś Agent o podanie konkretnego pliku i minimalnej różnicy, planowanych poleceń, dotkniętej usługi testowej, sposobu sprawdzenia konfiguracji i warunków wycofania. To nadal tylko warunkowy przykład; jeśli dowody tego nie potwierdzają, kontynuuj śledztwo.

Przedmiotem zatwierdzenia powinna być konkretna zmiana, a nie „zajmij się wszystkim”. Na przykład zatwierdź zmianę wskazanej konfiguracji proxy testowego i przeładowanie tego proxy testowego po pomyślnym sprawdzeniu konfiguracji; nie może to przy okazji obejmować aktualizacji zależności, czyszczenia bazy danych, zmian konfiguracji produkcyjnej ani restartu całego hosta. Rzeczywiste polecenia należy ustalić na podstawie używanego menedżera procesów i zasad wdrożeń.

Po wykonaniu zweryfikuj ścieżkę użytkownika

Po zatwierdzeniu i wykonaniu odbiór powinien obejmować co najmniej: czy sprawdzenie konfiguracji się powiodło, czy powiązane procesy i porty są zgodne z oczekiwaniami, czy endpoint kondycji działa poprawnie oraz czy z niezależnego klienta przez pierwotne wejście rzeczywiste żądanie testowe znów działa. Jeśli endpoint kondycji zwraca 200, ale routing biznesowy, autoryzacja lub żądania do bazy danych nadal zawodzą, nie zapisuj „problem rozwiązany”.

Na końcu poproś Agent o podsumowanie wykonanych poleceń, rzeczywistych zmian, wyników weryfikacji i pozostałych ryzyk; pozycje niezweryfikowane oznacz wyraźnie jako nieznane. Potwierdzoną przyczynę i późniejsze środki zapobiegające nawrotom przekaż do firmowego systemu rejestrów. Wsparcie w fazie śledztwa odpowiada AI SRE, a późniejsze włączenie poprawki do repozytorium konfiguracji i procesu wydawania oprogramowania rozciąga się na AI DevOps.

Krok siódmy: po pomyślnym przejściu jednej maszyny zmieniaj pozostałe serwery partiami

Autoryzacja zbiorczej inspekcji i zmian zbiorczych powinna być rozdzielona. Stwierdzenie, że wiele usług ma różne wersje, nie oznacza, że można je wszystkie od razu zaktualizować; usługi o tej samej nazwie mogą pełnić różne role lub używać różnych konfiguracji. Najpierw sprawdź, czy różnice są oczekiwane, a potem przedstaw plan zmian z pozycjami dla każdego celu.

W pierwszej partii wybierz tylko jedną jednoznaczną maszynę testową. W planie ustal alias celu, zweryfikowaną tożsamość hosta, pierwotną wersję lub konfigurację, planowaną różnicę, oczekiwany wpływ, metodę sprawdzenia, kroki wycofania i warunki zatrzymania. Po zatwierdzeniu wykonaj operację na tej jednej maszynie i poczekaj na odbiór przez endpoint kondycji i rzeczywistą ścieżkę użytkownika; bez dowodów przywrócenia nie oznaczaj statusu jako sukcesu ani nie przechodź do następnej partii.

Po pomyślnym przejściu próby określ listę celów następnej partii, jej rozmiar i limit współbieżności; nie używaj niejawnego zakresu typu „wszystkie pozostałe maszyny”, który zmienia się wraz z listą. Po każdej partii sprawdź rzeczywiste wersje i wyniki żądań, zapisz cele udane, nieudane i niewykonane. W razie niezgodności tożsamości, niepowodzenia sprawdzenia konfiguracji, pogorszenia żądań biznesowych lub nieudanego wycofania zatrzymaj kolejne partie i przekaż dowody osobie odpowiedzialnej; nie traktuj zatwierdzenia testowego jako zatwierdzenia produkcyjnego.

Wycofanie również trzeba zdefiniować dla każdej maszyny. Zmianę konfiguracji można cofnąć do poprzedniej konfiguracji w zatwierdzony sposób; gdy w grę wchodzą migracje baz danych, zapisy danych lub skutki uboczne w systemach zewnętrznych, nie zakładaj, że „powrót do starej wersji” odwróci skutki — najpierw osoba odpowiedzialna powinna ustalić plan przywrócenia. Wycofuj tylko cele faktycznie zmienione i wymagające przywrócenia; nie wykonuj odwrotnych poleceń bez różnicy na całej grupie maszyn.

Możesz zapisać następne zadanie tak:

Na podstawie dowodów z tej inspekcji maszyna po maszynie zaproponuj najpierw plan naprawy tylko dla test-web-01, bez wykonania. Podaj zweryfikowaną tożsamość hosta, konkretną różnicę, pełne polecenia, wpływ, kroki wycofania, żądanie odbioru i warunki zatrzymania. Wykonanie może nastąpić dopiero po wyraźnym zatwierdzeniu dla tej maszyny; po zakończeniu przedstaw rzeczywiste dowody i poczekaj na autoryzację następnej partii celów. Maszyny niezatwierdzone pozostają niewykonane. Grupa production nie jest objęta tym zakresem i nie może dziedziczyć zatwierdzenia testowego.

Gdy trzeba obsłużyć zarówno testy, jak i produkcję, produkcja przechodzi osobno przez firmowy proces zmian. Jednolite wejście zarządzania nie usuwa izolacji środowisk, okien serwisowych, zatwierdzania wydań ani wymogów audytowych.

Po rozłączeniu telefonu najpierw potwierdź stan zadania

Zamknięcia klienta, przejścia telefonu do tła lub utraty sieci nie należy rozumieć jako zatrzymania zdalnego polecenia. Proces na maszynie wykonawczej może nadal działać; może też zakończyć się niepowodzeniem z powodu utraty połączenia hosta, zakończenia silnika lub ograniczeń kanału zdalnego. Po powrocie do pierwotnej sesji najpierw sprawdź wyniki narzędzi, a następnie zweryfikuj procesy, artefakty i stan usług, aby uniknąć ponownego uruchamiania instalacji, wdrożenia lub migracji.

W zdalnym łańcuchu poleceń może wystąpić „brak zwróconego stanu wyjścia”: timeout warstwy połączenia nie dowodzi, że polecenie się nie rozpoczęło. Dla długich zadań w firmowym kanale wykonania trzeba jasno określić timeout, rejestrowanie stanu i sposób anulowania, zwłaszcza przy wielu przeskokach SSH. W tym artykule nie traktujemy wartości timeoutu z jednej wersji kanału jako ogólnej reguły dla wszystkich narzędzi SSH.

Gdy trzeba zatrzymać operację, użyj wyraźnej akcji zatrzymania i zweryfikuj zdalny stan wykonania; w przypadku nieidempotentnej zmiany o niejasnym stanie najpierw przejmij sprawę ręcznie i potwierdź. Nie polegaj na wielokrotnym klikaniu ani ponownym wysyłaniu tego samego polecenia, aby ustalić, czy poprzednia operacja się powiodła.

Jaki związek z tym artykułem ma sieć urządzeń firmowych i domowych?

W artykule zakładamy, że zatwierdzony kanał dostępu z maszyny zarządzającej do poszczególnych serwerów już istnieje, a nacisk kładziemy na to, jak Agent organizuje pracę według celów. To, jak wiele urządzeń firmowych i domowych ma wchodzić do sieci, komunikować się ze sobą i jak obsługiwać granice sieci, jest osobnym zadaniem podłączenia i nie jest tu mieszane; sukces w budowie sieci nie oznacza też prawa do administrowania wszystkimi tymi urządzeniami. Jeśli chcesz poznać podłączanie urządzeń, zajrzyj najpierw do istniejącego opisu połączeń między urządzeniami i przestrzegaj firmowego procesu zatwierdzania sieci.

Granice danych firmowych, modeli i przekazywania

„Narzędzia działają lokalnie” opisuje miejsce wykonania i nie gwarantuje, że dane nigdy nie opuszczą firmy. Wiadomości sesji i zatwierdzenia przechodzą przez kanał komunikacji produktu; logi, kod i wyniki narzędzi udostępniane Agent mogą też trafić do żądań kierowanych do wybranego dostawcy modelu. Przed podłączeniem sprawdź zatwierdzone przez firmę modele, zasady przetwarzania danych oraz politykę przechowywania logów i dostępu.

Zachowaj istniejące zarządzanie kluczami i proces audytu; poświadczenia czytaj z zatwierdzonej infrastruktury poświadczeń na maszynie wykonawczej i nie wklejaj ich do czatu ani repozytorium kodu. Ogranicz konto wykonawcze i zakres osiągalności sieciowej oraz przyznawaj uprawnienia do logów i katalogów tylko w razie potrzeby. Przy odejściu pracownika, wycofaniu urządzenia lub zmianie uprawnień obsłuż jednocześnie autoryzację urządzenia w workspace, konto na maszynie wykonawczej i dostęp do serwera docelowego; usunięcie jednego klienta nie oznacza odebrania wszystkich uprawnień wykonawczych.

FAQ

Czy PandaSi może automatycznie pełnić dyżury, odbierać alerty i naprawiać produkcję?

W artykule omówiono zdalne sesje, autoryzowane operacje i proces ręcznego nadzoru. Całodobowy monitoring, integracja alertów, automatyczne wyzwalanie i bezobsługowa naprawa wymagają dodatkowych systemów monitoringu, triggerów, runbooków i zarządzania uprawnieniami; nie można na podstawie udanego podłączenia wnioskować, że te możliwości już istnieją.

Czy można tego użyć, jeśli na firmowych serwerach nie wolno instalować oprogramowania?

Można rozważyć zatwierdzony wariant z maszyną zarządzającą, pod warunkiem że maszyna zarządzająca ma już legalne uprawnienia sieciowe i tożsamości do dostępu do celów. Jeśli firma zabrania także podłączania tego typu zewnętrznych Agent, najpierw przejdź proces zatwierdzania, zamiast szukać ukrytej trasy połączenia.

Czy trzeba otworzyć publiczny port SSH na serwerach?

Połączenia sesji PandaPaw są nawiązywane aktywnie jako połączenia wychodzące po obu stronach, więc zwykle nie trzeba dodawać publicznych portów wejściowych na potrzeby podłączenia klienta. Maszyna zarządzająca nadal musi mieć zatwierdzony przez firmę kanał dostępu do serwerów docelowych; gdy ruch wychodzący jest ograniczony, konfiguracją powinien zająć się administrator sieci — nie wyłączaj samodzielnie zabezpieczeń.

Czy trzeba instalować PandaPaw na każdym serwerze?

Opisany tu wariant z maszyną zarządzającą nie wymaga instalowania PandaPaw na każdym celu SSH, ale maszyna zarządzająca musi mieć zatwierdzony kanał sieciowy i zdalne konto. W wariancie instalacji bezpośredniej Agent działa na odpowiednim hoście i każde takie podłączenie jest osobne; nie mieszaj obu wariantów w jedną automatyczną zdolność sterowania grupą.

Jeśli inspekcja jednej maszyny nie powiedzie się, czy można kontynuować na innych?

W przypadku kontroli tylko do odczytu, których tożsamość zweryfikowano i które są od siebie niezależne, można zachować dowody niepowodzenia tego celu i kontynuować inne cele; jeśli dotyczy to wspólnej awarii dostępu lub wątpliwości co do przynależności do środowiska, wstrzymaj całą partię. W fazie zmian stosuj zatwierdzone warunki zatrzymania; nie przenoś na nią reguły „inspekcję można kontynuować”.

Co zweryfikować najpierw po podłączeniu?

Najpierw sprawdź maszynę zarządzającą, odpowiedzi modelu i przywracanie sesji, następnie według listy zweryfikuj kolejno tożsamość celów, katalogi i uprawnienia, wykonaj inspekcję tylko do odczytu i podsumuj wyniki, a na końcu przejdź na jednej usłudze testowej przez zatwierdzenie, odbiór na podstawie rzeczywistych żądań i późniejszy proces partiami. Wartość podłączenia polega na tym, że autoryzowane zadania można stale śledzić; czy warto rozszerzyć to na więcej usług, powinny rozstrzygnąć dowody z tego odbioru.

Materiały i zakres weryfikacji

Pierwszą wersję tego artykułu zweryfikowano 31 października 2026 r. pod kątem szybkiego startu projektu, dokumentacji hosta PandaPaw, logiki generowania poleceń instalacyjnych urządzenia oraz publicznego punktu pobierania skryptu instalacyjnego; 1 listopada uzupełniono proces operacji na wielu maszynach i zweryfikowano semantykę konfiguracji i parametrów SSH z oficjalnym podręcznikiem OpenSSH. Tym razem zweryfikowano wyłącznie na podstawie bieżącej dokumentacji i kodu źródłowego; nie wykonano testu instalacji i parowania na czystym hoście ani nie uruchomiono opisanej tu inspekcji, zmian partiami lub przykładu 502 w rzeczywistym środowisku wielu maszyn; sieci poszczególnych firm, zatwierdzanie w silnikach i zgodność danych trzeba zweryfikować we własnym środowisku testowym. Wszystkie ilustracje są wygenerowanymi przez AI schematami pojęciowymi lub procesowymi, a nie zrzutami ekranu.