Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetSentry — Predictive Fleet Health Monitor

A personal project that applies machine learning to network/infrastructure telemetry to detect early signs of device failure before they cause an outage — inspired by the kind of predictive fleet health and zero-touch automation work described in large-scale hardware/infrastructure operations roles.

Built on top of hands-on network monitoring experience with tools like SolarWinds, NetScout, and ThousandEyes, this project explores how unsupervised ML (Isolation Forest) and trend analysis can move fault detection from "alert after a threshold is breached" to "flag the device that's trending toward failure."

Note: This uses simulated telemetry data (see src/telemetry_simulator.py) rather than data pulled from a live production network, so it can be run and shared publicly without exposing any employer's infrastructure. The simulator seeds realistic degradation patterns (rising error rate, memory creep, thermal drift) so the detection pipeline has real signal to find.

What it does

  1. Telemetry simulation (src/telemetry_simulator.py) — generates time-series metrics (CPU, memory, interface error rate, latency, packet loss, temperature) for a simulated fleet of 40 network devices, with a subset seeded to gradually degrade over the observation window.
  2. Predictive risk scoring (src/anomaly_detector.py) — combines an Isolation Forest model (fleet-wide "what does normal look like") with a rolling trend/z-score analysis (device's own baseline drift) to produce a 0–100 predictive risk score per device.
  3. Automated triage (src/alert_engine.py) — classifies the likely fault domain (physical layer, compute, network path, thermal) from the dominant signal and suggests a first remediation step, auto-escalating HIGH/CRITICAL devices.
  4. Fleet dashboard (src/main.py) — renders a PNG dashboard showing the highest-risk devices and their CPU trend over time, plus a fleet health summary in the terminal.

Why this maps to fleet health / predictive infrastructure work

Project piece Real-world equivalent
Multi-signal risk scoring Correlating telemetry/sensor/log signals to catch failures before customer impact
Rolling trend detection Catching slow degradation (failing fan, flapping optic, memory leak) early
Rule-based triage + auto-escalation Step toward zero-touch: detect → diagnose → triage automatically
Fleet summary metrics Failure rate, % healthy — the kind of numbers tracked on a fleet health dashboard

Running it

pip install -r requirements.txt
python -m src.main

This will:

  • generate data/fleet_telemetry.csv
  • print a fleet health summary and ranked at-risk device list
  • save docs/fleet_dashboard.png

Run the tests:

python tests/test_anomaly_detector.py

Sample output

=== FLEET HEALTH SUMMARY ===
      fleet_size: 40
  critical_count: 0
      high_count: 6
  auto_escalated: 6
     healthy_pct: 85.0

=== TOP AT-RISK DEVICES ===
DEVICE    RISK   SEVERITY  FAULT DOMAIN    ACTION
dev-003   66.3   HIGH      physical-layer  Inspect optics/cabling on affected interface; check for CRC errors.
dev-038   63.8   HIGH      network-path    Check for interface flapping or congestion; verify BFD/routing neighbor state.
...

Detector caught 6/6 simulated failing devices (6 total flagged HIGH/CRITICAL).

Possible next steps

  • Swap the simulator for real SNMP/NetFlow polling (e.g. via pysnmp or a SolarWinds API export) to test against real telemetry
  • Add a lightweight Flask/Streamlit UI in place of the static dashboard
  • Persist historical scores to track mean-time-to-detect (MTTD) over time
  • Experiment with LSTM/Prophet for time-series forecasting instead of point-in-time anomaly scoring

Project structure

netsentry/
├── src/
│   ├── telemetry_simulator.py   # synthetic fleet telemetry generator
│   ├── anomaly_detector.py      # Isolation Forest + trend-based risk scoring
│   ├── alert_engine.py          # rule-based triage / remediation suggestions
│   └── main.py                  # pipeline orchestration + dashboard rendering
├── tests/
│   └── test_anomaly_detector.py
├── docs/
│   └── fleet_dashboard.png      # generated on run
├── data/
│   └── fleet_telemetry.csv      # generated on run
└── requirements.txt

Author

Chiranjeevi Nadambaram Balaji — Network Engineer linkedin.com/in/balaji-c006

About

Predictive fleet health monitoring using ML-based anomaly detection on network telemetry

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages