야간 SM 운영. 모니터링에서 알람이 분당 수십 건씩 올라옵니다. 대부분은 일시적 스파이크라 무시해도 되지만, 그 사이에 진짜 장애 한 건이 섞여 있습니다. 당직자는 알람을 하나씩 열어 읽고, 심각도를 가늠하고, 메신저에 공유하고, 티켓을 손으로 만듭니다. 새벽 4시, 손이 느려지고 진짜 한 건을 놓칩니다.
옆 팀은 다릅니다. 알람이 오면 n8n 워크플로우가 받아서, AI 노드가 본문을 읽고 "Sev-2, 결제 API 타임아웃 급증"이라고 한 줄로 분류·요약합니다. 심각도별로 갈라져 Slack 채널에 온콜을 멘션하고, Jira에 티켓 초안이 자동으로 만들어집니다. 당직자는 "이미 분류된 것"만 봅니다. 사람의 일이 "전부 읽기"에서 "분류된 것 검토·판단"으로 옮겨갔습니다.
또 다른 운영자는 자동화를 미리 짜 두는 대신, Slack에서 Claude에게 직접 말합니다. "지난주 P1 티켓 다 모아서 RCA 표로 만들어 줘." Claude가 MCP로 연결된 Jira 도구를 호출해 티켓을 모으고 표를 돌려줍니다. 워크플로우를 그리지 않고 대화로 즉석 처리한 것입니다.
이 모듈은 이 두 가지 — 미리 짜는 n8n 정형 자동화와 대화로 즉석 처리하는 Claude/MCP 자동화 — 를, "발행은 사람이 승인한다"는 안전선 위에서 다룹니다.
- 1n8n의 핵심 빌딩블록(노드·트리거·Webhook·Cron·HTTP·IF·AI 노드)을 구분해 설명할 수 있다
- 2폐쇄망·기밀 환경에서 n8n 셀프호스트가 정답이고 Zapier/Make는 어디에 적합한지 판단할 수 있다
- 3Claude의 MCP/Tool Use 3역할(Host·Server·Tool use)을 설명하고 n8n 정형 자동화와 대비할 수 있다
- 4"모니터링 알람→AI 분류·요약→Slack→Jira 티켓" 워크플로우를 단계로 설계할 수 있다
- 5운영 자동화에 "발행 전 사람 승인·권한 최소화·감사로그·중복 제거" 안전수칙을 적용할 수 있다
n8n — 운영 자동화의 빌딩블록
워크플로우 = 노드들이 선으로 연결된 그래프
운영 업무에는 "이 일이 생기면 → 저걸 하고 → 그다음 이걸 한다"는 반복 절차가 많습니다. 알람이 오면 분류하고, 메신저에 알리고, 티켓을 만드는 일이 매번 똑같이 반복됩니다. n8n은 이런 절차를 사람 대신 실행해 주는 워크플로우 자동화 도구입니다.
n8n에서 워크플로우는 노드(node)들이 선으로 연결된 방향 그래프입니다. 각 노드는 데이터(item 배열)를 받아 작업하고, 결과를 다음 노드로 내보냅니다. 절차를 코드로 길게 쓰는 대신, 블록을 선으로 잇듯 조립합니다.
가장 먼저 알아야 할 두 종류는 트리거 노드(워크플로우의 시작점)와 액션 노드(중간 처리)입니다.
| 구분 | 노드 | 하는 일 | 운영 예 |
|---|---|---|---|
| 트리거 | Webhook | 고유 URL로 HTTP 요청이 들어오면 실행 | 모니터링 알람·외부 시스템 연동의 출발점 |
| 트리거 | Cron/Schedule | 주기 실행. cron 5필드(분·시·일·월·요일) | 0 9 * * 1 = 매주 월 09:00 정기 리포트 |
| 액션 | HTTP Request | 거의 모든 REST API 호출(전용 통합 없어도) | Jira/Redmine·메신저 API 직접 호출 |
| 액션 | IF / Switch | 조건 분기 / 다분기 | 심각도별 라우팅 |
| 액션 | Set / Function | 필드 변환 / 커스텀 JS | 알람 본문 정규화 |
| 액션 | AI 노드(LangChain) | 워크플로우 안에서 LLM 호출 | 알람 분류·요약, AI 에이전트 |
핵심은 AI 노드입니다. n8n은 LangChain 노드로 OpenAI·Anthropic·셀프호스트 모델을 워크플로우 안에 끼워 넣을 수 있습니다. 그래서 "알람 본문을 LLM이 읽고 심각도를 매긴다" 같은 판단을 자동화 중간에 넣을 수 있습니다.
셀프호스트 vs SaaS — 폐쇄망에서는 n8n 셀프호스트가 정답
자동화 도구는 n8n만 있는 게 아닙니다. Zapier(완전 관리형 SaaS)와 Make도 있습니다. 무엇을 고를지는 "기술 난이도"가 아니라 **"데이터가 어디로 흐르는가"**로 먼저 갈립니다.
| 항목 | n8n | Zapier | Make |
|---|---|---|---|
| 호스팅 | 셀프호스트 무료·무제한 실행 (데이터 외부 유출 없음) | 완전 관리형 SaaS | 관리형 |
| AI/에이전트 | LangChain 노드로 AI 에이전트 구축 | AI API 호출은 되나 자율 에이전트는 한계 | 중간 |
| 대상 | 개발자·기술팀, 복잡 로직 | 비기술 사용자 no-code | 중간 |
| 적합 | 폐쇄망·기밀·복잡 워크플로우 | 사내 비민감 업무·빠른 PoC | 중·대량 균형 |
한국 SI/SM 현장의 결론은 분명합니다. 고객사 폐쇄망·기밀 데이터(고객 정보·소스·계약)가 걸리면 n8n 셀프호스트가 정석입니다. 워크플로우 엔진과 데이터가 사내 인프라 안에 머물러 외부로 나가지 않기 때문입니다. Zapier/Make는 사내 비민감 업무나 빠른 PoC에 좋습니다.
다만 셀프호스트에는 숨은 비용이 있습니다 — 서버 운영·업데이트·모니터링은 결국 사람 시간입니다. "무료"는 라이선스 비용일 뿐, 운영 비용은 따로라는 점을 같이 판단해야 합니다.
검증된 워크플로우 — 알람 → AI 분류·요약 → Slack → Jira 티켓
이벤트 구동형 장애 대응 파이프라인
가장 많이 쓰이는 검증된 패턴은 모니터링 알람을 받아 AI가 분류·요약하고, 메신저와 티켓으로 흘려보내는 파이프라인입니다. 사람은 "이미 분류·요약된 것"만 보게 되어, 야간 무인 모니터링에서도 진짜 한 건을 놓치지 않습니다.
각 노드의 역할은 이렇게 나뉩니다.
| 노드 | 종류 | 하는 일 |
|---|---|---|
| 모니터링 알람 | Webhook 트리거 | Grafana/Zabbix/SNS 알람이 n8n URL을 때려 워크플로우 시작 |
| AI 분류·요약 | AI 노드(LangChain) | LLM이 알람 본문을 읽고 심각도 분류 + 한 줄 요약 생성 |
| 심각도별 라우팅 | IF / Switch | Sev-1/2/3로 분기 |
| Slack / 잔디 | 액션 노드 | 채널에 요약+심각도 알림, 온콜 담당자 멘션 |
| Jira / Redmine | 액션 노드 | 머신 정보 포함한 티켓 자동 생성 |
| (선택) Sheets 로깅 | 액션 노드 | 타임라인·상태 로깅, 사후 리포트 |
역할을 한 줄로 요약하면 — n8n=오케스트레이터(접착제), LLM=판단·요약 엔진, Slack=휴먼 인터페이스, Jira=기록 시스템입니다.
저비용 모델 라우팅도 여기서 실증됩니다. 알람 분류·요약처럼 대량·단순한 의도 처리는 Claude Haiku 같은 빠르고 저렴한 모델로 충분합니다. "RFP 100쪽 분석"에는 상위 모델을, "알람 한 건 요약"에는 하위 모델을 — 작업별로 모델을 배분하는 사고가 비용을 좌우합니다.

