AI SRE en AI DevOps in de praktijk: met PandaSi laat je een Agent meerdere servers centraal beheren

AI SRE en AI DevOps kunnen worden geïmplementeerd op basis van een uniforme serverinventaris en alleen-lezen inspecties. In dit artikel wordt PandaSi gebruikt om verbinding te maken met de Agent op de beheermachine, via bestaande SSH elke server afzonderlijk te verifiëren, de controleresultaten samen te vatten en wijzigingen door te voeren volgens een proces van proefdraaien op één server, gefaseerde goedkeuring en rollback.

PandaSiEerst gepubliceerd op Bijgewerkt op
AI SRE en AI DevOps in de praktijk: met PandaSi laat je een Agent meerdere servers centraal beheren

Met PandaSi laat je een Agent meerdere servers centraal beheren, te beginnen vanaf één goedgekeurde beheermachine: voer PandaPaw en de Agent uit op de beheermachine, laat de Agent via bestaande SSH, VPN of een bastionhost toegang krijgen tot de doelen op een expliciete lijst, verifieer per machine de identiteit, voer alleen-lezen inspecties in batch uit en verzamel de resultaten; als er wijzigingen nodig zijn, test je eerst op één machine en ga je daarna in goedgekeurde batches verder. AI SRE richt zich op het onderzoeken van betrouwbaarheidsproblemen, AI DevOps op levering en wijzigingen in de infrastructuur; beide hebben controleerbaar bewijs en duidelijke rechten grenzen nodig.

PandaSi biedt een sessie- en goedkeuringsingang voor meerdere apparaten, PandaPaw verbindt met de uitvoerende machine en de concrete commando's worden uitgevoerd door de gekozen Agent en zijn tools. Toegang afronden betekent niet dat je rechten op bedrijfsservers krijgt, en ook niet dat 24/7-monitoring, automatische alarmering of onbeheerde herstelsystemen al zijn ingericht. Hieronder doorlopen ontwikkelaars en beheerders die al serverbeheerrechten hebben en vanaf een telefoon of een andere computer willen meekijken de stappen: aansluiten van de beheermachine, alleen-lezen verificatie op meerdere machines, resultaten samenvatten en gefaseerd wijzigen. Servers kunnen ook afzonderlijk direct worden geïnstalleerd, maar de hoofdroute voor meerdere machines in dit artikel gebruikt de beheermachine-aanpak.

AI SRE en AI DevOps: waar laat je de Agent mee helpen?

De werkterreinen die deze twee termen beschrijven overlappen elkaar. In dit artikel gebruiken we de onderstaande verdeling om ze te begrijpen, niet als twee producten die apart moeten worden aangeschaft.

Dimensie AI SRE AI DevOps
Kernvraag Is de dienst betrouwbaar, waarom trad de storing op, hoe herstel je en voorkom je herhaling? Hoe lever je software veiliger op en beheer je de infrastructuur?
Typische taken Logs ordenen, afwijkingen correleren, afhankelijkheden controleren, herstelvoorstellen doen, bijdragen aan de nabespreking Pipelines lezen, deploymentconfiguratie controleren, wijzigingen voorbereiden, releasefouten analyseren
Input voor de Agent Geautoriseerde logs, metrics, topologie, incidenttijdlijn en runbooks Repository's, pipelinelogs, infrastructuurconfiguratie en releaseregels
Op te leveren resultaat Bewijs, mogelijke oorzaken, risico's, herstel- en verificatieplan Controleerbare diffs, uitvoeringsplan, terugdraaicondities en opleverbewijs
Beslissingen die bij mensen moeten blijven Bedrijfsimpact, goedkeuring van wijzigingen, acceptatie van herstel Releasegoedkeuring, toegangsbeheer, omgevings- en resourcegrenzen

Als een testdienst bijvoorbeeld direct na een release 502 teruggeeft: het onderzoeken van de laag waarin het verzoek faalt, hoort meer bij AI SRE; het beoordelen van de releaseconfiguratie die het probleem veroorzaakte en de volgende levering voorbereiden, hoort meer bij AI DevOps. Dezelfde Agent-sessie kan beide soorten werk doen; het draait om taakafbakening, toolrechten en acceptatiecriteria.

Stap 1: Kies de uitvoerlocatie en vraag bedrijfsautorisatie aan

Schrijf vóór de installatie drie antwoorden op: welke machine mag worden aangesloten, onder welke systeemgebruiker de Agent draait en welke mappen en diensten toegankelijk zijn. Of het bedrijf toestaat logs of code naar een extern model te sturen, moet je ook vóór aansluiting bevestigen. Dat je persoonlijk via SSH kunt inloggen, betekent niet dat het bedrijf goedkeurt dat je persoonlijke account aan een externe Agent koppelt.

