Din server brukar inte direkt ”gå ner”. Den degraderar i tysthet, får timeouts, returnerar konstiga koder – och först därefter pingar någon dig när kunderna redan har märkt det. När du väl SSH:ar in gissar du. Igen.
Den här typen av upplägg för SSH-e-postlarm träffar systemadministratörer först, men DevOps-ansvariga och små IT-team känner av det också. Du behöver en snabb förvarning, plus tillräckligt med detaljer för att kunna agera utan att starta en detektivhistoria.
Det här n8n-flödet kör schemalagda SSH-diagnoser, låter AI göra rå output till en läsbar rapport och mejlar den till rätt personer. Nedan ser du hur det fungerar, vad du behöver och vilka resultat du kan förvänta dig.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: SSH till e-post: serverlarm du kan agera på
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:robot", form: "rounded", label: "AI Agent", pos: "b", h: 48 }
n1@{ icon: "mdi:robot", form: "rounded", label: "Structured Output Parser", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Execute a command", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Azure OpenAI Chat Model", pos: "b", h: 48 }
n4@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Send email", pos: "b", h: 48 }
n0 --> n5
n4 --> n2
n2 --> n0
n3 -.-> n0
n3 -.-> n1
n1 -.-> n0
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n4 trigger
class n0,n1 ai
class n3 aiModel
Problemet: ”Vi kollar när det går sönder”-övervakning
De flesta team saknar inte övervakning för att de inte bryr sig. De saknar den för att de ”enkla” alternativen snabbt blir ett projekt. Du installerar en agent, öppnar portar, finjusterar tröskelvärden, kopplar larm och spenderar sedan veckor på att bekämpa brus. Så du gör standardvalet: loggar in när något känns fel. Det fungerar tills du hanterar fler än en server, eller tills ett ”mindre” problem slår till kl. 02.00. Den verkliga kostnaden är inte bara driftstopp. Det är den mentala belastningen av att aldrig vara säker på att allt mår bra.
Det eskalerar snabbt. Här är var det faller i verkligheten.
- Du upptäcker inte långsamma fel (disk som fylls, processer som fastnar, DNS-konstigheter) förrän användare klagar.
- När du till slut SSH:ar in kör du samma kommandon om och om igen och klistrar in anteckningar i chatten eller e-post.
- Statusuppdateringar blir vaga eftersom rå terminaloutput är svår att sammanfatta, särskilt under press.
- När du lägger till fler servrar blir ”snabbkollar” en timme av kontextbyten varje vecka.
Lösningen: schemalagda SSH-diagnoser som mejlar en tydlig rapport
Det här flödet ger dig lättviktig övervakning utan att du behöver sätta upp en fullskalig övervakningsstack. Enligt ett schema du väljer ansluter n8n till din server via SSH och kör de diagnoser du bryr dig om (uptime, disk, tjänster – vad du än väljer att ta med). Rå output skickas sedan till en AI-agent som skriver om den till en felfri, lättläst rapport i incident-stil. Slutligen mejlar n8n rapporten till din inkorg så att du snabbt kan skumma, vidarebefordra eller agera direkt. Inget mer ”vad betyder den här textklumpen?” när du behöver jobba snabbt.
Flödet startar med en schemalagd trigger. Det kör SSH-kontroller och använder sedan en Azure OpenAI-chatmodell plus en strukturerad parser för att hålla rapporten konsekvent. Därefter skickas slutrapporten via e-post med nyckeldetaljerna tydligt högst upp.
Vad du får: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du hanterar 6 servrar. En ”snabbkoll” tar vanligtvis runt 10 minuter per server (SSH:a in, köra några kommandon, tolka output och sedan meddela någon), vilket blir ungefär 1 timme per runda. Om du gör det tre gånger i veckan är det cirka 3 timmar som försvinner. Med det här flödet lägger du kanske 5 minuter på att ställa in schema och mottagare, och sedan läser du bara den mejlade rapporten när den kommer. De flesta veckor innebär det timmar tillbaka med färre överraskningar.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- SSH-åtkomst för att köra diagnoser på dina servrar
- SMTP-e-postkonto för att skicka larmmejl på ett tillförlitligt sätt
- Azure OpenAI-uppgifter (hämta dem från Azure OpenAI Studio i din Azure-portal)
Kompetensnivå: Medel. Du klistrar in uppgifter, sätter ett schema och är bekväm med att välja några SSH-kommandon att köra.
Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).
Så fungerar det
En schemalagd kontroll drar igång allt. Flödet körs på en timer (var 5:e minut, varje timme – vad som passar din risktolerans). Du bestämmer frekvensen och låter det rulla.
n8n ansluter till din server via SSH. Det loggar in med uppgifterna du lagrar i n8n och kör diagnoser som visar hälsosignaler, som last, diskanvändning, tjänststatus och nyliga fel.
AI gör terminaloutput till en rapport du kan skumma. Azure Chat-LLM och AI Report Composer omvandlar stökig text till en sammanfattning med det viktigaste markerat, och en strukturerad parser gör formatet förutsägbart.
Flödet mejlar slutlarmet. ”Dispatch Health Email” skickar ett felfritt meddelande med serverns endpoint eller identitet, statuskontext och en tidsstämpel så att du snabbt kan agera eller vidarebefordra till någon annan.
Du kan enkelt ändra SSH-kommandona för att matcha din stack (Docker, Nginx, databaskontroller) utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera den schemalagda triggern
Ställ in schemat som startar övervakningskörningen. Det här arbetsflödet börjar med Scheduled Health Trigger och skickar data till Run SSH Diagnostics.
- Lägg till eller öppna Scheduled Health Trigger.
- Definiera ert schema i inställningarna för rule (den nuvarande regeln är tom, så ange ett intervall innan produktionsanvändning).
- Bekräfta kopplingen från Scheduled Health Trigger till Run SSH Diagnostics.
Steg 2: Anslut serveråtkomst för SSH-diagnostik
Samla in systemmätvärden genom att köra Linux-kommandon via Run SSH Diagnostics.
- Öppna Run SSH Diagnostics.
- Ställ in authentication till
privateKey. - Klistra in hela command-scriptet exakt som det visas för att fånga systeminfo, CPU, minne, disk, tjänster, nätverk och topprocesser.
- Autentiseringsuppgifter krävs: Lägg till era SSH-uppgifter (host, user och private key) i den här noden.
systemctl och ip -s link; annars kan rapporten bli ofullständig.Steg 3: Konfigurera AI-verktyget för rapportgenerering
Använd AI för att omvandla rå SSH-utdata till en strukturerad JSON-rapport. Körflödet är Run SSH Diagnostics → AI Report Composer.
- Öppna AI Report Composer och bekräfta att promptType är satt till
define. - Ställ in prompten text till hela instruktionsblocket, inklusive SSH-utdatavariabeln
{{ $json.stdout }}. - Verifiera att hasOutputParser är aktiverad så att utdata routas via Parse Structured Result.
- Öppna Parse Structured Result och behåll autoFix satt till
truemed det angivna manuella JSON-schemat i inputSchema. - Öppna Azure Chat LLM och ställ in model till
gpt-4.1. - Autentiseringsuppgifter krävs: Anslut era
azureEntraCognitiveServicesOAuth2Api-uppgifter i Azure Chat LLM.
Steg 4: Konfigurera e-postutskicket
Skicka den AI-genererade rapporten via e-post till ert driftteam. Flödet är AI Report Composer → Dispatch Health Email.
- Öppna Dispatch Health Email.
- Ställ in html till
{{ $json.output.details }}för att skicka HTML-rapporten. - Ställ in subject till
Health Report - Server | {{ $json.output.status }}. - Autentiseringsuppgifter krävs: Anslut era
smtp-uppgifter (redan konfigurerat, men verifiera host, port och avsändare).
{{ $json.output.details }} tomt. Håll schemat i Parse Structured Result synkroniserat med prompten.Steg 5: Testa och aktivera ert arbetsflöde
Verifiera end-to-end-körning innan ni aktiverar schemat.
- Klicka på Execute Workflow för att köra Scheduled Health Trigger manuellt.
- Bekräfta att Run SSH Diagnostics returnerar en
stdout-payload med systemmätvärden. - Kontrollera utdata från AI Report Composer för att säkerställa giltig JSON med
executiveSummary,summary,details,statusochrecommendations. - Verifiera att Dispatch Health Email levererar ett e-postmeddelande med HTML-rapport och status i ämnesraden.
- Växla arbetsflödet till Active för att aktivera schemalagd hälsoövervakning.
Vanliga fallgropar
- SSH-uppgifter kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera först SSH-posten under n8n Credentials (och serverns auth-loggar).
- Om du använder Wait-noder eller extern rendering varierar bearbetningstider. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Prompter i Azure OpenAI kan vara för generiska som standard. Lägg in ditt föredragna rapportformat och ”vad som ska flaggas som brådskande” tidigt, annars kommer du fortsätta skriva om larmen.
Vanliga frågor
Cirka 30 minuter om du redan har SSH- och SMTP-uppgifter redo.
Nej. Du klistrar mest in uppgifter och väljer vilka diagnoskommandon som ska köras.
Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med Azure OpenAI-användning, vilket oftast är en liten kostnad per meddelande.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, men planera medvetet. Du kan köra SSH-diagnoser mot en lista av hosts (med Split in Batches/looping) och slå ihop resultaten till ett mejl, eller skicka ett mejl per server beroende på vad du föredrar. Den enklaste anpassningen är att redigera kommandouppsättningen i ”Run SSH Diagnostics” och justera prompten i AI Report Composer så att den matchar vad du tycker ska räknas som ”brådskande”. Många team lägger till diskgränser, omstarter av tjänster och en kort rad med ”nästa åtgärd” i outputen.
Oftast handlar det om uppgifter eller nätverksåtkomst. Bekräfta att SSH-användare/nyckel (eller lösenord) är korrekt i n8n och verifiera sedan att servern tillåter den autentiseringsmetoden och att din n8n-host-IP inte blockeras av en brandvägg. Kontrollera också låsta konton, ändrade portar eller en host key-mismatch efter en ombyggnad.
Dussintals, så länge ditt schema och serverresurserna är rimliga.
Ofta, ja. SSH-tunga automatiseringar är ett område där n8n är betydligt mer bekvämt, och du kan self-hosta för obegränsade körningar utan att betala per steg. Du får också bättre kontroll över grenlogik, retries och batchning när du börjar kontrollera flera servrar. Zapier och Make kan fortfarande fungera bra för enkel e-postrouting, men de är inte byggda kring att köra diagnoser på servrar. Prata med en automationsspecialist om du vill ha en snabb rekommendation för din setup.
När det här väl rullar slutar du ”kolla” och börjar svara. Flödet hanterar de repetitiva diagnoserna, och din inkorg får versionen du faktiskt kan använda.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.