docs: complete README rewrite with architecture diagram and system coverage

This commit is contained in:
2026-05-06 21:36:57 -05:00
parent 28b9eb0cc3
commit 34ed4543aa
+127 -248
View File
@@ -1,296 +1,175 @@
<h1>Hi, I'm Chase! <br/> # Ced's NOC — Live Network Operations Center
Digital Systems | Infrastructure | RF Edge Systems
</h1>
<h3> > A custom-built, public-facing Network Operations Center dashboard running at [noc.chasedumphord.com](https://noc.chasedumphord.com) — providing real-time visibility into Ced's HomeLab infrastructure, services, and RF edge systems.
I build real-world systems that combine data, automation, and infrastructure.
From monitoring platforms and dashboards to full infrastructure environments, everything I create is designed to solve practical problems and scale.
</h3>
<img align="right" alt="Coding Gorilla" width="400px" style="padding-right:10px;" src="https://gifdb.com/images/thumbnail/monkey-laptop-coding-miys12p5izw3s11s.gif" /> [![Live NOC](https://img.shields.io/badge/Live-noc.chasedumphord.com-1D9E75?style=flat-square)](https://noc.chasedumphord.com)
[![Portfolio](https://img.shields.io/badge/Portfolio-chasedumphord.com-0F6E56?style=flat-square)](https://chasedumphord.com)
<ul> [![Status](https://img.shields.io/badge/Status-Live-1D9E75?style=flat-square)](#)
<li>🚀 Currently building system monitoring platforms & dashboards</li> [![Backend](https://img.shields.io/badge/Backend-Prometheus%20%2B%20Grafana-E6522C?style=flat-square)](https://github.com/ced4568/ceds-observability-stack)
<li>🖥️ Running a full homelab (Proxmox HA Cluster, Kubernetes, Docker)</li>
<li>⚙️ Focused on infrastructure, automation, and observability</li>
<li>🧠 Ask me about K3s clusters, system monitoring, or homelab design</li>
<li>📫 Reach me: Chasedumphord@gmail.com</li>
</ul>
--- ---
# 🧠 Ceds NOC System ## What This Is
👉 **Portfolio Site:** https://chasedumphord.com This is the public-facing front door to Ced's HomeLab infrastructure. While the backend observability stack ([ceds-observability-stack](https://github.com/ced4568/ceds-observability-stack)) handles metrics collection and Grafana dashboards, this repo is the custom status page that makes that data publicly accessible — no login required.
👉 **Live NOC Dashboard:** https://noc.chasedumphord.com
This repository represents a **live Network Operations Center (NOC) system**, not just a static portfolio. It's not a template or a third-party uptime service. It's a purpose-built frontend that pulls live status data and presents it as a professional NOC dashboard. Every card on the page represents a real, running service with real latency and uptime data.
It showcases:
* 📊 **Ceds NOC Dashboard** (real system monitoring)
* 🧠 **HomeLab Infrastructure** (HA virtualization, VLANs, services)
* ☸️ **K3s Cluster** (distributed compute)
* 📡 **APRS iGate (RF Edge System)**
--- ---
# 📊 Ceds NOC Dashboard ## Live Dashboard
A central visibility layer for all systems. [![NOC Systems](./screenshots/noc-systems.png)](https://noc.chasedumphord.com)
This dashboard includes real Grafana, Prometheus, and Blackbox Exporter monitoring for live HomeLab services. The NOC displays real-time status for every layer of the infrastructure stack — from the Proxmox hypervisor down to the APRS RF edge system.
--- ---
## 🔍 What it shows: ## System Coverage
* Infrastructure health ### Core Infrastructure
* Service availability
* Network segmentation | Service | Role | Status Source |
* RF edge system status |---------|------|--------------|
| Proxmox VE | Hypervisor — 6-node HA cluster | TCP probe via Blackbox |
| TrueNAS | Storage platform | TCP probe via Blackbox |
| Nginx Proxy Manager | Reverse proxy | TCP probe via Blackbox |
### Application Layer
| Service | Role | Status Source |
|---------|------|--------------|
| Dashy | Service dashboard | TCP probe via Blackbox |
| Jellyfin | Media service | TCP probe via Blackbox |
| K3s API | Kubernetes cluster API | TCP probe via Blackbox |
### Edge / RF Systems
| Service | Role | Status Source |
|---------|------|--------------|
| APRS Home iGate | RF-to-internet gateway (KJ5JCO-10) | TCP probe via Blackbox |
| APRS-IS | External APRS internet service | TCP probe — noam.aprs2.net:14580 |
--- ---
## 🧠 Why it matters: ## Architecture
This demonstrates: ```mermaid
graph LR
subgraph Backend["Backend — ceds-observability-stack"]
PROM[Prometheus]
BB[Blackbox Exporter]
SCRIPTS[Python Status Scripts]
end
* System monitoring mindset subgraph NOC["Frontend — ceds-noc"]
* Operational visibility PAGE[noc.chasedumphord.com]
* Real-world infrastructure awareness BADGE[noc-badge.json]
* Ability to translate data into actionable insights STATUS[noc-status.json]
end
subgraph Infrastructure["Live Infrastructure"]
PVE[Proxmox VE]
TN[TrueNAS]
K3S[K3s API]
APRS[APRS iGate]
SERVICES[Services]
end
Infrastructure --> BB --> PROM
PROM --> SCRIPTS
SCRIPTS --> BADGE & STATUS
BADGE & STATUS --> PAGE
```
**Data flow:**
1. Blackbox Exporter probes all services via TCP/HTTP
2. Prometheus collects and stores probe results
3. Python scripts generate status JSON from Prometheus data
4. NOC frontend reads JSON and renders live status cards
5. Public visitors see real-time infrastructure status — no login needed
--- ---
## 🖼️ Live Dashboard Preview ## Repository Structure
### 📊 Metrics Overview ```
ceds-noc/
![NOC Metrics](./screenshots/noc-metrics.png) ├── assets/
│ └── images/ # NOC page assets
### 🖥️ Systems Overview ├── data/
│ ├── noc-badge.json # Live status badge data
![NOC Systems](./screenshots/noc-systems.png) │ └── noc-status.json # Live service status data
├── screenshots/
--- │ ├── noc-metrics.png # NOC metrics view
│ └── noc-systems.png # NOC systems overview
## 🔴 Live System Status ├── scripts/
│ ├── generate-noc-badge.py # Generates badge JSON from Prometheus
![Ced's NOC](https://img.shields.io/endpoint?url=https://ced4568.github.io/ced-portfolio/data/noc-badge.json&style=for-the-badge) │ └── generate-noc-status.py # Generates status JSON from Prometheus
├── index.html # NOC frontend
![Edge](https://img.shields.io/badge/Edge-RF%20Active-orange?style=for-the-badge) ├── script.js # Status page logic
![Portfolio](https://img.shields.io/badge/Portfolio-Live-blue?style=for-the-badge) └── style.css # NOC styling
---
# 🧠 Featured System — Ceds NOC (Network Operations Center)
A real-time monitoring and observability platform built on top of my homelab infrastructure.
---
## 🔍 What it demonstrates:
* Live system monitoring (services, nodes, edge systems)
* Infrastructure visibility across VLANs and clusters
* Service health tracking (latency, uptime, status)
* Real data ingestion (NOT simulated)
* Dashboard design for operational awareness
---
## ⚙️ Monitoring Stack:
* Grafana (Visualization)
* Prometheus (Metrics collection)
* Blackbox Exporter (Service uptime & latency checks)
* Uptime Kuma (External monitoring layer)
👉 This is the **core system** that ties everything together.
---
# 🧱 Foundation — Ceds Home Lab (Infrastructure + Monitoring)
Real-world environment used to simulate production systems and host services.
This is the backbone of Ceds NOC — where all systems, services, and monitoring originate.
---
## ⚙️ Core Infrastructure
* **Proxmox HA Cluster (High Availability Virtualization)**
* K3s Kubernetes cluster (Raspberry Pi - 12 nodes)
* TrueNAS storage system
* Docker / containerized workloads
---
## 🌐 Networking Layer
* VLAN segmentation
- Main Network
- IoT Network
- HomeLab Network (10.10.30.0/24)
- Guest Network
* Nginx Proxy Manager (external access layer)
* Cloudflare Tunnels (secure remote access)
---
## 📊 Monitoring Stack (LIVE)
* Grafana (Dashboards)
* Prometheus (Metrics)
* Blackbox Exporter (Service Monitoring)
* Uptime Kuma (External Monitoring)
👉 The NOC dashboard is built directly on top of this environment.
---
# 📡 Edge System — APRS iGate (RF → Internet Gateway)
A real-world RF system that feeds live data into infrastructure.
---
## ⚙️ System Components
* Raspberry Pi + Direwolf APRS TNC
* Audio chain tuning (critical for decode accuracy)
* APRS-IS integration
* Real beacon ingestion from handheld radios
🔗 **Project:**
https://github.com/ced4568/ceds-aprs-igate
---
## 🔥 Key Insight
This system bridges:
```text
RF radio signals → Raspberry Pi / Direwolf → APRS-IS → Digital Infrastructure
``` ```
--- ---
## 🎯 Key Tuning Insight ## Status Card Design
* Target audio level: **~5060** Each service card on the NOC displays:
* Too high → clipping / decode failure
* Too low → missed packets
This was tuned using: - **Service name and role** — what it is and what it does
- **Category badge** — HYPERVISOR, STORAGE, CLUSTER, PORTAL, etc.
- **Health badge** — HEALTHY or DEGRADED based on probe results
- **Internal IP and port** — where the service lives on the HomeLab VLAN
- **Status** — Online / Offline
- **Latency** — real response time in milliseconds
- **Last check timestamp** — when the probe last ran
* Direwolf audio level output This gives anyone viewing the page the same operational picture that the internal Grafana dashboard provides — without requiring access to the internal network.
* Real beacon testing from handheld radios
--- ---
# 🧠 Featured Systems ## Screenshots
<ul> ### Systems Overview — Live Service Status
<li> ![NOC Systems](./screenshots/noc-systems.png)
<b>📊 Ceds NOC Dashboard</b><br/>
Enterprise-style monitoring platform providing real-time visibility into infrastructure, services, and edge systems.<br/>
<b>Highlights:</b> Prometheus metrics, Blackbox monitoring, service health tracking, Grafana dashboards.<br/>
</li>
<br/> ### Metrics Overview
![NOC Metrics](./screenshots/noc-metrics.png)
<li>
<b>🧱 Ceds Home Lab</b><br/>
Full infrastructure environment simulating production systems using virtualization and Kubernetes.<br/>
<b>Highlights:</b> Proxmox HA cluster, 12-node K3s cluster, VLAN segmentation, reverse proxy, monitoring stack.<br/>
</li>
<br/>
<li>
<b>📡 APRS iGate (RF Edge System)</b><br/>
RF-to-internet gateway ingesting real-world radio data into digital systems.<br/>
<b>Highlights:</b> Audio tuning, Direwolf APRS TNC, APRS-IS integration, live beacon ingestion.<br/>
</li>
</ul>
--- ---
# 🧰 Tech Stack ## Related Projects
## ⚡ Core Technologies | Project | Role |
|---------|------|
| [ceds-observability-stack](https://github.com/ced4568/ceds-observability-stack) | Backend — Prometheus, Grafana, Alertmanager, all exporters |
| [ceds-homelab](https://github.com/ced4568/ceds-homelab) | Infrastructure — Proxmox cluster, TrueNAS, networking |
| [ced-k3s-homelab](https://github.com/ced4568/ced-k3s-homelab) | Orchestration — 12-node Raspberry Pi K3s cluster |
| [ceds-aprs-igate](https://github.com/ced4568/ceds-aprs-igate) | Edge — Dual-node APRS RF-to-internet gateway |
<img align="left" alt="TypeScript" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/typescript/typescript-plain.svg" /> ---
<img align="left" alt="Git" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/git/git-original.svg" />
<img align="left" alt="Linux" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/linux/linux-original.svg" />
<img align="left" alt="HTML" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/html5/html5-plain.svg" />
<img align="left" alt="JavaScript" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/javascript/javascript-plain.svg" />
<img align="left" alt="React" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/react/react-original.svg" />
<img align="left" alt="NodeJS" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/nodejs/nodejs-original.svg" />
<img align="left" alt="Python" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/python/python-plain.svg" />
<img align="left" alt="Docker" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/docker/docker-original.svg" />
<img align="left" alt="Kubernetes" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/kubernetes/kubernetes-plain.svg" />
<img align="left" alt="Grafana" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/grafana/grafana-original.svg" />
<img align="left" alt="Prometheus" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/prometheus/prometheus-original.svg" />
<img align="left" alt="Bash" width="30px" style="padding-right:10px;" src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/bash/bash-original.svg" />
<br /><br /> ## Roadmap
## 🖥️ Infrastructure & Systems - [x] Live service status cards with real probe data
- [x] APRS RF edge system monitoring
- [x] Public access — no login required
- [x] Custom badge and status JSON generation
- [ ] Alerting integration — visual alerts on NOC page
- [ ] Historical uptime percentage per service
- [ ] Mobile-optimized layout
- [ ] Auto-refresh with configurable interval
- [ ] Public Grafana dashboard embed
* Proxmox HA Cluster (Virtualization) ---
* K3s Kubernetes (Raspberry Pi Cluster)
* Docker / Containerized Services
* TrueNAS (Storage)
## 📊 Monitoring & Observability ## Author
* Grafana (Dashboards) **Chase Dumphord (Ced)**
* Prometheus (Metrics) Digital Systems Engineer · GE Aerospace · Oxford, MS
* Blackbox Exporter (Service Monitoring)
* Uptime Kuma (External Monitoring)
## 🌐 Networking & Access [![Portfolio](https://img.shields.io/badge/Portfolio-chasedumphord.com-0F6E56?style=flat-square)](https://chasedumphord.com)
[![LinkedIn](https://img.shields.io/badge/LinkedIn-chase--dumphord-0A66C2?style=flat-square)](https://www.linkedin.com/in/chase-dumphord/)
* Nginx Proxy Manager (Reverse Proxy) [![GitHub](https://img.shields.io/badge/GitHub-ced4568-181717?style=flat-square)](https://github.com/ced4568)
* Cloudflare Tunnels (Secure External Access) [![Live NOC](https://img.shields.io/badge/Live%20NOC-noc.chasedumphord.com-1D9E75?style=flat-square)](https://noc.chasedumphord.com)
* VLAN Segmentation (UniFi Network)
## 📡 Edge & RF Systems
* Direwolf (APRS TNC)
* APRS-IS Integration
* Raspberry Pi iGate Systems
* Audio Signal Processing / Tuning
## 💻 Development
* Python (Automation / Data Collection)
* JavaScript (Frontend Dashboard UI)
* HTML / CSS (UI Design)
* Bash (System Automation)
* Git / GitHub (Version Control)
# 📈 Roadmap
* [x] Grafana + Prometheus deployed
* [x] Real service monitoring (Blackbox)
* [ ] Response time dashboards
* [ ] Alerting system (Prometheus alerts)
* [ ] Full NOC dashboard layout (v2)
* [ ] Mobile APRS iGate deployment
# 👤 Connect With Me
[LinkedIn](https://www.linkedin.com/in/toochase-dumphord/)
[GitHub](https://github.com/ced4568)
## ⚡ Final Note
This is not a static portfolio — it is a live representation of real infrastructure, monitoring, and edge systems working together.