aiyiyi121/sxdevops

SxDevOps 是一个面向真实运维现场的开源智能运维 Agent 平台。它把 CMDB、可观测性、事件中心、任务中心、工单审批、容器管理、RBAC 等平台能力组织成 Agent 可调用、可审计、可确认的运维工作流。

SxDevOps — 무엇인가

SxDevOps는 AI 에이전트를 실제 IT 운영("运维")에 도입하기 위한 오픈소스 플랫폼입니다. 모토는 "Think before acting, act with evidence" (행동하기 전에 생각하고, 증거를 가지고 행동하라)입니다. 이는 챗봇이 아니라, 분산된 운영 도구를 하나의 제어된 워크플로우로 바꾸는 시스템입니다: 상황 파악 → 증거 찾기 → 시스템에 질문 → 작업 확인.

해결하는 문제

전통적인 운영에서 정보와 작업은 파편화되어 있습니다:

  • 경고는 빨간 점으로 표시되지만, 로그, 추적, 최근 변경 사항은 다른 시스템에 존재합니다.
  • 릴리스, 승인, 작업 결과 및 주요 작업이 페이지마다 흩어져 있어 사후 분석 비용이 높습니다.
  • 점검, 배치 명령, 스크립트 템플릿 및 호스트 권한이 단절되어 있습니다.
  • 문제 해결 경험은 개인의 머릿속에만 머물며 재사용되지 않습니다.

SxDevOps는 이러한 파편들을 하나의 체인으로 묶습니다: 증거를 위한 관측 가능성, 검토를 위한 이벤트 센터, 작업을 위한 작업 센터, 그리고 이해, 계획 및 구조화된 출력을 위한 AIOps.

핵심 모듈

모듈 기능
CMDB 자산 대장, 비즈니스 리소스 트리, 동기화/온보딩, 용량 수준, 거버넌스, 토폴로지, 명시적인 작업-리소스 연결
AIOps Agent LangGraph 오케스트레이션, 자연어 포렌식, 재사용 가능한 스킬, 작업 초안, 사람의 확인, 실행 감사, 작업 후 복구 검증
관측 가능성 플랫폼 개요, 시스템 상태, 메트릭 쿼리, 로그 검색, 추적, Grafana 대시보드, 데이터 소스 관리
이벤트 센터 장애 이벤트 식별, 주요 작업 기록, 이벤트 소스 통합, 작업 감사, 시스템/환경/앱/시간별 필터링
작업 센터 호스트 작업, 배치 명령, 스크립트 템플릿, 리소스 그룹, 작업 초안, 실행 기록, 예약 작업
티켓 시스템 앱 릴리스, 승인 흐름, SQL 감사, 트랜잭션 티켓, 변경 이력
컨테이너 관리 Kubernetes/Docker 워크벤치, 리소스 및 YAML 사전 검사, 범위 권한 부여, 용량, 대화형 터미널, 기록 로그
권한 및 감사 백엔드 API, 프론트엔드 라우트, 메뉴, 버튼 및 WebSocket 시나리오 전반에 균일하게 적용되는 RBAC

에이전트 작동 방식

이는 "사용자가 질문 → LLM이 자유롭게 답변"하는 것이 아니라, 제어된 파이프라인입니다:

  1. 액션 라우터 — 요청을 분류하고(경고 근본 원인, 로그 쿼리, K8s 진단, 변경 상관관계, 작업 생성 등) 위험 수준, 필요한 컨텍스트, 출력 구조 및 확인 정책을 선언합니다.
  2. 에이전트 모드 — 실행 스타일을 선택합니다: Direct(단일 읽기 전용 또는 명확한 작업), ReAct(추론 → 행동 → 관찰), 또는 Plan + ReAct(다단계 심층 문제 해결).
  3. 사전 검사 — 쓰기, 생성 또는 실행 전: 권한 검사, 위험 평가, 의존성 검사, 누락된 매개변수 보완, 롤백 준비. 실패 시 양식을 반환하거나 누락된 정보를 요청합니다.
  4. 스킬 / SOP — 증거 체크리스트, 쿼리 규칙, 출력 형식 및 안전 경계를 제약하는 도메인 기능 패키지.
  5. MCP / 도구 레지스트리 — 플랫폼과 외부 시스템을 관리 가능한 도구로 래핑합니다. 최종 사용 가능한 도구 세트 = 스킬 도구 의존성 ∩ MCP 가용성 ∩ 사용자 RBAC ∩ 작업 보안 정책.
  6. 구조화된 사실 — 로그, 메트릭, 추적, 경고, 이벤트, 실행 결과.
  7. 2단계 답변 형성 — 결론, 증거, 위험, 제안된 작업.
  8. 보류 중인 작업 — 모든 쓰기/실행 작업은 보류 중인 확인이 되며, 사용자가 확인한 후에만 플랫폼 API가 실행합니다(RBAC, 매개변수 살균, 타임아웃 제어 포함).
  9. 피드백 루프 — 결과는 작업 센터, 이벤트 센터 및 감사 추적으로 돌아갑니다.