Pad A: Direct op de server uitvoeren. Controleer eerst of het bedrijf niet alleen een gebruikersgerichte Agent-dienst goedkeurt, maar ook de apparaatnetwerk- en netwerkdienstwijzigingen die de standaardinstallatie met zich meebrengt; het huidige installatiescript kan op geschikte systemd-hosts sudo aanroepen om een netwerkdienst op systeemniveau te registreren. Vraag de bijbehorende autorisatie voor installatie, rechtenverhoging en netwerkwijzigingen aan, en installeer PandaPaw pas op de server nadat de host aan de huidige ondersteuningsvoorwaarden voldoet. De werkmap, shell en tools die je daarna kiest, horen allemaal bij deze uitvoerende machine. Gebruik niet standaard root omdat dat 'handiger werkt'.

Pad B: Vanuit een geautoriseerde beheermachine de server in. Als installatie op de server niet is toegestaan, installeer je PandaPaw op een door het bedrijf goedgekeurde beheermachine; de Agent draait daar ook. De beheermachine moet de doelserver al kunnen bereiken via door het bedrijf goedgekeurde SSH, VPN of een bastionhost, en over de bijbehorende accountrechten beschikken. De Agent gebruikt vervolgens deze bestaande route; PandaSi keurt geen toegang voor je goed, omzeilt geen bastionhost en opent niet automatisch het bedrijfsnetwerk.

Twee routes: direct op de server uitvoeren en via een beheermachine met bestaande toegang de server bereiken
Schematische weergave van de toegangsroutes: bepaal eerst de Agent-host en daarna de doelserver; sessierelay verleent geen serverrechten.

Het meest verwarrende aan beide routes is 'de huidige machine'. In de beheermachine-aanpak voert de Agent standaard één keer pwd uit; je ziet dan de map van de beheermachine. Alleen commando's die expliciet via SSH worden uitgevoerd, gebeuren op de doelserver. Een servernaam in de sessie is geen vervanging voor identiteitsverificatie.

Stap 2: Installeer PandaPaw op de uitvoerende machine

Ga via PandaSi naar de werkruimte, log in, open de apparaatpagina /devices?add=1, kies 'Apparaat toevoegen' en kopieer het eenmalige installatiecommando dat de pagina voor het huidige besturingssysteem genereert. De standaardinstallatie bevat configuratie voor apparaatinterconnectie, kan om rechtenverhoging vragen en systeemnetwerkdiensten wijzigen; laat een bedrijfsbeheerder eerst de installatie-inhoud beoordelen en de bijbehorende rechten goedkeuren, en voer het commando daarna uit op de in de vorige stap gekozen uitvoerende machine. Als alleen gebruikersgerichte toegang is goedgekeurd en apparaatnetwerking niet, voer dan niet direct het standaardinstallatiecommando uit; bevestig eerst met de beheerder welke installatievariant is goedgekeurd. Als ingangen of merkteksten per versie veranderen, geldt wat de huidige werkruimte toont; voor de bijbehorende hostprocedure kun je ook Snel starten raadplegen.

Het eenmalige commando bevat referenties voor apparaatkoppeling. Plak het niet in gesprekken, tickets, openbare scripts of screenshots, en hergebruik hetzelfde commando niet om meerdere machines te koppelen; vraag een nieuw commando op de apparaatpagina aan als het al is gebruikt of verlopen.

Als je geen commando met eenmalige referenties gebruikt, is dit de basisinstallatie-ingang voor macOS / Linux:

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

Deze downloadt en voert een installatiescript uit; volg eerst het software-installatie- en scriptreviewproces van het bedrijf. In dit artikel is alleen gecontroleerd tegen de huidige documentatie en broncode; er is geen installatie- en koppelingstest op een schone host uitgevoerd. De openbare download-ingang van het installatiescript is bevestigd als bereikbaar. Zie de PandaPaw-hostgids voor platformcompatibiliteit en installatiedetails.

Als de accountautorisatie van de basisinstallatie nog niet is afgerond, ga je verder op de uitvoerende machine:

bash
pandapaw login

Rond de koppeling af volgens de getoonde apparaatautorisatiestroom en controleer daarna:

bash
pandapaw status

Als het commando niet wordt gevonden, open eerst een nieuwe terminal zodat de shell PATH opnieuw laadt. Installeer niet herhaaldelijk opnieuw of forceer geen nieuwe login om 'even te kijken'; onderscheid eerst drie gevallen: binary niet gevonden, account niet gekoppeld en achtergronddienst abnormaal.