그림: 이벤트 구동형 장애 대응 파이프라인 — n8n이 알람을 받아 AI로 분류·요약한 뒤 Slack과 Jira로 분기시킨다. 사람은 "이미 분류된 것"만 검토한다.
알람 분류·요약 AI 노드 프롬프트와 흐름 예시
AI 노드에 들어가는 프롬프트는 "단정 금지·구조화 출력"을 박아 두는 것이 핵심입니다. 자동으로 티켓이 만들어지므로, 출력 형식이 흔들리면 뒤 노드가 깨집니다.
AI 노드 프롬프트 예시:
너는 SM 운영 알람 분류기다. 아래 모니터링 알람 본문을 읽고 JSON으로만 답하라.
[출력 형식]
{ "severity": "Sev-1|Sev-2|Sev-3", "summary": "한 줄 요약(40자 이내)",
"service": "추정 영향 서비스", "confidence": "높음|중간|낮음" }
[규칙]
- severity는 영향 범위·지속성 기준. 불확실하면 한 단계 보수적으로(더 심각하게) 잡고 confidence를 낮춤.
- 알람 본문에 없는 내용은 추측하지 마라. service를 모르면 "불명".
- JSON 외 다른 텍스트는 출력하지 마라.
[알람 본문]
"""{{$json.alert_body}}"""
n8n이 이 JSON을 받아 다음처럼 흐릅니다.
Webhook 트리거 → Set(알람 본문 정규화) → AI 노드(위 프롬프트)
→ Switch(severity 기준 분기)
├─ Sev-1/2 → Slack(온콜 멘션 + summary) + Jira(티켓 "초안" 생성)
└─ Sev-3 → Sheets 로깅만(티켓 미생성)
confidence가 "낮음"이면 티켓을 바로 만들지 않고 Slack에 "사람 확인 필요"로만 보내는 분기를 두는 것이 안전합니다 — AI 분류는 제안이고, 시스템 반영은 사람이 본 뒤로 미룰 수 있습니다.
Claude의 자동화 — MCP / Tool Use
MCP 3역할 — 대화로 도구를 부리는 자동화
n8n이 미리 짜 두는 워크플로우형 자동화라면, Claude의 **MCP(Model Context Protocol)**는 대화로 즉석 처리하는 자동화입니다. MCP는 Anthropic이 공개한 오픈 표준으로, "AI를 위한 USB-C"라고도 불립니다 — LLM이 Jira·Drive·DB 같은 외부 도구·데이터에 안전하게 접근하게 하는 규약입니다.
MCP는 세 역할로 구성됩니다.
| 역할 | 무엇인가 | 예 |
|---|---|---|
| Host | 사용자가 쓰는 AI 앱. 여러 MCP 서버 연결을 관리 | Claude Desktop, Cursor, 사내 앱 |
| Server | 특정 기능을 도구로 노출하는 경량·단일 책임 프로그램 | Jira MCP, DB MCP, 파일시스템 MCP |
| Tool use | 서버가 JSON Schema로 정의한 도구를 Claude가 맥락 따라 호출 | "티켓 조회"·"티켓 생성" 도구 호출 |
흐름은 이렇습니다. 운영자가 자연어로 명령하면 → Host(Claude)가 어떤 도구를 쓸지 추론하고 → MCP 서버의 도구를 호출하고 → 서버가 결과를 돌려주면 → Claude가 종합해 답합니다. 워크플로우를 미리 그리지 않아도, "지난주 P1 티켓 다 모아서 RCA 표 만들어"를 그 자리에서 수행할 수 있습니다.
n8n vs MCP: 반복·정형 업무는 n8n으로 미리 짜고, 비정형·탐색 업무는 MCP 대화로 즉석 처리합니다. 둘은 경쟁이 아니라 용도가 다릅니다 — 그리고 둘 다 "쓰기·발행은 사람 승인"이라는 안전선은 공통입니다.

