EDEdmund Dionisio

UPS fleet operations

Power Ranger

Discover UPS problems before the next outage by turning device CLI output into normalized health, event history, schedules, and reports.

Deployed internallyFastAPI · APC NMC · SQLiteDesigned + built by Edmund Dionisio
01 / Problem

Reactive UPS checks hide fleet patterns.

I was SSHing into UPS management cards one at a time, navigating each device separately, and trying to compare scattered results in my head. It worked for a single check, but it did not scale into a useful view of fleet health or repeated power events.

Power Ranger centralizes that work. It discovers cards, collects and parses health data, analyzes events and outage duration, schedules repeat scans, and makes the fleet easier to review from one dashboard.

Why this mattered to me

The goal was not just fewer SSH windows. I wanted failed collection, unsupported devices, and stale data to stay visible so a clean-looking dashboard could never hide a monitoring gap.

DiscoverVLAN sweep, reachability, and supported-card identification
NormalizeCLI fields and events into structured device records
RetainSchedules, history, exports, and scan evidence
02 / Architecture

Bounded discovery feeds a durable history.

Web UI

Fleet dashboard, VLAN discovery, schedules, device details, events, and export.

FastAPI jobs

Background work, progress, authentication, scan coordination, and reporting.

Discovery

ICMP reachability followed by SSH or legacy-compatible management access.

Parser layer

Normalize model, battery, load, runtime, firmware, network, and event data.

SQLite

Device snapshots, scan history, events, schedules, and exports.

03 / Workflow

From a network range to prioritized fleet evidence.

Define a safe scan scope

Select a known range or saved target set without publishing production addressing.

Discover reachable cards

Use bounded reachability checks before spending sessions on device collection.

Collect and normalize

Handle supported access methods and parse vendor CLI into consistent records.

Analyze event history

Identify notable power events and derive operator-friendly duration and timing context.

Schedule and compare

Repeat the scan, preserve history, and export evidence for operational follow-up.

04 / Evidence

The interface separates fleet state, events, collection, and schedules.

05 / Decisions

Legacy support is contained and observable.

01

Reachability before collection

Cheap discovery avoids tying up device sessions and makes unreachable targets visible as a distinct result.

02

Normalize at the parser boundary

UI and reporting consume structured records instead of inheriting firmware-specific CLI formatting.

03

Retain scan context

A scheduled result includes timing and failure state, not only the last known healthy value.

Current direction

The roadmap moves routine health polling toward SNMPv3 while retaining CLI for event history and controlled compatibility fallback. Roadmap work is labeled separately from the deployed workflow.

06 / Lessons

Monitoring quality depends on failure visibility.

A dashboard full of healthy values is misleading if collection failures disappear. The useful model distinguishes reachable, unsupported, authentication failed, incomplete, and stale devices so an operator can tell fleet health from data-pipeline health.

  • Legacy management protocols remain constrained compatibility paths, not a desired end state.
  • Public materials omit real ranges, inventory, accounts, hostnames, and device identifiers.
  • Performance and scale claims remain qualitative until tied to approved measurement evidence.