Stap 3: Kies machine, engine en werkmap

Open de werkruimte /agent, kies de zojuist aangesloten uitvoerende machine en selecteer daarna Claude Code, Codex of PandaCode, plus de werkmap die je mag gebruiken. Valideer eerst met een testmap en ga niet meteen naar een productieconfiguratiemap.

Apparaatkoppeling en modellogin zijn twee verschillende dingen. Een PandaPaw-login betekent dat de host verbinding heeft met het werkruimteaccount; de gekozen engine heeft nog steeds een geldige modelautorisatie, abonnement of API-configuratie nodig. Als het apparaat online lijkt maar er geen modelantwoord komt, controleer je eerst de engine-loginmelding, quota en modelconfiguratie; herinstalleer niet alleen PandaPaw.

Controleer ook de toolrechten van de engine. 'Nog niet wijzigen' in de chat is een taakbeperking en vervangt geen besturingssysteemrechten of het goedkeuringsmechanisme van de engine. Als je elke stap wilt goedkeuren, configureer dan de juiste rechtenmodus en ga er niet van uit dat elk commando automatisch een bevestigingskaart toont.

Stap 4: Verifieer eerst de identiteit met een alleen-lezen verzoek

Schrijf als eerste taak niet 'repareer de server'; stuur eerst:

Doe alleen identiteitsverificatie, wijzig geen bestanden of diensten. Rapporteer de huidige hostnaam, systeemgebruiker en absolute werkmap en noem de bestandsnamen op het hoogste niveau in de map. Lees geen .env, privésleutels of andere referenties. Als toegang tot de doelserver nodig is, leg eerst het verschil uit tussen de huidige uitvoerende machine en het doel, en wacht op mijn controle voordat je verdergaat.

Beschikbare identiteitsverificatiecommando's voor Linux / macOS zijn:

bash
hostname
id -un
pwd

Vergelijk de teruggegeven waarden punt voor punt met de verwachtingen: is het dezelfde uitvoerende machine, is het een goedgekeurd account en is het de juiste projectmap? Een vergelijkbare mapnaam, een online apparaat of exitcode 0 bewijst op zichzelf niet dat de toegang correct is.

In de beheermachine-aanpak moet je beide kanten afzonderlijk verifiëren. Hieronder wordt alleen een al door het bedrijf geconfigureerde SSH-alias gedemonstreerd; company-test-server is een voorbeeld en moet worden vervangen door een door de beheerder bevestigd doel:

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

Los de prompt bij de eerste verbinding niet op door host-sleutelverificatie uit te schakelen, en plak geen SSH-wachtwoorden of privésleutels in de Agent. De externe pwd kan de thuismap van het account zijn; ga er dus niet van uit dat het project al is gekozen. Latere commando's moeten het absolute pad van het externe project expliciet vermelden.

De acceptatiecriteria zijn: het antwoord correspondeert met de juiste host, identiteit en map; je kunt zien wat er is uitgevoerd; machtigingsvragen verschijnen zoals verwacht in de huidige rechtenmodus. Ga daarna vanaf een telefoon of een andere client opnieuw naar dezelfde sessie en controleer of de geschiedenis kan worden hersteld. Dat lijkt meer op het echte gebruik dan alleen naar een groene online-indicator kijken.

Stap 5: Maak eerst een serverinventaris en doe daarna alleen-lezen inspecties op meerdere machines

Een Agent op één beheermachine kan bestaande SSH aanroepen en zo achtereenvolgens de servers in de lijst bezoeken; PandaSi laat je in dezelfde sessie deze toolbewerkingen en resultaten volgen. Het 'centrale beheer' hier komt van één uitvoeringsingang, een expliciete lijst en één uniform rapport; het betekent niet dat het product ingebouwde serverassetdetectie, automatische taakverdeling over verbindingen of een interface voor groepsbesturing met één klik heeft. De beheermachine moet voor elk doel al geautoriseerd zijn; je mag niet aannemen dat je andere machines in hetzelfde subnet mag bezoeken omdat je toegang tot één machine hebt.

Groepeer doelen met aliassen en omgevingen

Laat een beheerder een lijst zonder referenties onderhouden. Alle namen hieronder zijn fictieve voorbeelden; de werkelijke lijst staat op een door het bedrijf goedgekeurde locatie en bevat geen wachtwoorden, privésleutels of eenmalige apparaatcommando's.