그림: 워크플로우형 자동화(n8n)와 대화형 자동화(Claude+MCP)의 대비 — 정형 반복은 n8n, 비정형 탐색은 MCP. "발행은 사람 승인"은 양쪽 공통 안전선이다.
무엇을 어떻게 자동화할지 — 판단 기준
직접 해보기 — 알람 자동화 워크플로우 설계
아래 흐름을 종이 위에서 직접 설계해 보세요. 정답 방향과 체크리스트는 ObserveBlock에 있습니다.
(1) 트리거: 모니터링 시스템이 알람을 보낼 때 시작하려면 어떤 트리거를 쓰는가?
Cron 트리거를 쓰면 안 되는 이유를 한 줄로 적어 보세요.
(2) AI 노드: 알람 본문을 받아 {severity, summary, service, confidence}를
JSON으로만 출력하게 하는 프롬프트의 "규칙" 3줄을 적어 보세요.
(단정 금지 / JSON 외 출력 금지 / 추측 금지가 들어가야 함)
(3) 분기: severity와 confidence를 어떻게 분기에 쓸지 적어 보세요.
특히 confidence="낮음"일 때 티켓을 바로 만들면 안 되는 이유는?
(4) 안전장치: 이 자동화에 반드시 넣어야 할 안전수칙 3가지를 적어 보세요.
(권한 / 발행 승인 / 중복·폭주 관점)
노드 나열 → 트리거 선택 → AI 프롬프트 → 분기 → 안전장치- 트리거 정답: 외부 알람은 "이벤트가 올 때" 시작해야 하므로 Webhook 트리거. Cron은 정해진 주기로만 돌아 알람 발생 시점에 즉시 반응하지 못한다(지연·누락)
- AI 규칙 정답 방향: (a) 알람에 없는 내용 추측 금지·모르면 "불명", (b) JSON 외 텍스트 출력 금지(뒤 노드가 깨짐), (c) 불확실하면 보수적으로(더 심각하게) 잡고 confidence를 낮춤
- 분기 정답: severity로 라우팅(Sev-1/2는 온콜 멘션+티켓, Sev-3는 로깅만). confidence="낮음"이면 티켓 자동 생성 대신 Slack "사람 확인 필요"로만 — AI 분류는 제안이고, 시스템 반영(티켓)은 오판 위험이 있어 사람 확인 뒤로 미룬다
- 안전장치 정답: (1) Jira 토큰은 쓰기 최소 권한 + 감사로그, (2) 고위험은 초안/제안까지만·발행은 사람 승인, (3) 트리거 디바운스·중복 제거로 알람 폭주·무한루프 방지
- 핵심 감각: 자동화는 사람의 일을 "전부 처리"에서 "분류된 것 검토·승인"으로 옮긴다. AI는 분류·요약·초안을 빠르게 주고, 시스템에 박는 결정은 사람이 한다
운영 자동화 특유의 위험 — 안전수칙
자동 쓰기는 오판이 시스템에 직접 반영된다
자동 요약·알림까지는 틀려도 사람이 거르면 됩니다. 그러나 자동 티켓 생성·상태 변경부터는 다릅니다 — AI의 오판이 운영 시스템에 직접 반영됩니다. 잘못 분류된 Sev-1이 새벽 온콜을 깨우거나, 멀쩡한 티켓이 자동으로 "해결됨" 처리될 수 있습니다. 그래서 자동화에는 처음부터 안전장치를 코드처럼 박아 둡니다.
| 위험 | 무슨 일이 나나 | 안전수칙 |
|---|---|---|
| 자동 쓰기 오판 | AI 오분류가 티켓·상태로 바로 반영 | 초기엔 "초안/제안"만, 발행은 사람 승인 |
| 과도한 권한 | 토큰 유출·오작동 시 피해 큼 | 토큰은 읽기 위주·쓰기 최소, 감사로그 |
| 알람 폭주·무한루프 | 같은 알람 반복, 자동화가 자동화를 트리거 | 트리거 디바운스·중복 제거, 루프 차단 |
| 데이터 유출 | 민감 알람이 외부 SaaS·외부 LLM으로 | 셀프호스트·온프레미스 LLM, 입력 전 마스킹 |
| 환각 | AI가 없는 원인·정보를 지어냄 | confidence 낮으면 사람 확인, 근거 없는 항목 보류 |
핵심 한 줄은 장애 대응 모듈과 같습니다 — AI는 초안 작성자이지 결정권자가 아닙니다. 자동화로 사람의 일이 사라지는 게 아니라, 검증·승인으로 이동합니다. "사람을 빼는 자동화"가 아니라 "사람이 더 중요한 판단에 집중하게 하는 자동화"가 목표입니다.
현장에서 자주 보는 함정
증상: 알람→AI분류→Jira 티켓+온콜 호출을 사람 개입 없이 완전 자동화했습니다. 어느 새벽, 일시적 네트워크 스파이크 알람을 AI가 "Sev-1 결제 전면 장애"로 오분류했고, 워크플로우가 그대로 P1 티켓을 만들고 전체 온콜을 호출했습니다. 사람들이 깨어 모였지만 실제로는 5분 만에 자동 회복된 일시 현상이었습니다. 신뢰가 깨지고, 이후 진짜 Sev-1 호출도 "또 오탐 아냐?"로 의심받기 시작했습니다.
원인: confidence가 낮은 분류까지 사람 확인 없이 시스템에 직접 반영했습니다. AI 분류는 본질적으로 제안인데, 그 제안을 곧바로 "온콜 호출"이라는 고비용 행동으로 연결한 것입니다. 안전장치(낮은 confidence는 사람 확인, 디바운스로 일시 스파이크 흡수)가 없었습니다.
해결 방향:
- confidence="낮음" 또는 Sev-1 같은 고비용 액션은 초안/제안으로만 보내고, 온콜 호출·티켓 발행은 당직자 승인 버튼을 한 단계 둔다.
- 디바운스: 같은 서비스 알람이 N분 내 반복·자동 회복되면 호출하지 않는다(일시 스파이크 흡수).
- 중복 제거: 동일 알람 다건을 하나의 티켓으로 묶는다.
- 쓰기 토큰은 최소 권한 + 감사로그로, "누가/무엇을 자동 생성했는지" 추적 가능하게 한다.
- 교훈을 절차로: **"AI 분류의 고비용 액션은 사람 승인을 거친다"**를 자동화 표준에 박는다. 완전 자동화의 매력보다, 신뢰를 잃지 않는 게 운영에서는 더 비싸다.
한국의 SM·운영 현장에서 자동화는 "사람을 줄이는 도구"로 오해되기 쉽지만, 관리자 자리에서 보면 자동화의 진짜 가치는 야간·반복 업무의 누락을 줄이고 사람을 더 중요한 판단으로 옮기는 것입니다. 알람 1차 분류·요약·티켓 초안을 n8n+AI로 돌리면 MTTR이 줄고 야간 누락이 줄지만, 그 대가로 "오판이 시스템에 직접 반영될 위험"을 떠안습니다. 관리자의 일은 이 둘의 균형을 잡는 절차를 세우는 것입니다.
특히 폐쇄망·고객사 보안규정 아래에서는 도구 선택 자체가 보안 의사결정입니다. "이 알람·로그를 외부 SaaS 자동화에 흘려도 되는가"를 데이터 분류로 먼저 정하고, 민감 데이터가 걸리면 n8n 셀프호스트·온프레미스 LLM으로 가는 판단을 관리자가 내려야 합니다. 협력사 엔지니어가 편의로 외부 SaaS 자동화에 운영 데이터를 붙이는 일을 막는 것도 관리자의 몫입니다.
그리고 발주사·원청 보고 자리에서 자동화 성과를 말할 때, "완전 자동화로 사람을 뺐다"가 아니라 **"위험한 쓰기는 사람 승인을 거치도록 설계했다"**가 신뢰를 만듭니다. AI 거버넌스 기조(능력이 아니라 신뢰성·거버넌스로 평가)에서, 검증·승인·권한최소화·감사로그를 파이프라인에 코드처럼 내장한 자동화가 진짜 성숙한 자동화입니다.
관련 모듈로 더 깊이:
- AI로 장애 대응 보조 — 자동화가 만든 알람 요약·티켓을 사람이 검증·확정하는 장애 대응 보조
- 고급 프롬프트 패턴과 AI 도구 연계 — AI 도구와 Jira/Confluence/ServiceNow를 연계하는 큰 그림과 보안 경계
- 이벤트·모니터링 관리 — 자동화의 출발점이 되는 이벤트·모니터링 알람의 ITSM 기초
다음 모듈에서는 이렇게 만든 자동화와 AI 도구들을 PM·운영 업무 전체에 어떻게 연계하고, 도구별 적합 작업과 보안 경계를 어떻게 정리해 "AI 활용" 트랙을 마무리하는지를 다룹니다.