Network Monitoring & Alerting
System ↔ SystemSNMP polling through metric aggregation, threshold evaluation, and ticketing.
6 nodes · 5 edgestelecom
eventsystemapidb
Visual
SNMP Pollingevent
Collect interface counters, CPU, memory from network devices via SNMPv3.
↓sequential→ Metric Aggregation
Metric Aggregationsystem
Compute 1min/5min/15min averages, percentiles, and delta counters.
↓sequential→ Threshold Evaluation
↓parallel→ Dashboard Update
Threshold Evaluationsystem
Check against static thresholds and ML-based anomaly baselines.
↓conditional→ Alert Routing
Alert Routingsystem
Deduplicate, correlate, and route alerts via escalation policy.
↓sequential→ Ticket Creation
Ticket Creationapi
Open incident in ServiceNow with severity, CI, and runbook link.
Dashboard Updatedb
Write time-series data to Grafana/Prometheus for NOC dashboards.
uc-network-monitoring.osop.yaml
osop_version: "1.0"
id: "network-monitoring"
name: "Network Monitoring & Alerting"
description: "SNMP polling through metric aggregation, threshold evaluation, and ticketing."
nodes:
- id: "snmp_poll"
type: "event"
name: "SNMP Polling"
description: "Collect interface counters, CPU, memory from network devices via SNMPv3."
timeout_sec: 30
- id: "metric_agg"
type: "system"
name: "Metric Aggregation"
description: "Compute 1min/5min/15min averages, percentiles, and delta counters."
- id: "threshold_eval"
type: "system"
name: "Threshold Evaluation"
description: "Check against static thresholds and ML-based anomaly baselines."
- id: "alert_route"
type: "system"
name: "Alert Routing"
description: "Deduplicate, correlate, and route alerts via escalation policy."
- id: "ticket_create"
type: "api"
subtype: "rest"
name: "Ticket Creation"
description: "Open incident in ServiceNow with severity, CI, and runbook link."
retry_policy:
max_attempts: 2
- id: "dashboard"
type: "db"
name: "Dashboard Update"
description: "Write time-series data to Grafana/Prometheus for NOC dashboards."
edges:
- from: "snmp_poll"
to: "metric_agg"
mode: "sequential"
- from: "metric_agg"
to: "threshold_eval"
mode: "sequential"
- from: "metric_agg"
to: "dashboard"
mode: "parallel"
- from: "threshold_eval"
to: "alert_route"
mode: "conditional"
when: "threshold.breached == true"
- from: "alert_route"
to: "ticket_create"
mode: "sequential"