safesight-control/internal/web/ui/templates/diagnostics.html

67 lines
2.5 KiB
HTML

{{define "diagnostics"}}
<div class="card">
<div class="section-title">
<div>
<h2>诊断工作台</h2>
<div class="muted small">诊断域集中承载日志分析、系统状态、审计记录和高级排障入口。</div>
</div>
<a class="btn ghost" href="/ui/api">高级调试</a>
</div>
</div>
<div class="stats">
<div class="stat"><div class="k">日志分析</div><div class="v">Logs</div><div class="hint">按设备查看诊断日志和运行指标</div></div>
<div class="stat"><div class="k">系统状态</div><div class="v">System</div><div class="hint">查看发现、健康和接口状态</div></div>
<div class="stat"><div class="k">审计记录</div><div class="v">Audit</div><div class="hint">追踪任务与关键操作</div></div>
</div>
<div class="card">
<h2>日志分析</h2>
<div class="table-wrap" style="margin-top:10px">
<table>
<thead>
<tr><th>节点</th><th>状态</th><th>管理地址</th><th>诊断入口</th></tr>
</thead>
<tbody>
{{range .Devices}}
<tr>
<td>
<a class="mono" href="/ui/devices/{{.DeviceID}}">{{if .DeviceName}}{{.DeviceName}}{{else}}{{.DeviceID}}{{end}}</a>
<div class="muted small mono">{{.DeviceID}}</div>
</td>
<td>{{if .Online}}<span class="pill ok">在线</span>{{else}}<span class="pill bad">离线</span>{{end}}</td>
<td class="mono">{{.IP}}:{{.AgentPort}}</td>
<td>
<div class="actions">
<a class="btn ghost" href="/ui/devices/{{.DeviceID}}/logs?limit=200">诊断日志</a>
<a class="btn ghost" href="/ui/devices/{{.DeviceID}}/graphs">运行指标</a>
<a class="btn ghost" href="/ui/devices/{{.DeviceID}}">节点详情</a>
</div>
</td>
</tr>
{{else}}
<tr><td colspan="4" class="muted">暂无设备。请先在“新增设备”页扫描或手动添加。</td></tr>
{{end}}
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="card">
<h2>系统状态</h2>
<div class="muted small">查看平台健康、接口和发现能力。</div>
<div class="actions" style="margin-top:12px">
<a class="btn ghost" href="/ui/system">进入系统状态</a>
</div>
</div>
<div class="card">
<h2>审计记录</h2>
<div class="muted small">统一查看任务执行和关键操作留痕。</div>
<div class="actions" style="margin-top:12px">
<a class="btn ghost" href="/ui/audit">进入审计记录</a>
</div>
</div>
</div>
{{end}}