域名解析被误改、证书静默过期这类问题,玩家先于运维发现,口碑损失已经造成。域名健康巡检把主域与三个子域纳入每日自动检查:解析结果与登记值比对,证书剩余天数分档提醒,异常直接发邮件到值班邮箱。
巡检覆盖主域与三个子域,每条记录登记期望解析值与证书到期日,探测结果写回系统变量供告警判断。
local DOMAINS = {
{ host = "www.chuan2.cn", expect = "47.114.52.214" },
{ host = "api.chuan2.cn", expect = "47.114.52.214" },
{ host = "bbs.chuan2.cn", expect = "47.114.52.215" },
}
local function recordProbe(host, ok)
if ok then
setsysvarex("PROBE_OK_TS", os.time(), 1)
else
setplayvar("HUMAN", "PROBE_FAIL_" .. host, os.time(), 1)
end
end
拨测成功时间戳超过 30 分钟没有更新,说明巡检本身断了;证书剩余天数按 30 天与 7 天分档提醒,两套告警互不干扰。
setontimerex(196, 1800)
function ontimer196()
local last = tonumber(getsysvar("PROBE_OK_TS") or "0")
if os.time() - last > 1800 then
sendmail("#值班老张", 918, "域名拨测中断告警", "最近 30 分钟无成功探测记录,请检查拨测任务", "")
end
local certLeft = tonumber(getsysvar("CERT_DAYS") or "999")
if certLeft <= 30 then
sendmail("#运维老张", 919, "证书临期提醒", "证书剩余 " .. certLeft .. " 天", "")
end
end
解析变更演练:把登记值改成错误 IP 核对告警生效;拨测任务停跑 30 分钟核对中断告警;证书 29 天与 31 天两档分流验证。巡检覆盖的域名清单每月与实际业务域名核对一次,新上线的子域当月纳入巡检。拨测探测点部署在两个不同机房,单点拨测机故障不会让巡检瞎跑。巡检结果按周汇总成域名健康周报,解析变更、证书续期、告警次数三项趋势一目了然。监控每日巡检的成功记录数与告警次数,巡检中断要先于玩家投诉被发现。
登记的期望解析值没有随服务器迁移更新,迁移后巡检天天告警,告警信息却是对的,登记表与实际架构同步维护才有效。拨测任务部署在同一台机器上,机器自身故障时巡检与业务一起挂,中断告警反而成了唯一的发现渠道,这条告警必须走独立通道。证书临期告警按主域登记,子域证书先过期三天没人知道,证书清单逐域登记。告警邮件没有带期望值与实际值,值班要二次查询,告警正文直接附对比数据。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 装备回收商 NPC 每天按评分收购玩家的装备,裁决之杖、骨玉权杖按攻击、持久加权打分,榜上只要前五名。数…
实战应用:用在哪里 沙巴克攻城是全服行会战的最高舞台:攻方砸开城门、抢占皇宫,守方依托城墙与复活点反打。规则设计的关键是节奏…
实战应用:用在哪里 影分身玩法给法师职业补上生存短板:危急时刻召唤四个影分身分担仇恨,敌人需要在六格范围内分辨真身,猜错就浪…
实战应用:用在哪里 组队邀请、行会宣战这类关键信令丢了没有兜底,玩家只能反复手点,高峰期体验很差。重试机制给信令加确认回执:…
实战应用:用在哪里 新资料片上线首日预约量常是日常十倍,一口气全开会让数据库与登录网关同时过载。滚动开区把开区动作排成队列:…
实战应用:用在哪里 百人同屏的沙巴克外围战场,每个玩家每秒跑动会触发数次位置更新,全部即时下发时广播量随人数平方增长,网关先…