거버넌스 원칙:

  • 플랫폼 API가 유일한 실행 경계입니다. 모델은 이해하고 계획하며 후보 매개변수를 생성하지만, 백엔드를 우회하여 리소스에 접근할 수 없습니다.
  • 읽기 전용 진단은 사실을 직접 반환할 수 있지만, 생성/쓰기/실행 작업은 사전 검사 → 확인 → 실행을 거쳐야 합니다.
  • 프론트엔드 권한 표시는 UX일 뿐이며, 백엔드 RBAC가 진정한 보안 경계입니다.
  • 모든 것이 감사됩니다: 세션, 도구 호출, 사전 검사, 보류 중인 작업, 실행 결과, 주요 이벤트.

일반적인 시나리오

"생산 주문 센터 이상 분석" — 전통적으로는 경고 플랫폼, 로그 센터, 추적 시스템, 릴리스 기록 사이를 수동으로 오가야 했습니다. SxDevOps에서는 에이전트가 이를 체인으로 연결합니다: 사용자가 자연어로 질문 → 에이전트가 경고/로그/추적/이벤트/작업 도구 선택 → 백엔드가 RBAC 및 타임아웃 제어가 포함된 화이트리스트에 대해 도구 호출 실행 → 플랫폼이 구조화된 증거 집계 → 스킬이 결론, 증거, 위험 및 제안된 작업 출력 → 검사나 명령 실행이 필요한 경우 작업 초안이 생성되고 사용자 확인 후에만 작업 센터에 진입 → 결과가 이벤트 센터와 감사 추적에 기록됩니다.

v2 하이라이트

  • CMDB: 통합된 자산/리소스 트리/용량/동기화/거버넌스. 작업 센터는 CMDB 자산을 명시적으로 연결. 토폴로지는 정확한 범위와 1~3홉 인접 노드를 지원.
  • AIOps/LangGraph: 기본 채팅은 지속적인 그래프 오케스트레이션 사용. 단계별 포렌식, 도구 루프, 작업 초안, 답변 수정. 독립적인 워커, 체크포인트 복구, 리스 인수, 노드 감사. 작업 후 경고 복구 검증.
  • 컨테이너 관리: 통합된 Kubernetes/Docker 워크벤치. YAML 드라이런 사전 검사. 범위 권한 부여. 대화형 터미널. 커서 기반 페이징이 포함된 기록 로그.
  • UX: 3가지 테마(라이트, 차콜, 다크 블루그레이). 중앙 집중식 사이드바 내비게이션. 사이트 이름, 아이콘, 메뉴 순서에 대한 시스템 설정.

기술 스택

  • 백엔드: Django REST framework, Channels, Daphne
  • 에이전트 오케스트레이션: LangGraph. PostgreSQL/MySQL/SQLite의 체크포인트. 독립적인 워커가 있는 데이터베이스 기반 작업 큐
  • 프론트엔드: Vue 3, Vue Router, Pinia, Element Plus, ECharts, Vite
  • 데이터베이스: PostgreSQL 16(기본값·권장), MySQL 8(선택 사항), SQLite(로컬 테스트용)
  • 캐시/실시간: Redis, Channels Redis
  • 외부 통합: Kubernetes API, Docker, SSH, Prometheus/Grafana, SkyWalking, Tempo, Jaeger, Zipkin, Loki/ELK/SLS

퀵 스타트

Docker (v20.10+, Compose V2)가 필요합니다. 저장소 루트에서:

sh start.sh        # Linux/macOS
.\start.cmd       # Windows

스크립트는 시크릿 생성 및 저장, 이미지 빌드, 앱 + PostgreSQL + Redis + CMDB 스케줄러 + AIOps 워커 시작, DB 마이그레이션을 수행합니다. 첫 실행 시 admin 비밀번호 설정만 요구됩니다(수동 .env 생성 불필요). 그 후 http://localhost:8000/login에 접속하여 사용자 이름 admin, 설정한 비밀번호로 로그인합니다. 고정된 기본 비밀번호는 없습니다. 데모 데이터는 기본적으로 꺼져 있습니다. 동일한 명령을 다시 실행하면 설정과 계정이 유지됩니다. Kubernetes 배포도 python3 k8s/deploy.py <image>를 통해 지원됩니다.

솔직한 제한 사항

  • 처분 검증은 경고 복구가 "관찰되었다"는 것만 보여줄 뿐, 인과 관계나 비즈니스 전체의 건전성을 증명하지는 않습니다.
  • 전체 백엔드 테스트 스위트에는 여전히 알려진 실패가 있습니다. 부분적인 테스트 통과가 전체 스위트 결과를 대체할 수는 없습니다.
  • 이 프로젝트는 MIT 라이선스입니다: 귀속 표시가 필요하고 보증이 없으며, 자유롭게 사용, 수정, 배포 및 상업적으로 이용할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트