개요
Orange The Client 개발팀의 한 주(2026-08-24 ~ 2026-08-31) 주요 성과를 정리합니다. 이번 주는 온프레미스 AI 백엔드의 안정성과 응답 속도를 끌어올리고, 모니터링 대상을 그룹으로 묶어 보는 기능을 전 계층에 구현하며, 프로세스 수집 데이터의 저장 구조를 개편한 것이 축이었습니다. (작업자는 GitHub 닉네임으로 표기합니다.)
AI 백엔드 — 자동 복구와 응답 속도
매니저·에이전트 파트 가 온프레미스 AI 백엔드의 안정성과 첫 응답 속도를 다뤘습니다.
- 먹통·hang 자동 복구: 생성 스레드가 죽으면 프로세스를 재기동하도록 바꿔 멈춤 시간을 2~3분에서 5초로 줄였습니다. 감시 주기를 5분에서 1분으로 당기고 응답 핑으로 hang을 감지해, 최대 3분 안에 스스로 복구합니다.
- 새 대화 첫 응답 단축: 시스템 프롬프트를 역할 지침만으로 고정하고 상황 정보는 프롬프트 꼬리로 옮겨, 세그먼트 캐시가 조합마다 갈라지던 문제를 막았습니다. 역할 3종을 주기적으로 예열해 첫 응답을 60
72초에서 1829초로 줄였습니다. - 웹 명령 승인 재설계: 승인창을 걷어내고, 모델이 조회·변경을 스스로 판정해 파괴 동사 키워드로 거르도록 전환했습니다.
- PC가 꺼져 있어도 도는 예약 명령: 재부팅 뒤 검증처럼 즉시 못 하는 확인을 응답에 예약으로 실어 두고, 매니저가 노드의 온라인 복귀를 보고 실행하도록 만들었습니다.
서버 — 프로세스 저장 구조 개편
서버 백엔드 파트 이 백엔드에서 프로세스 수집 데이터의 저장 구조와 보존 정책을 다뤘습니다.
- sprocess registry 이관: 프로세스별 최초 관측 시각과 메타데이터를 별도 registry 컬렉션으로 옮기고 unique 인덱스와 마이그레이션을 넣어, 원본에 같은 정보가 반복 적재되던 것을 줄였습니다.
- 원자료 보존기간 도입: 무한 보존을 전제하던 raw 프로세스 데이터에 TTL을 넣되, 첫 적용 삭제량이 과하면 걸지 않고 넘겨 대량 삭제 사고를 막았습니다.
- 미사용 엔드포인트·위젯 정리: 더 쓰지 않는 프로세스 조회 엔드포인트와 이를 소비하던 위젯을 걷어내고, 라우트 순서 회귀 테스트와 API 문서를 실제와 맞췄습니다.
- 에이전트 로컬 명령 서명 API: 에이전트가 로컬에서 실행하는 명령에 서명을 발급하는 API를 만들고 허용목록을 정정했습니다.
모니터링 그룹 — 전 계층 구현
분석 서비스 파트 가 서로 다른 장비를 한 서비스로 묶어 보는 기능을 서버·서비스·매니저에 걸쳐 구현했습니다.
- 그룹 데이터·API: 서버에 그룹 문서와 CRUD·순서 일괄 변경 API를 두고, 대상이 이름이 아니라 그룹 ID를 참조하도록 바꿨습니다. 건별 변경으로는 반쯤 적용된 상태가 남던 문제를 일괄 변경으로 해결했습니다.
- 드래그 재정렬 UI: 매니저에서 그룹 머리말을 끌어 순서를 바꾸고, 펼친 그룹을 본문 어디에 놓아도 옮겨지며 가장자리에서 자동 스크롤되도록 만들었습니다. 빈 그룹도 목록에 띄우고 끼워질 위치를 선으로 표시했습니다.
- SNMP 포트 수집 정확도: 물리 포트와 가상 인터페이스를 구분해 24포트 장비에 4포트만 있는 것처럼 보이던 것을 바로잡고, 끊긴 포트가 잘못 답하던 속도값은 내보내지 않게 했습니다. 한글 포트 설명이 16진수로 저장되던 것을 UTF-8로 읽도록 고쳤습니다.
매니저 차트 — 노드 목록과 부하 위젯
룰·데이터 분석 파트 가 대시보드 차트를 정비하고 릴리즈 노트를 다시 썼습니다.
- 노드 목록 차트 정비: 로그 축 꼭대기를 데이터 최대에 맞추고, I/O를 전사와 같은 MB/s로 통일하며 전사 비교 토글을 넣었습니다. 노드 확산 막대가 누적 최대라 한 번 오르면 안 내려오던 것을 그날 값으로 고쳤습니다.
- 부하 위젯 전체 지표: 부하 위젯의 Disk·유선·Wi-Fi에 읽기와 쓰기를 합친 전체 항목을 더하고 Y축 라벨 자릿수 버그를 잡았습니다.
- 릴리즈 노트 재작성: 릴리즈 노트를 전수조사로 다시 써서 빠져 있던 신규 항목을 보충하고, 제목을 관리자가 겪는 현상 중심으로 고쳤습니다.
에이전트 — TCP 연결 종료 탐지 정확도
커널 드라이버 파트 가 에이전트의 연결 종료 탐지 오탐을 걷어냈습니다.
- TCP 노이즈 필터 보완: disconnect 통계가 내부 장부에 얽혀 0으로 고정되던 값을 분리하고, 특정 종료 코드를 장부에서 떼어 다른 코드 탐지를 죽이던 회귀를 고쳤습니다. 프로세스 귀속을 이벤트 PID 하나로 통일했습니다.
- 비정상 종료 탐지 기준 변경: 비정상 종료 비율을 부팅 누적에서 시간창 기준으로 바꿔, 지나간 사고를 계속 이상으로 잡던 것을 없앴습니다. 에이전트 자신의 연결 종료는 증상에서 제외했습니다.
매니저 홈 — 위젯 재설계와 통합
프론트엔드 파트 가 홈 대시보드 위젯에 디자인 시스템을 적용하고 구조를 통합했습니다.
- 홈 위젯 재설계: 전체 노드 부하 요약·시간대별 증상 요약·장기 미접속 노드 위젯에 디자인 시스템을 입히고 차트를 다시 그렸습니다. 부하 요약은 시간축을 통일하고 KPI가 잘리던 것을 고쳤습니다.
- 고정 노드 위젯 통합: 홈에 흩어져 있던 개별 노드 위젯을 고정 노드 위젯 하나로 합쳤습니다.
- 증상 수집 병렬화: 시간대별 증상 수집이 24회를 순차로 부르던 것을 배치 병렬로 바꿨습니다.
맺음
이번 주는 AI 백엔드의 자체 복구와 응답 속도, 모니터링 대상을 그룹으로 묶어 보는 운영 편의가 함께 갖춰져, 제품이 더 안정적이고 다루기 쉬운 방향으로 나아간 한 주였습니다.