Forked from yb/uptime-status
通过 UptimeRobot API 获取服务在线状态,通过后端 cURL 获取服务器证书状态的状态面板。
前端使用 Javascript + React 编写,后端使用 Python3 + Flask 编写。
不建议将监控页面和监控对象部署到同一台服务器上,防止服务器异常时监控页面也发生异常。
可以采用的部署方案是:前端使用储存桶(如阿里云 OSS)、后端使用函数计算(如阿里云 FC)
Releases
页面中下载已构建的前端代码并解压。config.js
配置文件,具体如下:
title
: 网站标题navbar
: 导航栏链接icpLicense
: ICP 备案号(留空不显示)uptimeTitle
: 服务状态页面标题uptimeAPI
: UptimeRobot API 地址,默认使用我的公开节点。apiKeys
: UptimeRobot API Key (Monitor-Specific API Keys 或 Read-Only API Key)uptimeDisplayCount
: 显示的日志天数uptimeDisplayLink
: 服务状态页面是否提供跳转链接certTitle
: 证书状态页面标题certAPI
: 后端服务器地址,默认使用我的公开节点。monitorDomains
: 需要监控证书的站点certDisplayCount
: 证书时长余量粒度certDisplayLink
: 证书状态页面是否提供跳转链接Releases
页面中下载后端代码并解压。pip install -r requirement.txt
configs.py
配置文件,具体如下:
ENABLE_CACHE
: 是否启用内置缓存(如果使用云函数部署请禁用),默认启用UPTIME_CACHE_TIMEOUT
: 服务状态缓存时间/秒,默认 5 分钟CERT_CACHE_TIMEOUT
: 证书状态缓存时间/秒,默认 1 天UPTIMEROBOT_API
: UptimeRobot API 地址,默认官方源CURL_BIN
: cURL 程序地址,默认使用系统路径 /usr/bin/curlpython app.py
接口 | 调用方法 | 调用参数 | 内容 |
---|---|---|---|
/ | GET, POST | 无 | Hello World! |
/uptime | GET, POST | 与 UptimeRobot 官方一致 | 服务监控信息 |
/cert | GET, POST | domain: 代查域名 | 域名证书信息 |
若不想自建后端,可使用我公开的后端服务,地址为:https://www.chriskim.top/api/
该后端使用阿里云 FC + CDN 部署,但不对可用性做出保证,建议有能力的话自己部署。
由于使用 React 编写并使用了路由功能,为防止 404 需要进行额外配置。
location / {
try_files $uri /index.html;
}