Omgeving SSH-alias Verwachte hostnaam Verwachte gebruiker Externe projectmap Autorisatie voor deze ronde
test test-web-01 demo-test-web-01 opsread Goedgekeurd absoluut pad van project A Identiteitsverificatie, alleen-lezen controle van opgegeven diensten
test test-worker-01 demo-test-worker-01 opsread Goedgekeurd absoluut pad van project A Identiteitsverificatie, alleen-lezen controle van opgegeven diensten
productie prod-web-01 demo-prod-web-01 opsread Goedgekeurd absoluut pad van project A Buiten deze ronde, apart aanvragen
productie prod-web-02 demo-prod-web-02 opsread Goedgekeurd absoluut pad van project A Buiten deze ronde, apart aanvragen

SSH-aliassen zijn namen in de bestaande SSH-configuratie van de beheermachine, niet de apparaatnamen van PandaSi. Laat de beheerder het doel, account, poort en eventuele toegangssprong van de alias controleren; je kunt niet alleen op basis van test in de naam bevestigen dat het een testmachine is. OpenSSH ondersteunt configuratiematching op Host-items; een extern commando dat op de commandoregel wordt opgegeven, wordt op de doelhost uitgevoerd. Zie de SSH-clientconfiguratiehandleiding en de SSH-commandohandleiding.

Schematische weergave van één beheermachine die via bestaande SSH volgens een geautoriseerde lijst toegang krijgt tot test- en productieservers
Schematische weergave van multiserverbeheer: controleer elk doel volgens de lijst, beperk gelijktijdigheid en keur productietoegang apart goed; dit is geen screenshot van een groepsbesturingsinterface.

Als PandaPaw op elke server afzonderlijk is geïnstalleerd, kun je in de werkruimte ook de bijbehorende uitvoerende machine kiezen en machine voor machine werken; maar zie 'meerdere machines zijn online' niet als één sessie die alle verbindingen automatisch aanstuurt. In het vervolg van dit artikel gebruiken we steeds de beheermachine via bestaande SSH, om te voorkomen dat twee uitvoerlocaties in één rapport terechtkomen.

Verifieer eerst serieel en beperk daarna de inspectieonderdelen

Doe de eerste keer per machine uit de lijst identiteitsverificatie, zonder applicatieconfiguratie of volledige logs te lezen. Hieronder staat een serieel Bash-voorbeeld voor de beheermachine, met alleen de twee testmachines die in deze ronde zijn toegestaan; het doet geen automatische omgevingsdetectie en vervangt niet de handmatige controle van de verwachte identiteit.

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

Deze commando's dienen alleen om de organisatie uit te leggen; ze zijn in dit artikel niet op deze twee voorbeeldhosts uitgevoerd. BatchMode=yes zorgt ervoor dat er bij een mislukte authenticatie niet op interactieve invoer wordt gewacht; ConnectTimeout=5 beperkt de fase waarin de verbinding tot stand komt, niet de totale tijdslimiet van het hele externe commando. De totale uitvoeringstijd moet apart worden ingesteld door een goedgekeurde tool of taakuitvoerder. Schakel host-sleutelverificatie niet uit om batchuitvoering mogelijk te maken; een bastionhost die interactieve MFA nodig heeft, moet het door het bedrijf goedgekeurde toegangsproces gebruiken en niet dit niet-interactieve voorbeeld.

Nadat de commando's zijn afgerond, vergelijk je eerst per machine de verwachte hostnaam en het account uit de lijst en controleer je daarna het goedgekeurde externe projectpad. De hierboven getoonde pwd is meestal alleen de externe loginmap, geen bewijs dat het projectpad correct is. Exitcode 0 betekent alleen dat deze commando's zijn afgerond, niet dat de hostidentiteit klopt en zeker niet dat de dienst gezond is. Als één machine niet overeenkomt, markeer je dat doel als geblokkeerd en lees je geen bedrijfsgegevens verder; als er gemeenschappelijke twijfels zijn over dezelfde omgeving of hetzelfde toegangskanaal, pauzeer je de hele controle.

Nadat de identiteitsverificatie is geslaagd, laat je de Agent dezelfde goedgekeurde alleen-lezen controles op de testmachines van deze ronde uitvoeren: status van opgegeven diensten, verwachte luisterpoorten, resterende schijfruimte, een samenvatting van gefilterde fouten binnen een opgegeven tijdvenster en één goedgekeurd health-request. Breid 'inspectie' niet uit naar het installeren van probes, recursief lezen van alle mappen of automatisch herstellen. Controlecommando's verschillen per systeem, servicemanager en applicatie; vul ze aan volgens de lijst en forceer niet één commando op alle hosts.

Maak de uitvoeringsgrenzen duidelijk met één prompt

