feat(menu): 日志查询/日志分析拆为独立菜单 + 部署菜单改名「组件部署」
按使用反馈调整信息架构:
=== 1. 日志查询、日志分析保持独立菜单(不折叠)===
上一版把两者并进「日志」分组,实际使用中不方便:
- 日志查询是最高频入口,不该多点一次 tab 才到
- 日志分析是管理员专用的聚合视图,与查询的心智模型不同
改为两个独立菜单项,/logs 的菜单名保持「日志查询」不变(用户明确要求),
/analysis 保留 adminOnly(仅管理员可见)。
=== 2. /deployments 菜单改名:部署 Loki → 组件部署 ===
命名评估(三个候选):
组件部署 ✅ 选中:部署对象是基础设施组件(Loki 实例),
与本环境大量 cex-* 业务服务明确区分。
运维在侧栏看到「服务部署」第一反应会是"发布业务服务",容易误点。
服务部署 ✗ 与业务服务语义冲突
部署 Loki ✗ 以后支持多组件(Fluent Bit / Grafana)就名不副实
文案改动:菜单 menu.deployments、页面标题、组内 tab 全部统一为「组件部署」,
en 同步为 Component Deploy / Component Deploy 页面标题。
=== 3. 顺带修:启动日志每次都打印「首次部署」===
旧实现无条件打印
log.Printf("首次部署请查看启动日志或 %s/initial-admin-password.txt ...")
于是每次重启日志里都有「首次部署」,排查时极易被误导成
"平台重新初始化了、数据是不是丢了"(本次就因此自查了一轮)。
改为仅当密码文件存在时才提示(admin 改密后该文件会被删除)。
=== 当前菜单结构(8 项)===
仪表盘 / 部署向导 / 资源接入(集群·主机·存储) / 日志服务(组件部署·日志采集)
/ 日志查询 / 日志分析(admin) / 日志告警 / 系统管理(用户·审计·设置)
=== 实测 ===
bundle 文案:组件部署1 日志查询2 日志分析2 资源接入1 日志服务1 系统管理1
启动日志「首次部署」出现次数:0
CLI self-check:overall=ok(数据库 54.7 KB,CLI 模式读取)
CLI backup:记录数 88(修复前为 0)、密钥指纹 d714ebda23908331
镜像:lghost/lokistack:latest + v0.1 = aa6313fee5bb
This commit is contained in:
1 parent
b2c82da377
commit
1a4c75e28c
6 files changed
+25
-20
No files matched your search
@@ -55,31 +55,27 @@ export const routes: AppRoute[] = [
|
||||
{
|
||||
path: '/deployments', component: Deployments, auth: true,
|
||||
meta: {
|
||||
// 组内 tab 名用「组件部署」:部署对象是基础设施组件(Loki 实例),
|
||||
// 与业务侧大量 cex-* 业务服务明确区分,避免误以为这里是发布业务服务。
|
||||
title: 'menu.deployments', icon: Rocket, order: 4, adminOnly: true,
|
||||
group: { key: 'services', label: 'menu.groups.services', icon: Rocket, order: 4 },
|
||||
},
|
||||
},
|
||||
{ path: '/collectors', component: Collectors, auth: true, meta: { title: 'menu.collectors', icon: RadioTower, order: 7, adminOnly: true, groupKey: 'services' } },
|
||||
|
||||
// ── 日志(查询 / 分析):同一个数据源的不同视角 ──
|
||||
{
|
||||
path: '/logs', component: LogsPage, auth: true,
|
||||
meta: {
|
||||
title: 'menu.logs', icon: ScrollText, order: 5,
|
||||
group: { key: 'logs', label: 'menu.groups.logs', icon: ScrollText, order: 5 },
|
||||
},
|
||||
},
|
||||
{ path: '/analysis', component: AnalysisPage, auth: true, meta: { title: 'menu.analysis', icon: BarChart3, order: 9, adminOnly: true, groupKey: 'logs' } },
|
||||
// ── 日志查询 / 日志分析:高频入口,保持独立菜单项(不折叠)──
|
||||
{ path: '/logs', component: LogsPage, auth: true, meta: { title: 'menu.logs', icon: ScrollText, order: 5 } },
|
||||
{ path: '/analysis', component: AnalysisPage, auth: true, meta: { title: 'menu.analysis', icon: BarChart3, order: 6, adminOnly: true } },
|
||||
|
||||
// ── 告警:独立入口(要盯的,不能被折叠) ──
|
||||
{ path: '/alerts', component: AlertsPage, auth: true, meta: { title: 'menu.alerts', icon: BellRing, order: 6 } },
|
||||
{ path: '/alerts', component: AlertsPage, auth: true, meta: { title: 'menu.alerts', icon: BellRing, order: 7 } },
|
||||
|
||||
// ── 系统管理(用户 / 审计 / 设置):低频管理动作 ──
|
||||
{
|
||||
path: '/users', component: UsersPage, auth: true,
|
||||
meta: {
|
||||
title: 'menu.users', icon: UsersRound, order: 7, adminOnly: true,
|
||||
group: { key: 'system', label: 'menu.groups.system', icon: Settings, order: 7 },
|
||||
title: 'menu.users', icon: UsersRound, order: 8, adminOnly: true,
|
||||
group: { key: 'system', label: 'menu.groups.system', icon: Settings, order: 8 },
|
||||
},
|
||||
},
|
||||
{ path: '/audit', component: AuditPage, auth: true, meta: { title: 'menu.audit', icon: History, order: 13, adminOnly: true, groupKey: 'system' } },
|
||||
|
||||
Reference in new issue
Block a user