개요
등록된 에이전트를 REST API 로 훑는다 · 이벤트는 SSE 로 수신/agent
에이전트
개요
연결도
콘솔 → 에이전트 → 모듈. 그리는 것은 소유 관계다전체 에이전트
/agents
목록
에이전트는 자기가 어느 매니저에 속하는지 모릅니다. 관계는 이 콘솔에만 있습니다 —
여기서 지우면 관리가 끊길 뿐 에이전트와 그 모듈은 계속 돕니다.
등록 정보(주소·토큰)는 이 콘솔의 디스크에만 남습니다.
에이전트 목록
—
/agent/:id
—
기본 정보
사람이 정하는 값 · 설정에서 온다
보고된 관측값 · 에이전트가 알려준다
EC2 인스턴스
연결 관계
에이전트와 모듈의 연결 상태를 확인합니다이 에이전트의 모듈
등록한 모듈과 PM2 목록을 이름으로 맞춰 본 결과다드레인
인스턴스 정지 준비선택한 모듈을 정상 종료합니다.
ready: true 가 admin 이
ec2:StopInstances 를 호출해도 된다는 신호입니다 — 에이전트는 AWS 를 직접 부르지 않습니다.
모르는 이름이 섞이면 ready: false 입니다(fail closed).멈출 모듈 · 명시적으로 선택해야 한다
PM2 는 SIGINT 를 보내고 ecosystem 의 kill_timeout 만큼 기다린 뒤 SIGKILL 합니다.
앱이 SIGINT 를 처리하지 않으면 처리 중인 작업은 끊깁니다.
준비 중
에이전트 자신의 자원 사용과 상태를 시간 축으로 보는 화면입니다. 지금 에이전트가 수집하는 것은 상태 한 장(PM2 연결 여부·모듈 수)뿐이라, 만들 수 있는 것은 현황판이지 추이 차트가 아닙니다. 추이를 원하면 저장·롤업·리텐션을 먼저 정해야 하고, 그건 별개 결정입니다.
준비 중
에이전트 자신의 로그입니다. 모듈의 로그는 모듈 상세의 로그 탭이 담당합니다 — 둘을 섞으면 무엇을 보는지 흐려집니다. 에이전트는 pino 로 stdout 에 쓰고 있어, systemd journal 이나 파일 중 어디서 읽을지부터 정해야 합니다.
모듈
에이전트가 관리하는 PM2 프로세스/agent/modules
모듈
모듈
에이전트 자신은 PM2 밖에서 돌기 때문에 목록에 없다템플릿
config 를 작성할 때 쓰는 출발점 — 이 콘솔에만 있다/agent/templates
템플릿
템플릿은 새 config 의 출발점일 뿐입니다. 배포하고 나면 연결이 끊깁니다 —
템플릿을 고쳐도 이미 배포된 config 는 바뀌지 않습니다.
에이전트는 템플릿을 알지 못하고, 이 목록은 이 콘솔에만 있습니다.
파일 템플릿
config 를 작성할 때 출발점으로 쓴다템플릿은 이 콘솔을 돌리는 머신의 디스크에 평문으로 저장됩니다
(
admin-dev/data/templates.json). 저장소에는 올라가지 않으므로
다른 사람과 공유되지 않고, 이 콘솔을 버리면 함께 사라집니다.
JWT_SECRET 같은 비밀값은 넣지 말고 자리표시자만 두십시오.—
/agent/modules/:name
—
이벤트
에이전트의 PM2 이벤트 버스(launchBus)에서 SSE 로 즉시 전달된다 — 폴링이 아니다/events이벤트프로세스 이벤트 · 명령 로그
배포
GitHub Actions 의 수동 실행을 여기서 누릅니다/deploy배포실행은 GitHub 이 합니다. 배포 로직은 각 레포의 워크플로에 그대로 있고,
콘솔이 꺼져 있어도 Actions 탭에서 똑같이 돌릴 수 있습니다. 입력 폼도 콘솔이 정하지 않고
워크플로가 선언한
workflow_dispatch.inputs 를 읽어 그립니다 —
그래서 워크플로에 입력이 늘어도 이 화면은 고치지 않습니다.GITHUB_TOKEN 이 없어 아무것도 부를 수 없습니다.
admin-dev/.env 에 넣고 콘솔을 다시 띄우십시오. 권한은
Actions: read and write 와 Contents: read 두 가지면 됩니다
(classic 토큰이면 repo + workflow).
토큰은 이 콘솔을 돌리는 머신에만 있고 브라우저로 내려오지 않습니다.배포 파이프라인
모듈 하나가 레포의 워크플로 하나다실행 내역
—환경 · 대상 · 옵션은 이 콘솔이 보낸 값입니다 — GitHub 은 어떤 입력으로 실행했는지 돌려주지 않아서, 여기에 남기지 않으면 알 방법이 없습니다. Actions 탭에서 직접 누른 실행에는 그 칸이 비어 있습니다.
로그
아직 만들지 않은 메뉴입니다/logs로그준비 중
에이전트가 PM2 로그를 흘려보내는 화면입니다. 자리를 먼저 잡아두어, 나중에 넣을 때 정보구조가 흔들리지 않게 했습니다.
이미 있는 것
launchBus 의 log:out/log:err 를 구독하면 된다. WS 스트림이 이미 있어 추가 인프라가 필요 없다먼저 정할 것백프레셔 정책. admin 이 못 따라갈 때 무엇을 버릴지 정하지 않으면 에이전트 메모리가 샌다
범위온디맨드 tail 로 시작한다. 전역 검색은 로그 파이프라인이 필요하고 그건 별개 결정이다