diff --git a/beszel/internal/agent/agent.go b/beszel/internal/agent/agent.go
index 15a253c..fcd2aa2 100644
--- a/beszel/internal/agent/agent.go
+++ b/beszel/internal/agent/agent.go
@@ -206,7 +206,9 @@ func (a *Agent) getSystemStats() (system.Info, system.Stats) {
if info, err := host.Info(); err == nil {
systemInfo.Uptime = info.Uptime
systemInfo.Hostname = info.Hostname
+ systemInfo.KernelVersion = info.KernelVersion
}
+
// add cpu stats
if info, err := cpu.Info(); err == nil && len(info) > 0 {
systemInfo.CpuModel = info[0].ModelName
diff --git a/beszel/internal/entities/system/system.go b/beszel/internal/entities/system/system.go
index a013169..41f9909 100644
--- a/beszel/internal/entities/system/system.go
+++ b/beszel/internal/entities/system/system.go
@@ -46,6 +46,7 @@ type NetIoStats struct {
type Info struct {
Hostname string `json:"h"`
+ KernelVersion string `json:"k"`
Cores int `json:"c"`
Threads int `json:"t"`
diff --git a/beszel/site/src/components/routes/system.tsx b/beszel/site/src/components/routes/system.tsx
index 0f6f383..d93d8a4 100644
--- a/beszel/site/src/components/routes/system.tsx
+++ b/beszel/site/src/components/routes/system.tsx
@@ -12,6 +12,7 @@ import {
MonitorIcon,
StretchHorizontalIcon,
XIcon,
+ BinaryIcon
} from 'lucide-react'
import ChartTimeSelect from '../charts/chart-time-select'
import {
@@ -270,6 +271,18 @@ export default function SystemDetail({ name }: { name: string }) {
)}
+ {/* kernel */}
+
+
+
+
+
+ {system.info.k}
+
+
+ Kernel
+
+
{system.info?.u && (
diff --git a/beszel/site/src/types.d.ts b/beszel/site/src/types.d.ts
index 099a95c..40f4ca7 100644
--- a/beszel/site/src/types.d.ts
+++ b/beszel/site/src/types.d.ts
@@ -12,6 +12,8 @@ export interface SystemRecord extends RecordModel {
export interface SystemInfo {
/** hostname */
h: string
+ /** kernel **/
+ k: string
/** cpu percent */
cpu: number
/** cpu threads */