Improve port-traffic logs and add manual NE rebind.

Fix unreadable collect-log contrast, surface errors on the Logs button, and let operators re-link a monitor to a chosen inventory NE without wiping samples.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-08-02 12:52:26 +08:00
parent a6c7267b47
commit 3f0787da11
9 changed files with 537 additions and 60 deletions

View file

@ -51,8 +51,8 @@ const en = {
topologyMgmt: "Topology management",
devices: "Device list",
topology: "Topology",
lldpLinks: "LLDP links",
topoClassify: "Classify & slices",
lldpLinks: "LLDP",
topoClassify: "Classify / slices",
alarms: "Alarms",
configs: "Configurations",
webcrt: "WebCRT",
@ -197,6 +197,29 @@ const en = {
logMessage: "Message",
logClose: "Close",
logHasError: "Has error",
rebind: "Rebind NE",
rebindTitle: "Rebind network element",
rebindOk: "Rebound to selected NE; collect can resume",
rebindFailed: "Rebind failed",
rebindHint:
"Pick the correct NE and confirm. IPs may not be unique, and a matching IP does not mean the same device. History is kept.",
rebindCurrent: "Current binding",
rebindEmpty: "No NEs found — add the device back under inventory first.",
rebindSameIp: "Same IP",
rebindSameIpHint: "IP matches current monitor — still verify name and ID",
rebindSubmit: "Confirm rebind",
rebindConfirm: "Bind monitoring to {{ne}}? History samples are kept.",
err: {
managedNeNotFound:
"Managed NE not found (often deleted then re-created with a new id). Use Rebind NE and pick manually.",
targetErrors: "{{count}} interface(s) failed",
unsupportedVendor: "Unsupported vendor / device type",
invalidSource: "Invalid NE source",
rebindPickFirst: "Select an NE first",
rebindNeMissing: "Selected NE not found — refresh and try again",
rebindSourceMismatch: "NE source does not match this monitor device",
alreadyMonitored: "That NE is already monitored by another device entry",
},
kpiLatest: "latest",
kpiBw: "Bandwidth",
latestAt: "Latest sample",

View file

@ -51,8 +51,8 @@ const zh = {
topologyMgmt: "拓扑管理",
devices: "设备列表",
topology: "拓扑信息",
lldpLinks: "LLDP 链路",
topoClassify: "分类与切片",
lldpLinks: "LLDP",
topoClassify: "分类切片",
alarms: "告警信息",
configs: "配置信息",
webcrt: "WebCRT",
@ -197,6 +197,27 @@ const zh = {
logMessage: "内容",
logClose: "关闭",
logHasError: "有错误",
rebind: "重新绑定网元",
rebindTitle: "重新绑定网元",
rebindCurrent: "当前监控",
rebindOk: "已重新绑定网元,可继续采集",
rebindFailed: "重新绑定失败",
rebindHint: "请手动选择正确的网元并确认。同 IP 不一定是同一台设备,且 IP 可能不唯一;历史采样会保留。",
rebindEmpty: "没有可选网元,请先在设备管理中加回。",
rebindSameIp: "同 IP",
rebindSameIpHint: "与当前监控记录的 IP 相同,请仍核对手动选择",
rebindSubmit: "确认绑定",
rebindConfirm: "确认将监控绑定到 {{ne}}?绑定后将按该网元采集,历史采样保留。",
err: {
managedNeNotFound: "管理网元不存在(可能已删除后重建,ID 已变)。请点「重新绑定网元」手动选择。",
targetErrors: "{{count}} 个接口采集失败",
unsupportedVendor: "不支持的厂商/设备类型",
invalidSource: "无效的网元来源",
rebindPickFirst: "请先选择要绑定的网元",
rebindNeMissing: "所选网元不存在,请刷新列表后重选",
rebindSourceMismatch: "网元来源与监控不一致",
alreadyMonitored: "目标网元已有另一条监控,无法绑定",
},
kpiLatest: "最新",
kpiBw: "带宽",
latestAt: "最新样点",