mirror of
https://github.com/ced4568/ceds-noc.git
synced 2026-08-13 05:14:03 +00:00
Fix NOC data fetch and update roadmap
This commit is contained in:
+10
-10
@@ -319,23 +319,23 @@
|
|||||||
<h3>Portfolio NOC</h3>
|
<h3>Portfolio NOC</h3>
|
||||||
<p>
|
<p>
|
||||||
JSON-driven dashboard showing real inventory, online/offline checks,
|
JSON-driven dashboard showing real inventory, online/offline checks,
|
||||||
service labels, latency, and last-check timestamps.
|
service labels, latency, and last-check timestamps across 28 systems.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="noc-card">
|
||||||
|
<div class="noc-card-badge done">✅ Live</div>
|
||||||
|
<h3>Automated Data Pipeline</h3>
|
||||||
|
<p>
|
||||||
|
Python script on Biggie (Proxmox) pings 28 systems every 5 minutes,
|
||||||
|
writes structured JSON, and pushes to GitHub automatically via cron.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="noc-card">
|
<div class="noc-card">
|
||||||
<div class="noc-card-badge next">⚙️ Next</div>
|
<div class="noc-card-badge next">⚙️ Next</div>
|
||||||
<h3>Automated Data Updates</h3>
|
|
||||||
<p>
|
|
||||||
Scheduled scripts auto-refresh system status and push dashboard-ready
|
|
||||||
JSON on a cron interval — no manual updates.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="noc-card">
|
|
||||||
<div class="noc-card-badge future">📈 Future</div>
|
|
||||||
<h3>Grafana + Prometheus</h3>
|
<h3>Grafana + Prometheus</h3>
|
||||||
<p>
|
<p>
|
||||||
Full observability stack for Proxmox, TrueNAS, K3s, Raspberry Pi,
|
Full observability stack for Proxmox, TrueNAS, K3s, Raspberry Pi,
|
||||||
Uptime Kuma, and APRS edge systems with real-time metrics.
|
Uptime Kuma, and APRS edge systems with real-time metrics ingestion.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -35,7 +35,12 @@ async function loadNocStatus() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
// Cache-bust to always get fresh data
|
// Cache-bust to always get fresh data
|
||||||
const res = await fetch(`https://chasedumphord.com/data/noc-status.json?t=${Date.now()}`);
|
// Use absolute URL when on NOC subdomain, relative when on main portfolio
|
||||||
|
const nocDataUrl = window.location.hostname === 'noc.chasedumphord.com'
|
||||||
|
? `https://chasedumphord.com/data/noc-status.json?t=${Date.now()}`
|
||||||
|
: `data/noc-status.json?t=${Date.now()}`;
|
||||||
|
|
||||||
|
const res = await fetch(nocDataUrl);
|
||||||
|
|
||||||
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
if (!res.ok) throw new Error(`HTTP ${res.status}`);
|
||||||
|
|
||||||
@@ -229,6 +234,8 @@ async function loadGithubRepos() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Build the alert panel from system data
|
||||||
|
function renderAlerts(systems, alertList) {
|
||||||
const scored = systems
|
const scored = systems
|
||||||
.map((sys) => {
|
.map((sys) => {
|
||||||
const sev = (sys.severity || "").toLowerCase();
|
const sev = (sys.severity || "").toLowerCase();
|
||||||
|
|||||||
Reference in New Issue
Block a user