Infrastructure Monitor

DevOps

Real-time server monitoring with CPU/memory line charts, request rate gauges, error rate sparklines, and system heatmap.

CPU Usage

42%

Healthy

Memory

6.2 GB

68%

Requests/s

2,841

+12%

Error Rate

0.04%

-0.01%
CPU & Memory Usage
10:0010:0510:1010:1510:2010:2510:3010:3510:4010:4510:5010:5511:00304050607080CPU %Memory %
System Health
94Score0100
Request Distribution by Endpoint
/api/users/api/orders/api/products/api/auth/api/search/api/webhooks05001K1.5KSuccessErrors
Response Time (p50 / p99)
10:0010:1010:2010:3010:4010:5011:00050100150p50 (ms)p99 (ms)

Implementation

dashboard.tsx
import { LineChart, GaugeChart, BarChart, AreaChart, Sparkline } from "@chartts/react"

export function InfraMonitor() {
  const { cpu, memory, requests, health } = useMetrics()

  return (
    <div className="space-y-4">
      <div className="grid grid-cols-4 gap-3">
        <KPI label="CPU" value="42%" sparkline={cpu.recent} />
        <KPI label="Memory" value="6.2 GB" sparkline={memory.recent} />
        <KPI label="Req/s" value="2,841" />
        <KPI label="Errors" value="0.04%" />
      </div>
      <div className="grid grid-cols-3 gap-4">
        <LineChart data={metrics} x="time" y={["cpu","memory"]} className="col-span-2 h-72" />
        <GaugeChart value={health} max={100} className="h-72" />
      </div>
      <div className="grid grid-cols-2 gap-4">
        <BarChart data={endpoints} x="path" y={["success","errors"]} className="h-64" />
        <AreaChart data={latency} x="time" y={["p50","p99"]} className="h-64" />
      </div>
    </div>
  )
}