Add SNMP monitor collection

This commit is contained in:
Keith Smith
2026-05-24 00:44:02 -06:00
parent bd6c508c94
commit fe7157fdad
7 changed files with 650 additions and 15 deletions
+6 -4
View File
@@ -1,6 +1,6 @@
# Agent Handoff Notes
Last updated: 2026-05-23
Last updated: 2026-05-24
## Current Identity
@@ -8,7 +8,7 @@ Last updated: 2026-05-23
- Local repository path: `/home/ksmith/projects/OrbitalWard`
- Git remote: `https://git.firebugit.com/ksmith/OrbitalWard.git`
- Main branch: `main`
- Latest pushed commit at last update: `8b5dea1 Add guided SNMP discovery UI`
- Latest pushed commit: check `origin/main` with `git log -1 --oneline origin/main`
The project was previously named InfraPulse. Do not reintroduce the old name in product copy, package names, environment variables, service names, or docs unless explicitly discussing historical context.
@@ -37,6 +37,7 @@ OrbitalWard is a secure monitoring appliance focused on the v0.1 vertical slice:
- SNMPv2c credential profiles with encrypted community strings.
- Guided SNMP device discovery with friendly device, interface, and monitorable item results.
- Asset setup supports creating, selecting, and deleting assets, plus attaching ping, TCP, website, and SNMP monitors without creating alert rules automatically.
- Worker collects configured SNMP uptime, interface status, traffic counter, error, and discard monitors.
## Verification State
@@ -45,11 +46,12 @@ Recent Docker checks:
- `docker compose -f docker-compose.dev.yml exec -T backend python -m pytest tests`
- `docker compose -f docker-compose.dev.yml exec -T frontend npm run typecheck`
- `docker compose -f docker-compose.dev.yml exec -T frontend npm run build`
- `docker compose -f docker-compose.dev.yml exec -T worker python -m unittest discover -s tests`
- `docker compose -f docker-compose.dev.yml exec -T worker python -m compileall app`
Earlier rename and monitor work also verified:
- `docker compose -f docker-compose.dev.yml up -d --build`
- `docker compose -f docker-compose.dev.yml exec -T worker python -m compileall app`
- Backend health returned `{"status":"ok","service":"orbitalward-backend"}`.
- Direct worker probes for TCP and ICMP ping checks passed inside the Docker network.
- API probe created and deleted one ping monitor and one TCP monitor successfully.
@@ -82,7 +84,7 @@ Issue source docs:
- `docs/progress.md`
- `docs/roadmap.md`
Current completed items include TLS expiry monitor support, HTTP/website checks, ping and TCP port checks, basic alert evaluation, alert rule editing UI, incident actions, webhook notification channels, SNMPv2c credential profiles, the SNMP device discovery API, guided SNMP discovery UI, and asset-based monitor setup. The next recommended implementation work is SNMP collection for configured SNMP monitors and friendly metric/profile mapping.
Current completed items include TLS expiry monitor support, HTTP/website checks, ping and TCP port checks, basic alert evaluation, alert rule editing UI, incident actions, webhook notification channels, SNMPv2c credential profiles, the SNMP device discovery API, guided SNMP discovery UI, asset-based monitor setup, and initial SNMP collection for uptime plus interface counters/status. The next recommended implementation work is SNMP profile mapping and expanded CPU, memory, storage, and sensor collection.
## Guardrails
+13 -4
View File
@@ -1,6 +1,6 @@
# OrbitalWard Progress
Last updated: 2026-05-23
Last updated: 2026-05-24
## Current State
@@ -90,6 +90,15 @@ Implemented asset-based monitor setup slice:
- SNMP setup can run guided discovery from the asset flow and save selected friendly items as SNMP monitors attached to the asset.
- SNMP monitor creation stores friendly discovery metadata and avoids raw OIDs in normal UI/API responses.
Implemented initial SNMP collection slice:
- Worker includes configured SNMP monitors in the scheduled collection loop.
- Worker loads saved SNMP credential profiles server-side and decrypts community strings only for the collection request.
- SNMP device uptime checks update monitor status and store uptime metrics.
- SNMP interface status checks update monitor status and store admin/operational status metrics.
- SNMP interface traffic checks collect inbound/outbound octet counters and store metrics.
- SNMP interface error checks collect inbound/outbound errors and discards and store metrics.
## Known Gaps
- General credential vault workflows beyond SNMP profiles are not complete.
@@ -97,7 +106,7 @@ Implemented asset-based monitor setup slice:
- User management UI is not implemented.
- Role management is basic and needs full admin flows.
- Richer alert condition editing is not implemented yet.
- SNMP monitors can be configured, but SNMP collection for interface status, traffic counters, errors, uptime, CPU, memory, storage, and sensor checks is not implemented yet.
- SNMP collection is implemented for uptime, interface status, traffic counters, errors, and discards, but CPU, memory, storage, sensor, and vendor-specific profile mappings are not implemented yet.
- Notification routing/policies are not implemented; all enabled webhook channels receive incident notifications.
- Email/SMTP notifications are not implemented yet.
- Graphing exists only as placeholders; metric visualization is not implemented.
@@ -107,8 +116,8 @@ Implemented asset-based monitor setup slice:
## Recommended Next Work
1. Add SNMP interface status, traffic, errors, uptime, CPU, memory, storage, and sensor collection.
2. Add SNMP profile mapping for friendly metric names across common vendors.
1. Add SNMP profile mapping for friendly metric names across common vendors.
2. Add SNMP CPU, memory, storage, and sensor collection where supported by profiles.
3. Add notification policy/routing controls.
4. Add email/SMTP notification channel.
5. Add audit event writes for auth, monitor, credential, notification, and incident actions.