feat: host heartbeat status and dashboard metrics (2.2)
Track agent.heartbeat and report.daily.ssh per host; show online/stale on Hosts UI; dashboard counters and SAC_HEARTBEAT_STALE_MINUTES config.
This commit is contained in:
@@ -19,6 +19,21 @@
|
||||
<div class="dash-label">Хостов</div>
|
||||
<RouterLink to="/hosts">Хосты →</RouterLink>
|
||||
</div>
|
||||
<div class="dash-card" :class="{ 'dash-warn': data.hosts_stale > 0 }">
|
||||
<div class="dash-value">{{ data.hosts_stale }}</div>
|
||||
<div class="dash-label">Устаревший heartbeat</div>
|
||||
<RouterLink to="/hosts">Хосты →</RouterLink>
|
||||
</div>
|
||||
<div class="dash-card">
|
||||
<div class="dash-value">{{ data.heartbeats_24h }}</div>
|
||||
<div class="dash-label">Heartbeat за 24 ч</div>
|
||||
<RouterLink to="/events?type=agent.heartbeat">События →</RouterLink>
|
||||
</div>
|
||||
<div class="dash-card">
|
||||
<div class="dash-value">{{ data.daily_reports_24h }}</div>
|
||||
<div class="dash-label">Отчёты за 24 ч</div>
|
||||
<RouterLink to="/events?type=report.daily.ssh">События →</RouterLink>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Severity за 24 ч</h2>
|
||||
@@ -100,6 +115,9 @@ function connectLive() {
|
||||
type?: string;
|
||||
events_last_24h?: number;
|
||||
problems_open?: number;
|
||||
hosts_stale?: number;
|
||||
heartbeats_24h?: number;
|
||||
daily_reports_24h?: number;
|
||||
};
|
||||
if (msg.type !== "dashboard" || !data.value) return;
|
||||
if (typeof msg.events_last_24h === "number") {
|
||||
@@ -108,6 +126,15 @@ function connectLive() {
|
||||
if (typeof msg.problems_open === "number") {
|
||||
data.value.problems_open = msg.problems_open;
|
||||
}
|
||||
if (typeof msg.hosts_stale === "number") {
|
||||
data.value.hosts_stale = msg.hosts_stale;
|
||||
}
|
||||
if (typeof msg.heartbeats_24h === "number") {
|
||||
data.value.heartbeats_24h = msg.heartbeats_24h;
|
||||
}
|
||||
if (typeof msg.daily_reports_24h === "number") {
|
||||
data.value.daily_reports_24h = msg.daily_reports_24h;
|
||||
}
|
||||
} catch {
|
||||
/* ignore malformed SSE */
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user