feat: Add Grafana panels, fix Ledger auth, update PM2 versions
BOC CI/CD / Test (push) Failing after 5s
BOC CI/CD / Security Scan (push) Has been skipped
BOC CI/CD / Build & Push (push) Has been skipped
BOC CI/CD / Deploy to Staging (push) Has been skipped
BOC CI/CD / Deploy to Production (push) Has been skipped

- Add GrafanaPanel component for system health monitoring
- Update DashboardPage with Grafana iframe panels
- Fix Ledger auth middleware (TICKET-009)
- Update PM2 proxy package.json versions
- Deploy BOC frontend via PM2
This commit is contained in:
Bernt
2026-07-29 22:29:07 +00:00
parent 1d23e89b18
commit cb4a273733
5 changed files with 127 additions and 84 deletions
+27
View File
@@ -0,0 +1,27 @@
import React from 'react';
interface GrafanaPanelProps {
src: string;
title: string;
height?: number;
}
export const GrafanaPanel: React.FC<GrafanaPanelProps> = ({
src,
title,
height = 300
}) => {
return (
<div className="bg-white rounded-lg shadow-md p-4 mb-4">
<h3 className="text-lg font-semibold mb-2">{title}</h3>
<iframe
src={src}
width="100%"
height={height}
frameBorder="0"
title={title}
className="rounded"
/>
</div>
);
};
+16
View File
@@ -5,6 +5,7 @@ import { ActivityFeed } from '@/components/ActivityFeed'
import { BalanceSheetChart } from '@/components/BalanceSheetChart'
import { AccountDetailModal } from '@/components/AccountDetailModal'
import { ExportButtons } from '@/components/ExportButtons'
import { GrafanaPanel } from '@/components/GrafanaPanel'
import { Card, CardHeader } from '@/components/ui/Card'
import { Skeleton } from '@/components/ui/Skeleton'
import {
@@ -234,6 +235,21 @@ export function DashboardPage() {
<BalanceSheetChart data={balanceSheetData} />
)}
{/* Grafana Panels */}
<div className="mt-8">
<h2 className="text-lg font-semibold mb-4">System Health</h2>
<GrafanaPanel
src="http://localhost:3050/d-solo/aamos-system/aamos-system-health?orgId=1&panelId=1&refresh=5s"
title="CPU Usage"
height={200}
/>
<GrafanaPanel
src="http://localhost:3050/d-solo/aamos-system/aamos-system-health?orgId=1&panelId=2&refresh=5s"
title="Memory Usage"
height={200}
/>
</div>
{/* Revenue Chart + Activity */}
<div className="grid grid-cols-1 xl:grid-cols-3 gap-6">
<div className="xl:col-span-2">