可观测性后端运维前端云原生微服务AI Agent【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址https://gitcode.com/GitHub_Trending/on/oneuptime点击查看免费下载状态页Status Page是 OneUptime 监控与可观测性平台的对外门面一个客户可以直接访问、而无需发邮件询问是不是只有我遇到问题的统一地址。本文以官方文档Persian 版为骨架结合仓库内StatusPage、StatusPageResource、StatusPageGroup等数据模型与状态页服务端实现系统讲解状态页的创建流程、术语体系、菜单地图、访问者视图、显示开关、私有化方案私有用户 / 主密码 / SSO·OIDC / IP 白名单以及嵌入式徽章与 RSS 订阅读完后你将能在 OneUptime 中独立搭建并运营一个生产可用的状态页。状态页是什么项目的对外门面凌晨两点服务出问题时状态页是支持队列第一时间链接过去的地方也是订阅者收到通知的来源——所以它值得在真正需要之前就搭建好而不是在故障进行中才匆忙配置。在 OneUptime 中状态页位于仪表盘左侧导航的Status Pages分组essentials 组。页面上的所有内容都是按单个状态页维度管理的一个项目可以按需运行任意多个状态页——一个公开页给客户、一个私有页给内部受众、一个按区域划分的页给特定市场。这种一项目多状态页的模型对应仓库中的StatusPage数据模型StatusPage.ts它通过TenantColumn(projectId)将每个状态页挂到项目下并通过CrudApiEndpoint(new Route(/status-page))暴露 CRUD API。一图速览At a glance两个字段即可创建。新建状态页只需填写Name和Description资源、品牌化和域名都在之后配置。资源就是访问者看到的内容。页面上的每一行都是一个Status Page Resource——即带显示名、悬停提示tooltip和自身可用性选项的监控器monitor或监控器组monitor group。组Group能把长页面切分成区块且支持嵌套。从第一天起就有预览地址。每个状态页都自带预览链接在自定义域名存在之前即可预览。面向访问者的路由由设置把关。事故incidents、公告announcements、计划事件scheduled events和订阅页只有在Advanced Settings中对应开关打开时才显示。三种私有化方式。私有用户Private Users、主密码Master Password、SAML SSO / OIDC——外加 IP 白名单。订阅者自动收到通知。邮件、短信、Slack、Microsoft Teams 和 Webhook 订阅者都能关注页面每个渠道由独立开关控制。关键术语表术语含义状态页Status page一个公开或私有页面拥有自己的品牌化、域名、资源和订阅者。对应StatusPage模型。资源Resource访问者看到的一行——以显示名和可用性选项呈现在页面上的监控器或监控器组。组Group容纳资源的命名区块。组可以嵌套在其他组中每一级都会汇总其下所有内容的状态。公告Announcement发布到一个或多个状态页的消息带开始时间和可选的结束时间。订阅者Subscriber通过邮件、短信、Slack、Microsoft Teams 或 Webhook 关注页面的人或系统。自定义域名Custom domain你自己的域名——如status.example.com——通过 CNAME 和 SSL 证书指向状态页。私有用户Private user可以登录私有状态页的账户与你的 OneUptime 项目用户相互独立。这些术语在源码中有清晰对应StatusPageResource模型StatusPageResource.ts同时关联monitorId与monitorGroupId两个可选外键说明一行资源既可以是单个监控器、也可以是监控器组它还通过statusPageGroupId关联到StatusPageGroupStatusPageGroup.ts而该模型带有parentStatusPageGroupId自引用字段正是组内嵌组嵌套结构的数据基础。创建状态页打开Status Pages → All Status Pages点击Create Status Page。在Create New Status Page弹窗中填写Name必填至少两个字符和可选的Description。点击Create Status Page。创建表单仅此而已。返回的列表展示Name、Description、Labels和Owners并可按Status Page ID、Name、Description进行过滤。打开新页面后会落在Overview界面包含两张卡片Status Page Preview URL指向页面本身的链接和Status Page Details可编辑刚设置的名称、描述和标签。从源码看创建时写入的字段对应StatusPage模型中的name必填、全局UniqueColumnBy(projectId)与description而slug字段由SlugifyColumn(name, slug)装饰器从名称自动生成用于对外 URL 标识。接下来按实用性大致排序添加资源让页面有内容——参见状态页资源与分组。设置页面标题、favicon、Logo 和封面再挂接自定义域名——参见状态页品牌化与域名。决定用户可以在哪些渠道订阅——参见订阅者与公告。在Advanced Settings下调整页面上显示的内容。一切都在哪里九段菜单地图打开状态页后其左侧菜单被划分为九个分区。可将此作为本组文档其余部分的导航地图。分区内容BasicOverview、Announcements、Owners。Resources单独的Resources界面——左侧是组右侧是选中组下的监控器。SubscribersEmail Subscribers、SMS Subscribers、Slack Subscribers、MS Teams Subscribers、Webhook Subscribers、Subscriber Settings。Notification LogsNotification Logs——已发送给订阅者的内容。AuditAudit Logs。BrandingEssential Branding、HTML, CSS JavaScript、Custom Domains、Header、Footer、Overview Page、Languages。SecurityPrivate Users、SSO、OIDC、SCIM、Authentication Settings。AIMCP。AdvancedMonitor Rules、Embedded Status、Reports、Custom Fields、Advanced Settings、Delete Status Page。有两个值得提前知道的命名怪癖Resources菜单项只有在项目启用了监控器组时才会标注为Resources否则显示为Monitors。两种情况都是同一个界面。没有独立的 Groups 页面。分组与资源已经合并旧的/groups路由现在重定向到资源界面。在单个页面之外Status Pages分区本身还有一个More子区含Announcements以及一个折叠的Settings子区包含Announcement Templates、Subscriber Templates、Custom Fields、Owner Rules和Label Rules——这些是项目级配置在所有状态页之间共享。访问者看到什么公共页路由公共页面是一个独立的 Web 应用包含一小组路由/——Overview概览。/incidents与/incidents/:id—— 事故列表与单条事故。/announcements与/announcements/:id—— 公告列表与单条公告。/scheduled-events与/scheduled-events/:id—— 计划事件列表与单条事件。/subscribe/email、/subscribe/sms、/subscribe/slack、/subscribe/microsoft-teams、/subscribe/webhooks—— 各渠道订阅页。/rss—— RSS 订阅源。/login、/sso、/master-password—— 仅在私有页面上有意义。顶部导航栏始终显示Overview其余项目只在启用时才出现。Incidents、Announcements、Scheduled Events各自需要对应的开关打开Subscribe则需要Show Subscriber Page开关打开并且至少启用一个订阅渠道。私有页面还会多一个Logout项。服务端实现位于 Serve.ts/rss与/status-page/:statusPageId/rss都注册了 RSS 处理器同时还有/llms.txt面向 AI Agent 的机器可读入口及其预览态孪生路径并在渲染时根据statusPageData注入页面标题、描述、favicon、语言与 RSS 路径等变量。概览页的渲染顺序概览是大多数访问者唯一会看到的页面。从上到下依次渲染任何存活的公告—— 开始时间已过且结束时间未到的公告。整体状态横幅—— 一行文字概括所有资源受影响还是仅部分资源受影响。整体可用性百分比—— 若你已开启默认关闭。资源组—— 每组包含其资源、当前状态和可用性历史条。Active Incidents进行中的事故。Scheduled Maintenance Events计划维护事件。全新且没有内容的页面会显示一个空状态提示从仪表盘添加资源——这是引导你前往Resources界面的信号。关于什么会让事故出现在此页面、什么会将其移除参见事故状态与严重级别。选择页面上显示什么Advanced Settings 全解大部分显示开关集中在同一个位置Status Pages → 你的页面 → Advanced → Advanced Settings。每张卡片都有自己的Edit Settings按钮。以下字段与仓库中StatusPage模型的列一一对应均可通过TableColumn装饰器在 StatusPage.ts 中验证。Incident Settings事故设置Show IncidentsshowIncidentsOnStatusPage—— 默认开启。关闭后也会移除Incidents导航项。Show Incident History (in days)showIncidentHistoryInDays—— 事故列表回溯多远默认 14 天。Show Incident LabelsshowIncidentLabelsOnStatusPage—— 默认关闭。Episode Settings事故时段设置—— 与事故对应的三个同款开关Show EpisodesshowEpisodesOnStatusPage默认开启、Show Episode History (in days)默认 14 天、Show Episode Labels默认关闭。时段Episodes拥有自己的模型和端点并非事故的视图。Announcement Settings公告设置Show AnnouncementsshowAnnouncementsOnStatusPage—— 默认开启。Show Announcement History (in days)showAnnouncementHistoryInDays—— 默认 14 天。Scheduled Event Settings计划事件设置Show Scheduled Maintenance EventsshowScheduledMaintenanceEventsOnStatusPage—— 默认开启。Show Scheduled Event History (in days)showScheduledEventHistoryInDays—— 默认 14 天。Show Event LabelsshowScheduledEventLabelsOnStatusPage—— 默认关闭。Uptime History Settings可用性历史设置Show Uptime History (in days)showUptimeHistoryInDays—— 每个资源旁可用性条的长度默认 90 天取值必须在 1 到 90 之间。资源或组上的每个Show Uptime %与Show Status History Chart选项都读取这个数字。Subscriber Settings订阅者设置Show Subscriber PageshowSubscriberPageOnStatusPage—— 默认开启外加五个按渠道启用的开关。同样的渠道开关也会出现在Subscribers分区下的专用Subscriber Settings界面请把后者当作设置它们的规范位置。Powered By OneUptime Branding品牌署名Hide Powered By OneUptime Branding—— 默认关闭因此访问者页脚在开启之前会显示 Powered by OneUptime。颜色在哪里。可用性条的颜色不在这里——Default Bar Color、条形颜色规则、Downtime Monitor Statuses和Show Overall Uptime Percent都在Status Pages → 你的页面 → Branding → Overview Page下。任何位置都没有主题或品牌颜色设置超出这些控制之外的需求都通过Custom CSS实现。值得一提的是StatusPage模型中这些显示开关大多带有ColumnBillingAccessControl({ read: PlanType.Free, update: PlanType.Growth, create: PlanType.Free })之类标记说明按计划分层限制编辑权限但读取不受限。上线前的预览每个状态页的Overview界面都带有一张Status Page Preview URL卡片提供直达页面的链接。在仍添加资源、且尚无自定义域名时应使用它。幕后每条公共路由都有一个位于/status-page/{statusPageId}/...之下的预览孪生路径——预览概览、预览事故列表、预览订阅页等等。这意味着从仪表盘预览截取或复制的 URL在挂接自定义域名后不会与客户看到的一致因此请复核任何粘贴到 Runbook 或邮件中的链接。该机制在 Serve.ts 中有直接体现req.path.includes(/status-page/)时即被判定为预览页RSS 路径也会相应切换为/status-page/{statusPageId}/rss。限制谁能看私有化方案全解析并非每个状态页都对公众开放所有控制都位于Security分区下。私有用户Private Users在Status Pages → 你的页面 → Security → Authentication Settings中关闭Is Visible to Public对应isPublicStatusPage列。此后访问者会落在/login并需要登录。在Status Pages → 你的页面 → Security → Private Users中添加允许登录的人员。这里有Add in Bulk批量操作——粘贴一份邮箱地址列表每人都会收到邀请邮件。私有用户拥有自己独立的忘记/重置密码流程与你的 OneUptime 项目账户分离。主密码Master PasswordAuthentication Settings还有一张Master Password卡片带Require Master Password开关和密码本身。开启后访问者会命中/master-password凭一个共享密钥解锁页面。主密码与私有用户不叠加。只要主密码开启私有用户认证即被禁用Private Users界面会显示横幅说明这一点。SSO 与 OIDC对于绑定到你身份提供商的私有页面Status Pages → 你的页面 → Security → SSO配置 SAML登录 URL、签发者、x509 证书、签名与摘要方法Status Pages → 你的页面 → Security → OIDC配置 OpenID Connect发现 URL、签发者、客户端 ID 与密钥、作用域、声明名称。SCIM自动从 IdP 供给私有用户。这些功能受套餐能力门控因此并非每个安装都可用。SSO Settings卡片还暴露Force SSO for Login选项requireSsoForLogin默认关闭。开启前务必测试你的 SSO 配置——如果配置不生效你会把自己锁在状态页之外。IP 白名单IP WhitelistAuthentication Settings同样携带IP Whitelist卡片由ipWhitelist列支撑用于只应答已知网络的状态页。从 StatusPage.ts 可见该列标记为update: PlanType.Scale即编辑受更高套餐层级限制。嵌入式徽章与 RSS 订阅两种方式让状态出现在状态页之外。嵌入式状态徽章。在Status Pages → 你的页面 → Advanced → Embedded Status的Embedded Status Badge卡片中开启Enable Embedded Status BadgeenableEmbeddedOverallStatus默认关闭。它与embeddedOverallStatusToken配对并从/badge/:statusPageId提供徽章服务因此你可以把当前整体状态放入你的文档、应用页脚或营销页面。RSS 订阅源。每个状态页都提供/rss——标题为 {状态页名称} Updates 的订阅源其条目分别以Incident:、Announcement:和Scheduled Maintenance:作为前缀。这对更愿意把更新管道化到阅读器或聊天机器人、而非通过邮件订阅的人非常实用。仓库中的 RSS 实现RSS.ts正是这样拼接条目标题的title: Incident: ${incident[title]}, title: Announcement: ${announcement[title]}, title: Scheduled Maintenance: ${event[title]},如果你更愿意自己拉取数据状态页还提供面向概览、事故、计划维护事件、公告和时段的公开只读端点——参见公开 API。延伸阅读状态页资源与分组 —— 把监控器放到页面上并组织成分区。状态页品牌化与域名 —— Logo、favicon、页脚、自定义代码以及把自有域名指向页面。订阅者与公告 —— 五个订阅渠道、双重确认订阅与发布公告。公开 API —— 以编程方式读取状态页数据。事故概览 —— 会显示在页面上的事件。事故状态与严重级别 —— 什么让事故出现在状态页上、什么将其移除。赞分享可观测性后端运维前端云原生微服务AI Agent【免费下载链接】oneuptimeComplete open-source monitoring and observability platform.项目地址https://gitcode.com/GitHub_Trending/on/oneuptime点击查看免费下载相关推荐OneUptime 状态页Status Page完全指南从创建、资源编排到访客路由与访问控制OneUptime 状态页Status Page完全指南从创建、资源编排到访客路由与访问控制 状态页是你对外展示一切是否正常的门面客户无需发邮件询问可观测性后端运维前端云原生微服务AI AgentOneUptime 状态页Status Page完整指南从创建、配置到私有化与订阅发布OneUptime 状态页Status Page完整指南从创建、配置到私有化与订阅发布 状态页Status Page是 OneUptime 监控体系的可观测性后端运维前端云原生微服务AI AgentOneUptime 状态页Status Page完全指南从创建、配置到私有化发布OneUptime 状态页Status Page完全指南从创建、配置到私有化发布 状态页Status Page是 OneUptime 监控平台面向外部可观测性后端运维前端云原生微服务AI Agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考