fix(frontend): logs/analysis P0 — 职责拆分与布局收口

砍 analysis 明细可视化改「去日志查询」;无数据源 EmptyState;日图标固定近7天。
logs 去掉负 margin、页头常显、筛选/查询分层;level 色阶;Label 保持默认收起。
This commit is contained in:
Codex committed 2026-10-28 21:54:40 +08:00
1 parent 4f75ef8578
commit f993d5b420
5 files changed
+431 -110

No files matched your search

+87
View File
@@ -0,0 +1,87 @@
// Log analysis page (admin) — registered via i18n/domains.ts; page entry imports '@/i18n/domains'
export default {
title: 'Log Analysis',
subtitle: 'Log volume, errors and trends by app and namespace — spot the noisiest workloads',
adminOnly: {
title: 'Admin only',
desc: 'Log analysis provides platform-wide statistics for administrators. Contact an administrator for access.',
},
emptySource: {
title: 'No Loki data source yet',
desc: 'Connect a source on the log query page, then come back for aggregates.',
goLogs: 'Go to log query',
},
filter: {
source: 'Source',
sourceEmpty: 'No sources',
namespace: 'Namespace',
allNamespaces: 'All namespaces',
refresh: 'Refresh',
},
stats: {
total: 'Total logs',
errors: 'Error lines',
warnings: 'Warning lines',
apps: 'Active apps',
},
trend: {
title: 'Log volume trend',
subtitle: 'Total / errors / warnings bucketed over time',
seriesTotal: 'Total',
seriesError: 'Errors',
seriesWarn: 'Warnings',
empty: 'No log data in this time range',
},
stream: {
title: 'App volume stream',
subtitle: 'Stacked distribution over time for the top {{count}} apps by volume',
empty: 'No app-dimension data',
},
pie: {
title: 'Namespace distribution',
subtitle: 'Log volume share by namespace',
empty: 'No namespace-dimension data',
other: 'Other',
},
goQuery: {
title: 'Need raw logs?',
desc: 'Search, Tail, and context live on the log query page; this page is aggregates only.',
action: 'Go to log query',
},
daily: {
fixedBadge: 'Fixed last 7 days',
title: 'Daily volume by app',
subtitle: 'Top apps by calendar day for the last 7 days — not controlled by the range filter above',
empty: 'No app-dimension data in the last 7 days',
},
detail: {
title: 'Log detail visualization',
subtitle: 'Enter LogQL or use a preset to analyze up to 1000 sampled lines as table / line / stream / pie charts; ingress-nginx access logs are auto-detected for domain / status / path / upstream dimensions',
inputAria: 'LogQL detail query',
run: 'Run',
presetAll: 'All logs',
presetIngress: 'Ingress access',
presetError: 'Error logs',
viewAria: 'Visualization views',
view: { table: 'Table', line: 'Line', stream: 'Stream', pie: 'Pie' },
hint: 'Enter a LogQL query or click a preset to visualize',
queryFailed: 'Query failed',
},
table: {
title: 'App volume ranking',
subtitle: 'Top 10 apps by volume; click "View logs" to jump to the query page',
rank: '#',
app: 'App',
appWithKey: 'App ({{key}})',
namespace: 'Namespace',
volume: 'Volume',
share: 'Share',
errors: 'Errors',
errorRate: 'Error rate',
trend: 'Trend',
actions: 'Actions',
viewLogs: 'View logs',
untagged: '(untagged)',
empty: 'No app-dimension data',
},
}