环境
类型
{{ g.tag }}
{{ g.services.length }}
{{ s.name }}
{{ statusLabel(s.status) }}
{{ s.desc }}
{{ s.tag }}
{{ envLabel(s.env) }}
延迟{{ s.latency_ms!=null ? s.latency_ms+'ms' : '—' }}
24h 可用{{ s.uptime_24h!=null ? s.uptime_24h+'%' : '—' }}
证书{{ s.cert_days_left!=null ? s.cert_days_left+'天' : '—' }}
{{ enabledChecks(s).length }} 项检查 · 全部正常 · {{ abnormalCount(s) }} 项异常
{{ s.last_checked_at ? ago(s.last_checked_at) : '未检查' }}
没有匹配的服务
监控服务
{{ services.length }} 个服务
环境
类型
24h 可用{{ s.uptime_24h!=null ? s.uptime_24h+'%' : '—' }}
平均延迟{{ s.latency_ms!=null ? s.latency_ms+'ms' : '—' }}
证书剩余{{ s.cert_days_left!=null ? s.cert_days_left+'天' : '—' }}
检查点{{ s.checks.length }}
| 检查点 | 类型 | 目标 | 期望 | 延迟 | 近 24 次 | 启用 |
|---|---|---|---|---|---|---|
| {{ c.name }}非关键已停用 | {{ c.check_type }} | {{ c.method }}{{ c.target }} | {{ expectLabel(c) }} | {{ c.latency_ms!=null ? c.latency_ms+'ms' : '—' }} |
没有匹配的服务
运维资源
{{ resources.length }} 项 · {{ expiringResourceCount }} 项临期/过期
{{ resTypeLabel(r.type) }}
剩余流量
{{ r.remaining_traffic.toFixed(2) }} GB
阈值 {{ r.traffic_threshold }} GB
到期
{{ expiryText(r.expiry_at) }}
{{ fmtDate(r.expiry_at) }}
还没有资源,点右上「新增资源」录入服务器 / IP / 域名
报警投递方式(服务 / 资源异常)
两个都关 → 异常只进「消息中心 / 故障看板」,不推 Lark。此开关只管服务/资源报警,不影响待办提醒私信。
Lark 报警渠道
| 名称 | Webhook | 推送范围 | 加签 | 启用 | |
|---|---|---|---|---|---|
| {{ c.name }} | {{ channelScopeText(c) }} | {{ c.secret ? '是' : '—' }} | {{ c.enabled ? '启用' : '停用' }} |
|
|
| 还没有配置报警渠道 | |||||
待办 · 倒计时提醒
{{ pendingReminders.length }} 项进行中 · 共 {{ reminders.length }} 项
{{ r.title }}
{{ remStatusLabel(r.status) }}
{{ r.note }}
倒计时
{{ countdownText(r) }}
指派给你
还没有待办提醒,点右上「新建提醒」开始
{{ openIncidents.length }}
个故障进行中
当前无进行中故障
{{ g.label }}
({{ g.items.length }})
{{ i.service_name || i.resource_name || '—' }}
{{ incTypeLabel(i.type) }}
已持续
{{ elapsed(i.started_at) }}
{{ i.check_name }}{{ i.check_name && i.message ? ' · ' : '' }}{{ i.message }}
开始于 {{ fmt(i.started_at) }}
暂不提醒
{{ snoozedIncidents.length }} 个已静音 · 到点自动恢复提醒
{{ i.service_name || i.resource_name || '—' }}
{{ incTypeLabel(i.type) }}
{{ i.check_name }}{{ i.check_name && i.message ? ' · ' : '' }}{{ i.message }}
静音至 {{ snoozeUntilText(i) }}
已暂停
{{ pausedIncidents.length }} 条 · 因停用检查点/服务而关闭
{{ i.service_name || i.resource_name || '—' }}
{{ incTypeLabel(i.type) }}
持续 {{ duration(i) }}
{{ i.check_name ? i.check_name + ' · ' : '' }}{{ i.message }}
暂停于 {{ fmt(i.resolved_at) }}
已恢复
{{ resolvedIncidents.length }} 条历史
{{ i.service_name || i.resource_name || '—' }}
{{ incTypeLabel(i.type) }}
持续 {{ duration(i) }}
{{ i.message }}
{{ fmt(i.started_at) }} → {{ fmt(i.resolved_at) }}
暂无已恢复的故障记录
消息中心
{{ unreadCount }} 条未读 · 共 {{ messages.length }} 条
{{ msgCatLabel(m.category) }}
{{ ago(m.created_at) }}
{{ msgBody(m.title) }}
{{ msgBody(m.body) }}
还没有消息记录
配置迁移(测试 → 正式)
一键导出/导入 服务 + 资源 + SSO + 账号 全部配置。导入为 add-only(同名/同 key/同邮箱跳过、不覆盖既有),账号不含密码(正式环境需重新邀请或 Lark 登录)。搬到正式环境时可在导入弹窗填「host 替换」把测试机地址换成正式机地址。
⚠ 请核对以下环境相关 URL 是否属于当前环境(跨环境最容易漏改):
- {{ u }}
账号
{{ platUsers.length }} 个账号| 姓名 | 邮箱 | 身份 | 最近登录 | 操作数 | 最近活跃 | |
|---|---|---|---|---|---|---|
| {{ u.name }} | {{ roleLabel(u.role) }} · 锁定 | {{ ago(u.last_login_at) }} | {{ u.action_count }} | {{ u.last_active_at ? ago(u.last_active_at) : '—' }} | 当前账号 | |
| 还没有账号记录 | ||||||
SSO 单点登录
{{ ssoClients.length }} 个子服务「最低身份」控制谁能从门户单点登录进该服务——低于门槛的用户点卡片会回落到该服务自己的登录页(这是「门户是否替你免登」的闸,不是网络防火墙;子服务仍须自带鉴权)。
| key | 名称 | 回调地址 | 最低身份 | 启用 | |
|---|---|---|---|---|---|
| {{ c.key }} | {{ c.name || '—' }} | ||||
| 还没有接入 SSO 的子服务 | |||||
使用日志
| 时间 | 操作人 | 动作 | 对象 | 状态 |
|---|---|---|---|---|
| {{ fmt(a.created_at) }} | {{ a.actor_name }} 以 {{ a.impersonated_name || a.impersonated_open_id }} 身份 {{ a.actor_name }} | {{ actLabel(a.action) }} | {{ a.status }}— | |
| 还没有审计记录 | ||||
第 {{ Math.floor(auditFilter.offset / auditFilter.limit) + 1 }} 页