Je draait op de beheermachine. Bezoek alleen test-web-01 en test-worker-01 uit de testgroep volgens de goedgekeurde serverlijst; scan geen nieuwe adressen en bezoek de productiegroep niet. Controleer eerst serieel per machine de hostnaam, gebruiker en het absolute pad van het externe project; blokkeer dat doel als dit niet overeenkomt met de lijst. Controleer daarna alleen de dienststatus, poorten, schijf en health-requests die in de lijst expliciet zijn geautoriseerd; neem uit logs alleen gefilterde fragmenten uit het opgegeven tijdvenster. Blijf de eerste keer volledig serieel; wijzig geen configuratie, herstart niets, installeer geen afhankelijkheden en verhoog niet automatisch rechten. Als de verbinding met één machine mislukt, bewaar de fout en ga verder met de onafhankelijke alleen-lezen controles van andere geverifieerde doelen; pauzeer de hele batch bij aanwijzingen dat de omgeving of het gemeenschappelijke toegangskanaal niet klopt. Leg per machine tijd en tijdzone, commando, exitstatus, belangrijkste bewijs en openstaande punten vast en vat ten slotte per server samen. Geef voor elke reparatie afzonderlijk een voorstel; voer niets uit.

Dit is een taakbeperking; ze moet samengaan met alleen-lezen accounts, goedkeuring van enginetools en beperkingen op netwerktoegang. 'Niet wijzigen' in een prompt verandert een schrijfbaar account niet automatisch in een alleen-lezen account.

Beperk gelijktijdigheid en laat fouten bij het betreffende doel blijven

De eerste inspectie is serieel om goed te kunnen controleren; bij meer doelen kun je binnen de door het bedrijf toegestane uitvoeringswijze een lage gelijktijdigheidslimiet instellen, bijvoorbeeld maximaal twee machines tegelijk. 'Twee' is hier een voorbeeldbudget voor de uitvoering, geen productlimiet of prestatiegarantie van PandaSi. Als de gekozen Agent of tool gelijktijdigheid niet betrouwbaar kan beperken, blijf dan serieel werken en vervang dit niet door tijdelijke onbeperkte achtergrondtaken.

Stel per controle een eigen time-out en resultaatregistratie in; een mislukt doel mag geen herstart, herinstallatie of oneindige herhaling van de hele batch op andere machines uitlokken. Registreer verbindingstime-outs, identiteitsafwijkingen, onvoldoende rechten en mislukte controlecommando's afzonderlijk; voeg ze niet allemaal samen tot 'offline'. Als de fout komt door een gedeelde bastionhost, authenticatiebron of onduidelijke omgevingstoewijzing, stop dan en onderzoek de gemeenschappelijke oorzaak in plaats van de gelijktijdigheid verder op te voeren.

De samenvattingstabel moet per machine vermelden of de identiteit overeenkomt, welke controles daadwerkelijk zijn uitgevoerd, het belangrijkste bewijs en onbekende punten. Hieronder staat alleen het registratieformaat; de tekst in de tabel is invulinstructie, geen meetresultaat:

Doel Identiteitsverificatie Dienst- en healthcontroles Reden voor niet-afronding Volgende stap
test-web-01 Bewijs invullen Vóór uitvoering als onbekend noteren Invullen volgens de situatie Na verificatie beslissen
test-worker-01 Bewijs invullen Vóór uitvoering als onbekend noteren Invullen volgens de situatie Na verificatie beslissen

Het rapport moet vermelden 'hoeveel machines gepland, hoeveel afgerond, hoeveel mislukt en hoeveel overgeslagen', met bewijs per doel. Ontbrekende resultaten mogen niet standaard als gezond gelden; een uiteindelijke exitcode 0 van een batchcommando mag ook niet verbergen dat één machine halverwege al is mislukt.

Stap 6: Doorloop eerst op één testdienst een 502-onderzoek en herstel

Het volgende is een didactisch voorbeeld, geen in dit artikel gemeten incident en geen set herstelcommando's die je op alle servers kunt kopiëren. Stel dat een testdienst die je mag beheren na een release 502 teruggeeft en je het testdomein, de dienstnaam en de projectmap kent.

Zesstapsproces van doelverificatie via alleen-lezen onderzoek, wijzigingsvoorstel, menselijke goedkeuring en uitvoering tot acceptatie van herstel
Schematische weergave van het probleemoplossingsproces: keur de concrete wijziging goed en controleer bij herstel zowel de health-interface als echte gebruikersverzoeken.

Beperk eerst het onderzoeksbereik

