- Menu group "Servere" with Windows-servere (/servere) and Syntetiske tjek
(/syntetiske-tjek).
- /servere: every server with status (overvåges, delvist målbar, kan ikke læses),
CPU, free memory, the fullest disk and the nearest "fuld om ca. N dage", findings;
add application/AOS/file servers. /servere/{id}: findings and what is not
measurable and why, CPU/memory for the last day, disks with forecasts, watched
and stopped services, grouped event log errors, scheduled tasks, rights per area
with the latest test, the least-privilege PowerShell script (copy or download,
UTF-8 with BOM), role and service lists, pause and remove. /servere/fund/{id}.
- /syntetiske-tjek: checks with status and response time; one form for every kind
(TCP, HTTP(S), SQL login + query, DNS, AX logon) with an optional server and
service; a SQL login password is sealed for the agent at once and never shown.
/syntetiske-tjek/{id}: latest result (incl. "kun porten er testet"), findings,
response times, history, edit, run now, pause, remove.
- API v1: /windows-servers (+ test, grant-script, performance, disks, services,
events, tasks, rule-states), /server-findings, /synthetic-checks (+ run, results,
rule-states); all in OpenAPI. Passwords are write-only; event samples, failure
messages and sensitive evidence are "[udeladt]" unless
SQLInsight:Web:ApiIncludesSensitiveEvidence is on. /api/v1/rules lists the new rules.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
26 lines
833 B
Text
26 lines
833 B
Text
@inject Display Display
|
|
|
|
@if (Server.Paused)
|
|
{
|
|
<span class="badge sev-medium">På pause</span>
|
|
}
|
|
else if (Server.LastContactAt is null && Server.LastErrorAt is null)
|
|
{
|
|
<span class="badge sev-info" title="Agenten har ikke set serveren endnu">Venter på agenten</span>
|
|
}
|
|
else if (!Server.Reachable)
|
|
{
|
|
<span class="badge sev-critical" title="@Server.LastError">Kan ikke læses</span>
|
|
}
|
|
else if (Server.Areas.Any(a => !a.Ok))
|
|
{
|
|
<span class="badge sev-medium" title="@string.Join(" · ", Server.Areas.Where(a => !a.Ok).Select(a => SQLInsight.Core.Servers.ServerArea.Display(a.Area)))">Delvist målbar</span>
|
|
}
|
|
else
|
|
{
|
|
<span class="badge sev-ok" title="Senest læst @Display.Time(Server.LastContactAt)">Overvåges</span>
|
|
}
|
|
|
|
@code {
|
|
[Parameter, EditorRequired] public WindowsServerRow Server { get; set; } = null!;
|
|
}
|