端点监测
无论是TCP还是HTTP,我们都能监测。网站只是起点。
什么是“端点”?
端点是指互联网上可以寻址并能够被请求以验证其可用性的所有对象。最典型的情况是网页的URL——但在现代基础设施中,你要管理的对象种类更加丰富多样:REST API、GraphQL端点、邮件服务器、数据库监听端口、消息队列、容器健康检查端口、内部管理面板、Webhook接收器。DiagnoSEO Uptime Monitoring(网站可用性监控)将其统一对待:你定义“健康”端点的标准,设置检测计划,并在故障时收到警报。
本页介绍了该工具支持的每一种端点类型、每种端点适用的场景,以及监控能带来的信号。
HTTP / HTTPS端点(网页)
最常用的情况。你输入 https://example.com,监控器会按照设定的间隔时间(1分钟、5分钟、10分钟、30分钟或60分钟,取决于套餐)进行GET请求。检查成功的标准为:建立TCP连接,TLS握手完成(针对HTTPS),收到带预期状态码的HTTP响应(默认:2xx或3xx),并可选检测响应体中是否包含或不包含特定关键字。检测会记录首字节响应时间、总响应时间、内容大小、跳转链路,以及完整响应头信息。
HTTP端点适用于:营销网站、博客、电商网站、SaaS仪表盘、文档门户——即所有用户用浏览器访问的场景。
API端点(REST / GraphQL / JSON-RPC)
API需要的不仅仅是“是否有响应”——更重要的是“是否正确响应”。你可以自定义HTTP方法(GET、POST、PUT、DELETE、PATCH)、自定义请求头(如身份令牌、内容类型)、请求body(POST/PUT的JSON负载),以及对响应的JSON断言(如 data.status 必须等于 "ok",result.count 必须大于0,errors[] 必须为空)。返回200但payload损坏的API是最糟糕的故障类型——对于简单监控器看似健康,但实际所有客户端都失败了。JSON断言可以精准捕获此类问题。
请参见专门的API监控指南,了解配置和断言语法的详细信息。
TCP端口端点
适用于非HTTP服务:SMTP(端口25 / 587 / 465)、POP3(110 / 995)、IMAP(143 / 993)、数据库监听端口(PostgreSQL 5432、MySQL 3306、Redis 6379、MongoDB 27017)、SSH(22)、FTP(21)、自定义应用端口。监控器会尝试连接你填写的 host:port,如果在超时时间内连接被接受,则报告为成功。不进行协议层握手——仅仅检测“守护进程是否在监听”。
这是适用于所有基于TCP服务的监控方式,当你只关心可用性且不需要协议层检测时。如需验证SMTP Banner或数据库查询级别检查,请选择心跳监控(你的服务在健康时主动ping我们,详情见定时任务 / 心跳监控)。
Ping端点(ICMP)
第3层(网络层)连通性检测。监控器向目标主机名或IP地址发送ICMP echo请求并等待响应。适用于路由器、交换机、IoT设备,以及所有可以响应Ping但未运行HTTP服务的设备。请注意,许多云服务提供商(如AWS、GCP、Azure)默认在安全组层面屏蔽ICMP,即使主机本身健康,因此云端工作负载更推荐使用HTTP检测或TCP端口检测。
主机名/DNS端点
DNS解析监控。工具会定期解析你的域名的A、AAAA、MX、NS、TXT和CNAME记录,记录结果快照,当其中任何记录发生变化时进行告警。可检测:DNS未授权劫持、DNS服务商迁移中的意外配置错误、外部服务更新其端点但未通知你(如CDN切换IP段)、因为拼写错误而丢失MX记录等。
DNS监控的目的不是可用性——你的DNS服务商几乎一定比源站本身更可靠。更多是用于变更检测。参见DNS变更监控的完整说明。
SSL证书端点
每个HTTPS端点会自动叠加SSL证书监控在可用性检查之上。工具会读取证书,解析有效期和颁发机构,并在证书到期前的30、14、7、3、1天进行预警。详细信息参见SSL证书有效期监控。
域名到期端点
对于每一个被监控的URL,工具每天会通过WHOIS查询一次,追踪域名注册的到期日期。到期预警门槛与SSL相同(30/14/7/3/1天)。忘记续费十分危险——域名会变为无主状态,任何人都可以在宽限期结束后注册。参见域名到期监控。
如何选择合适的端点类型
如果你不确定应选择哪种类型的监控,建议先对所有支持Web界面的目标使用HTTP/HTTPS,对其它类型用TCP端口,对没有任何网络接口的任务(如批处理任务)添加心跳检测。你可以针对同一目标启用多种类型的检测——例如,TCP 443端口的检查可发现“服务器在线但TLS握手异常”,而同一URL的HTTP检查同样会标记该问题。你的应用内部监控代理通过心跳模式上报,可以确认实际业务逻辑也在正常运行。
常见问题解答
-
一切可以在互联网上寻址的对象:HTTP/HTTPS URL,REST API,TCP端口(SMTP、MySQL、自定义),可Ping的主机名,DNS记录,SSL证书以及域名注册信息。每种端点类型建议单独配置一个监控。
-
HTTP是所有Web服务的默认推荐方式。TCP端口更适合非HTTP服务(数据库、邮件服务器、自定义协议),当你只需关心“守护进程是否接受连接”时。低层可用性选用TCP,高层判断应用是否响应正确则选用HTTP。
-
心跳模式是反向的——不是我们去请求你的服务,而是你的服务在指定URL主动ping我们。若在设定时间窗口内收不到ping,则发出警报。主要用于定时任务、批量处理、那些没有可检测网络接口的计划任务。
-
可以。你可以针对同一目标配置不同类型的检测——比如HTTP检测全面可用性,再加一个TCP 443端口检查捕获TLS握手问题。每个监控器独立运行,并分别告警。
-
不用——每个HTTPS端点都默认叠加SSL证书监控到可用性检测上,每个被监控URL同时包含每日的域名到期追踪。两者皆默认集成,无需额外配置。域名监控以域为单位——同一域名下的多个监控器会共享WHOIS信息。
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic