feat: complete agent monitoring - hook, UI, and backend filter

- Add event_type and framework filters to events query endpoint
- Add /agents SPA route to web-ui server
- Add Agents nav link and route in frontend
- Add agents page CSS (timeline, VM pills, stats panel)
- Build VM status strip, activity timeline, and real-time stats
- Add agentmon hook for OpenClaw (HOOK.md + handler.ts)
- Add docker-compose, Dockerfile, and supporting infra files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
William Valentin
2026-03-14 00:26:42 -07:00
parent 1927ec6622
commit 3434db3c59
29 changed files with 6228 additions and 231 deletions
+15 -24
View File
@@ -1,4 +1,10 @@
.PHONY: tidy test run-ingest run-query run-ui run-processor
.PHONY: tidy test run-ingest run-query run-ui run-processor run-openclaw-monitor up down logs
# Load .env file
ifneq (,$(wildcard ./.env))
include .env
export
endif
tidy:
go mod tidy
@@ -18,29 +24,14 @@ run-ui:
run-processor:
DATABASE_URL=$${DATABASE_URL:?set DATABASE_URL} NATS_URL=$${NATS_URL:-nats://nats:4222} NATS_TOPIC=$${NATS_TOPIC:-agentmon.events.v1} go run ./cmd/event-processor
tidy:
go mod tidy
run-openclaw-monitor:
NATS_URL=$${NATS_URL:-nats://nats:4222} NATS_TOPIC=$${NATS_TOPIC:-agentmon.events.v1} OPENCLAW_REGISTRY=$${OPENCLAW_REGISTRY:-/home/will/.claude/state/openclaw-instances.json} POLL_INTERVAL=$${POLL_INTERVAL:-30s} go run ./cmd/openclaw-monitor
test:
go test ./...
up:
docker-compose up -d
run-ingest:
AGENTMON_ADDR=:8080 go run ./cmd/ingest-gateway
down:
docker-compose down
run-query:
AGENTMON_QUERY_ADDR=:8081 go run ./cmd/query-api
run-ui:
AGENTMON_UI_ADDR=:8082 go run ./cmd/web-ui
tidy:
go mod tidy
test:
go test ./...
run-ingest:
AGENTMON_ADDR=:8080 go run ./cmd/ingest-gateway
run-query:
AGENTMON_QUERY_ADDR=:8081 go run ./cmd/query-api
logs:
docker-compose logs -f