feat: 工具配置增强、站点拨测与日志中心多项改进

- 工具配置:新增卸载 API/UI、Go 工具链、流水线构建自动安装依赖
- 修复 ListTools VerifyTool 递归栈溢出导致获取工具配置失败
- Node.js Alpine 安装改用 unofficial-builds musl 预编译包与 index.json 解析 LTS
- 站点拨测:详情页路由、告警自动恢复、并发拨测与默认可观测频率
- 日志中心:RBAC、查询构建器、ES/Loki 增强与审计 request/response 展示
- 发布配置:构建节点、流水线远程执行、Deploy RBAC 导航拆分
This commit is contained in:
Logan committed 2026-07-02 07:47:33 +08:00
1 parent cde7bbe540
commit 7e1c8f583c
84 files changed
+7729 -1507

No files matched your search

@@ -11,7 +11,7 @@ import {
analyzeSslResults, analyzeTcpResults,
} from './analytics';
import { SiteEventTimeline } from './SiteEventTimeline';
import { ChartExpandShell } from '../../shared/ChartExpandShell';
import { SiteChartCard } from '../SiteChartCard';
import { MonitorRangeChartFrame } from '../../shared/MonitorRangeChartFrame';
import { MonitorChartTooltip, MONITOR_CHART_GRID, MONITOR_CHART_TICK } from '../../shared/monitorChartTheme';
@@ -52,7 +52,7 @@ function HttpObs({ task, results, rangeLabel = '近 6 小时' }: Props) {
</div>
))}
</div>
<ChartExpandShell
<SiteChartCard
icon={<Globe className="h-3.5 w-3.5 text-[var(--dg-text-muted)]" />}
title={`HTTP 状态码时序(${rangeLabel})`}
empty={s.chart.length === 0}
@@ -76,7 +76,7 @@ function HttpObs({ task, results, rangeLabel = '近 6 小时' }: Props) {
)}
</MonitorRangeChartFrame>
)}
</ChartExpandShell>
</SiteChartCard>
<SiteEventTimeline title="4xx / 5xx / 超时事件" events={s.events} />
</div>
);
@@ -100,10 +100,10 @@ function SslObs({ task, results }: Props) {
</div>
))}
</div>
<ChartExpandShell
<SiteChartCard
icon={<Shield className="h-3.5 w-3.5 text-[var(--dg-text-muted)]" />}
title="证书剩余天数趋势"
compactHeight={160}
height={220}
empty={s.chart.length === 0}
>
{(h) => (
@@ -122,7 +122,7 @@ function SslObs({ task, results }: Props) {
)}
</MonitorRangeChartFrame>
)}
</ChartExpandShell>
</SiteChartCard>
<SiteEventTimeline title="证书 / 握手异常" events={s.events} />
</div>
);
@@ -148,7 +148,7 @@ function LatencyObs({ results, mode, rangeLabel = '近 6 小时' }: Props & { mo
</div>
))}
</div>
<ChartExpandShell
<SiteChartCard
icon={<Icon className="h-3.5 w-3.5 text-[var(--dg-text-muted)]" />}
title={`${label}(${rangeLabel})`}
empty={s.chart.length === 0}
@@ -168,7 +168,7 @@ function LatencyObs({ results, mode, rangeLabel = '近 6 小时' }: Props & { mo
)}
</MonitorRangeChartFrame>
)}
</ChartExpandShell>
</SiteChartCard>
<SiteEventTimeline title="延迟尖峰 / 失败事件" events={s.events} />
</div>
);
@@ -190,10 +190,10 @@ function TcpObs({ results, rangeLabel = '近 6 小时' }: Props) {
</div>
))}
</div>
<ChartExpandShell
<SiteChartCard
icon={<Network className="h-3.5 w-3.5 text-[var(--dg-text-muted)]" />}
title="TCP 连通状态时序"
compactHeight={120}
height={200}
empty={s.chart.length === 0}
>
{(h) => (
@@ -209,7 +209,7 @@ function TcpObs({ results, rangeLabel = '近 6 小时' }: Props) {
)}
</MonitorRangeChartFrame>
)}
</ChartExpandShell>
</SiteChartCard>
<SiteEventTimeline title="TCP 不通时间点" events={s.events} emptyText="近期 TCP 均连通" />
</div>
);