Onderzoek de 502 na de release van de testdienst. Controleer eerst de doelhost, gebruiker en map en bekijk alleen-lezen de meest recente releasegegevens, de status van de betrokken diensten, luisterpoorten en de proxy- en applicatielogs binnen het opgegeven tijdvenster. Herstart niets, wijzig geen configuratie, installeer geen afhankelijkheden en bezoek geen andere omgevingen. Geef alleen gefilterde fragmenten terug die met deze storing te maken hebben, en noem bewijs, mogelijke oorzaken en welke informatie nog ontbreekt.

Geef eerst een tijdvenster en expliciete logbronnen op, zodat de Agent niet de hele server recursief doorzoekt. Alleen-lezen kan ook gegevens lekken: tokens, klantinformatie en request-bodies in logs moeten nog vóór ze in de modelcontext terechtkomen worden gefilterd, niet pas nadat ze zijn verzonden en het model ze 'moet vergeten'.

Een 502 betekent dat de proxy geen bruikbare upstream-respons heeft gekregen, maar met alleen de statuscode kun je niet bepalen of een proces is gestopt, de poort niet klopt, een afhankelijkheid abnormaal is of er een verbindingsprobleem is. Laat de Agent de upstream-adressen van de proxy, de werkelijke luisterpoorten en logs uit dezelfde periode met elkaar in lijn brengen; maak bij logs van verschillende machines eerst de tijdzones gelijk. Zie 'machine online' niet als 'applicatie gezond', en zie ontbrekende overeenkomende logs niet meteen als bewijs dat er geen fout is opgetreden.

Vraag om een controleerbaar herstelvoorstel

Als het bewijs wijst op 'de upstream-poort in de releaseconfiguratie komt niet overeen met de werkelijke luisterpoort', laat de Agent dan het concrete bestand en de kleinste diff, het beoogde commando, de betrokken testdienst, de configuratiecontrole en de terugdraaicondities indienen. Dit blijft een voorwaardelijk voorbeeld; als het bewijs dit niet ondersteunt, ga je door met onderzoek.

Het goedkeuringsobject moet één concrete wijziging zijn, niet 'regel alles maar'. Keur bijvoorbeeld goed dat een opgegeven testproxyconfiguratie wordt gewijzigd en dat de testproxy na een geslaagde configuratiecontrole opnieuw wordt geladen; dit mag niet meeliften met het upgraden van afhankelijkheden, opschonen van databases, wijzigen van productieconfiguratie of herstarten van de hele host. De werkelijke commando's moeten worden bepaald op basis van de gebruikte procesmanager en deploymentregels.

Valideer na uitvoering het gebruikerspad

Na goedkeuring en uitvoering moet de acceptatie ten minste omvatten: of de configuratiecontrole is geslaagd, of de betrokken processen en poorten aan de verwachting voldoen, of de health-interface normaal is, en of een echte testaanvraag vanaf een onafhankelijke client via de oorspronkelijke ingang weer werkt. Als de health-interface 200 geeft maar bedrijfsroutering, autorisatie of databaseverzoeken nog steeds mislukken, mag je niet schrijven dat 'het probleem is opgelost'.

Laat de Agent ten slotte de uitgevoerde commando's, werkelijke wijzigingen, verificatieresultaten en resterende risico's samenvatten; schrijf bij niet-geverifieerde punten expliciet 'onbekend'. Draag de bevestigde oorzaak en maatregelen om herhaling te voorkomen over aan het registratiesysteem van het bedrijf. Onderzoek wordt ondersteund door AI SRE; het opnemen van de correctie in de configuratierepository en het releaseproces reikt verder naar AI DevOps.

Stap 7: Wijzig andere servers gefaseerd nadat één machine is geslaagd

Autorisatie voor batchinspectie en batchwijziging moeten gescheiden zijn. Als je ziet dat dienstversies op meerdere machines verschillen, betekent dat niet dat je ze allemaal kunt upgraden; een dienst met dezelfde naam kan verschillende rollen vervullen of andere configuratie gebruiken. Controleer eerst of de verschillen verwacht zijn en stel daarna een wijzigingsplan op met per doel afzonderlijke items.

Kies voor de eerste batch één duidelijke testmachine. Leg in het plan de doelalias, de geverifieerde hostidentiteit, de oorspronkelijke versie of configuratie, de beoogde diff, de verwachte impact, de controlemethode, de terugdraaistappen en de stopcondities vast. Voer na goedkeuring alleen deze machine uit en wacht op acceptatie via de health-interface en het werkelijke gebruikerspad; zonder bewijs van herstel mag je de status niet als geslaagd markeren en naar de volgende batch gaan.

Nadat de proef is geslaagd, bepaal je de doellijst, batchgrootte en gelijktijdigheidslimiet voor de volgende batch; gebruik geen impliciete reikwijdte als 'alle resterende machines', die met de lijst kan veranderen. Controleer na elke batch de werkelijke versies en requestresultaten en registreer geslaagde, mislukte en niet-uitgevoerde doelen. Stop volgende batches bij een identiteitsafwijking, mislukte configuratiecontrole, verslechterde bedrijfsaanvraag of mislukte rollback, en bewaar het bewijs voor de verantwoordelijke; zie goedkeuring voor de testfase niet als productiegoedkeuring.

Rollback moet ook per machine worden gedefinieerd. Een configuratiewijziging kan volgens de goedgekeurde methode worden teruggezet naar de eerdere configuratie; bij databasemigraties, dataschrijfacties of neveneffecten in externe systemen mag je niet aannemen dat 'terug naar de oude versie' de impact ongedaan maakt; laat de verantwoordelijke eerst het herstelplan bepalen. Draai alleen terug op doelen die daadwerkelijk zijn gewijzigd en herstel nodig hebben; voer geen omgekeerde commando's zonder onderscheid op de hele groep uit.

Je kunt de volgende taak als volgt formuleren:

Stel op basis van het bewijs van deze inspectie per machine eerst alleen voor test-web-01 een herstelplan op; voer niets uit. Noem de geverifieerde hostidentiteit, de concrete verschillen, de volledige commando's, de impact, de terugdraaistappen, het acceptatieverzoek en de stopcondities. Voer pas uit na expliciete goedkeuring voor deze machine; geef na afronding het werkelijke bewijs en wacht op autorisatie voor de volgende batchdoelen. Machines die niet zijn goedgekeurd, blijven ongewijzigd. De productiegroep valt buiten deze ronde en kan de testgoedkeuring niet erven.

Als zowel test als productie moeten worden behandeld, doorloopt productie het aparte wijzigingsproces van het bedrijf. Eén uniforme beheer-ingang maakt omgevingsisolatie, onderhoudsvensters, releasegoedkeuring of auditvereisten niet overbodig.

Na een verbindingsbreuk op de telefoon: controleer eerst de taakstatus

Het sluiten van de client, de telefoon naar de achtergrond sturen of netwerkverlies betekent niet automatisch dat een extern commando is gestopt. Processen op de uitvoerende machine kunnen doorlopen; ze kunnen ook mislukken door een offline host, een afgesloten engine of een beperking van de externe route. Ga terug naar de oorspronkelijke sessie, bekijk eerst de toolresultaten en controleer daarna processen, artefacten en dienststatus, om herhaalde installaties, releases of migraties te voorkomen.

Bij een externe commandoketen kan 'geen exitstatus teruggegeven' voorkomen: een time-out op de verbindingslaag betekent niet dat het commando niet is begonnen. Voor langdurige taken moeten time-out, statusregistratie en annuleringswijze in het uitvoeringskanaal van het bedrijf expliciet worden vastgelegd, vooral bij meerdere SSH-sprongen. Dit artikel behandelt de time-outwaarde van één versie van het kanaal niet als algemene regel voor alle SSH-tools.

Als je moet stoppen, gebruik een expliciete stopactie en verifieer de externe uitvoeringsstatus; bij een niet-idempotente wijziging met onduidelijke status neem je eerst handmatig over en controleer je. Vertrouw niet op herhaald klikken of het opnieuw sturen van dezelfde instructie om te bepalen of de vorige keer is geslaagd.

Wat heeft netwerking van bedrijfs- en thuisapparaten met dit artikel te maken?

Dit artikel gaat ervan uit dat de goedgekeurde toegangsroute van de beheermachine naar elke server al bestaat; de nadruk ligt op hoe de Agent het werk per doel organiseert. Hoe meerdere apparaten op het bedrijf en thuis netwerktoegang krijgen, elkaar bereiken en netwerkgrenzen afhandelen, is een aparte toegangstaak en wordt hier niet door elkaar gehaald; een geslaagde netwerkinrichting betekent ook niet dat je alle apparaten daarin mag beheren. Als je meer wilt weten over apparaattoegang, lees dan eerst de bestaande Uitleg over apparaatinterconnectie en volg het netwerkgoedkeuringsproces van het bedrijf.

Grenzen voor bedrijfsgegevens, modellen en relay

'Tools draaien lokaal' beschrijft de uitvoeringslocatie en belooft niet dat gegevens het bedrijf nooit verlaten. Sessieberichten en goedkeuringen gaan via de communicatieroute van het product; logs, code en tooluitvoer die aan de Agent worden gegeven, kunnen ook in verzoeken aan de gekozen modelleverancier terechtkomen. Controleer vóór aansluiting welke modellen, gegevensverwerkingsafspraken, logretentie en toegangsregels het bedrijf heeft goedgekeurd.

Behoud de bestaande sleutelbeheer- en auditprocessen; lees referenties uit de goedgekeurde referentieopslag van de uitvoerende machine en plak ze niet in gesprekken of coderepositories. Beperk het uitvoeringsaccount en het bereikbare netwerk en geef log- en maprechten alleen waar nodig. Bij vertrek, afdanking van apparatuur of rechtenwijzigingen moet je tegelijk de apparaatautorisatie in de werkruimte, het account op de uitvoerende machine en de toegang tot doelservers aanpakken; één client verwijderen is niet hetzelfde als alle uitvoeringsrechten intrekken.

Veelgestelde vragen (FAQ)

Kan PandaSi automatisch dienstdoen, alarmen ontvangen en productie repareren?

Dit artikel gaat over externe sessies, geautoriseerde handelingen en handmatige opvolging. 24/7-monitoring, alarmeringskoppelingen, automatische triggers en onbeheerde reparatie vereisen extra monitoringsystemen, triggers, runbooks en rechtenbeheer; uit een geslaagde aansluiting kun je niet afleiden dat die mogelijkheden al aanwezig zijn.

Kan ik dit gebruiken als op bedrijfsservers geen software mag worden geïnstalleerd?

Je kunt een goedgekeurde beheermachine-aanpak overwegen, op voorwaarde dat de beheermachine al legale netwerk- en identiteitsrechten heeft om de doelen te bereiken. Als het bedrijf ook externe Agent-toegang van dit type verbiedt, doorloop dan eerst de goedkeuringsprocedure en kies geen verborgen verbindingsroute.

Moet ik een openbare SSH-poort voor de server openstellen?

PandaPaw-sessieverbindingen worden doorgaans door beide zijden actief uitgaand opgezet; meestal is het niet nodig om voor clienttoegang een nieuwe openbare inkomende poort toe te voegen. Maar de beheermachine moet nog steeds een door het bedrijf goedgekeurde toegangsroute naar de doelserver hebben; bij beperkte uitgaande toegang configureert de netwerkbeheerder dit, en je schakelt niet zelf beveiliging uit.

Moet PandaPaw op elke server worden geïnstalleerd?

De beheermachine-aanpak in dit artikel vereist niet dat elk SSH-doel PandaPaw heeft, maar de beheermachine moet een goedgekeurd netwerkkanaal en een extern account hebben. Bij directe installatie draait de Agent op de betreffende host en wordt elke host afzonderlijk aangesloten; verwar de twee niet met dezelfde automatische groepsbesturingsmogelijkheid.

Als de inspectie op één machine mislukt, kunnen andere machines doorgaan?

Voor alleen-lezen controles waarvan de identiteit is geverifieerd en die onafhankelijk zijn, kun je het bewijs van de mislukking op dat doel bewaren en met andere doelen doorgaan; bij een gemeenschappelijke toegangsstoring of twijfel over de omgevingstoewijzing pauzeer je de hele batch. In de wijzigingsfase volg je de goedgekeurde stopcondities; de regel 'inspectie mag doorgaan' geldt daar niet.

Wat accepteer je eerst na aansluiting?

Verifieer eerst de beheermachine, modelantwoorden en sessieherstel, controleer daarna per machine uit de lijst de doelidentiteit, mappen en rechten, rond de alleen-lezen inspectie en resultatensamenvatting af, en doorloop ten slotte op één testdienst goedkeuring, acceptatie met echte aanvragen en de latere batchprocedure. De waarde van aansluiting is dat geautoriseerde taken continu kunnen worden opgevolgd; of uitbreiding naar meer diensten passend is, bepaal je op basis van het bewijs uit deze acceptatie.

Bronnen en reikwijdte van de controle

De eerste versie van dit artikel is op 31 oktober 2026 gecontroleerd tegen de quickstart van het project, de PandaPaw-hostdocumentatie, de logica voor het genereren van installatiecommando's voor apparaten en de openbare download-ingang van het installatiescript; op 1 november is de procedure voor meerdere machines aangevuld en zijn SSH-configuratie en parametersemantiek vergeleken met de officiële OpenSSH-handleidingen. In dit artikel is alleen gecontroleerd tegen de huidige documentatie en broncode; er is geen installatie- en koppelingstest op een schone host uitgevoerd en de inspectie, batchwijzigingen of het 502-voorbeeld zijn niet in een echte multi-serveromgeving uitgevoerd; netwerken, engine-goedkeuring en gegevenscompliance van elk bedrijf moeten in een eigen testomgeving worden geaccepteerd. De illustraties zijn door AI gegenereerde concept- of processchema's, geen screenshots van de interface.