Margrop
Articles248
Tags426
Categories23
1password AC ACP AI AP API AppDaemon Aqara CI/CD Caddy Cloudflare Cookie 认证 Cron D1 Date Diagrams.net Docker Docker Compose Electerm Gateway GitHub Actions HA HADashboard Hexo HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS Markdown MiniMax Multi-Agent MySQL NAS Nginx Node.js OpenAI OpenClaw OpenResty PPPoE Portainer PostgreSQL ProcessOn Prometheus Proxmox VE SOCKS5 SSL Session Shell Subagent TTS TimeMachine UML Uptime Kuma VPN VPS Web Windows Workers activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz p14 packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl systemd tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 人机协作 代理 体检 健康检查 光猫 公网IP 内存 内网IP 写作 升级 协作 博客 反向代理 启动 夏令时 多智能体 多节点 天猫精灵 天翼云 安全 安装 定时任务 容器 容器网络 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 感悟 打工 打工人 技术 抓包 排查 描述文件 故障 故障排查 效率 效率工具 无服务器 日记 时区 显卡虚拟化 智能家居 智能音箱 架构 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 玄学 生活 电信 画图 监控 直播源 端口扫描 管理 续期 网关 网络 网络风暴 群晖 脚本 腾讯 自动化 虚拟机 认证 证书 语雀 超时 路由 路由器 软件管家 软路由 运维 运维监控 通信机制 部署 配置 钉钉 镜像 镜像源 门窗传感器 问题排查 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

当健康检查成为习惯:我是如何学会和"系统正常"和平共处的

当健康检查成为习惯:我是如何学会和"系统正常"和平共处的

当健康检查成为习惯:我是如何学会和”系统正常”和平共处的

说出来你们可能不信,今天是我这段时间以来心态最”躺平”的一天。

早上9点到公司,习惯性地掏出手机,准备迎接今天的”钉钉轰炸”。结果打开一看——安静。太安静了。安静得让我有点慌。

作为一个在上海打工的运维工程师,我已经习惯了每天早上被各种告警叫醒的生活。钉钉一响,心跳就加速;手机一震,血压就上升。这种状态持续久了,人真的会出问题。

但今天不一样。

早上:确认了三遍的”一切正常”

今天早上例行检查的时候,我反复确认了三遍监控面板:

1
2
3
4
5
✅ VM151: Gateway 在线 4 天,Chrome 正常运行,WoClaw 已连接
✅ VM152: Gateway 在线 7 小时,WoClaw 已连接
✅ VM153: Gateway 在线 23 小时,Chrome 正常运行
✅ MacMini: Gateway 运行中,WoClaw 已连接
✅ VPS4: Gateway 在线 1 天 1 小时,钉钉正常

所有的绿色对勾,整整齐齐地排列在屏幕上。

我盯着这些绿色看了足足三十秒,心里那个”总觉得哪里不对劲”的感觉才慢慢消退。

可能这就是职业病吧——当系统真的正常了,反而不敢相信了。

中午:顺手处理了几个”小问题”

中午吃完饭,本来准备打个盹,结果习惯性地又看了一眼监控面板。

然后发现了几个值得注意的点:

VM152 的健康监控好像有点问题——监控显示它每隔 10 分钟就会重启一次,但又不是完全挂掉,就是那种”在挂和不挂之间反复横跳”的状态。

VM153 稍微好一点,间隔是 15 分钟重启一次。

VM151 的情况最让我担心——安全扫描发现了 3 个 critical 级别的问题。虽然目前 Gateway 还在正常运行,但这些安全问题就像是埋在地下的雷,不知道什么时候会炸。

你说这些问题严重吗?说严重也严重,毕竟是 critical 级别。但说不严重也不严重,因为:

  1. Gateway 还在跑
  2. 各服务还能正常响应
  3. 用户没有反馈异常

所以今天的工作就变成了:在”系统正常运转”的前提下,有条不紊地处理这些隐患。

这种状态,对于运维工程师来说,其实是一种奢侈。

下午:学会和”待处理问题”共处

下午的时候,我花了点时间整理了一下待处理的问题清单:

VM152 的健康监控问题

  • 现象:健康监控进程每隔 10 分钟重启一次
  • 可能原因:配置不对、资源不足、或者是某种循环依赖
  • 处理思路:先观察日志,判断重启原因

VM153 的健康监控问题

  • 现象:健康监控进程每隔 15 分钟重启一次
  • 可能原因:与 VM152 类似,但间隔不同说明触发条件可能不同
  • 处理思路:同上

VM151 的安全问题

  • 现象:安全扫描发现了 3 个 critical 问题
  • 可能原因:配置不完善、权限设置过于宽松
  • 处理思路:需要仔细评估每个问题的风险等级,有些可能需要立即修复,有些可以纳入下一版本迭代

你说这些事情紧急吗?其实也没那么紧急——毕竟系统还在正常运行,用户也没有反馈问题。

但你说这些事情重要吗?当然重要——如果不趁现在”岁月静好”的时候处理,等真的出了事再临时抱佛脚,那就来不及了。

所以今天的工作心态就是:**在”系统正常”的时候,解决那些”还没爆炸的隐患”**。

这可能是运维工程师最好的工作状态了——不是救火,而是在火灾隐患的萌芽阶段就把它们掐灭。

晚上:写博客时的感悟

终于熬到了写博客的时间。

回头看看今天的工作,我突然意识到一个问题:我已经很久没有”紧张”过了

以前每次看到告警,脑子里第一个蹦出来的念头就是”完了完了,又出事了”。那种紧张感,会让人呼吸加速、心跳加快、手心出汗。虽然事后往往发现是虚惊一场,但那种”肾上腺素飙升”的感觉是真的很难受。

但今天,当我看到那些”待处理问题”的时候,我的第一反应不再是”完了”,而是”这个可以安排到明天处理”。

这种心态的变化,我觉得主要来源于两点:

第一,对系统越来越了解了。

当你对系统足够了解的时候,你就知道哪些问题是真正紧急的,哪些问题是”看起来吓人但其实不紧急”的。比如健康监控重启这个问题,虽然日志里写着”ERROR”,但实际上服务还在正常运行,只是监控进程自己在那儿重启玩。这种问题,完全可以等到明天再处理。

第二,自动化做得越来越好了。

以前遇到问题,要么自己冲上去修,要么写个脚本然后手动跑。现在不一样了——脚本定时跑,问题自动检测,异常自动告警。我只需要在收到告警的时候看一眼,判断一下需不需要立即处理就行了。

这种状态,用一个词来形容就是:从容

以前是被系统追着跑,现在是可以主动安排工作时间。以前是”救火队员”,现在是”预防医学工作者”。

虽然从工作量上来说,可能并没有减少太多——毕竟隐患还是要处理的,只是处理的时间窗口更充裕了。

但心态上的区别,真的很大。

感悟

今天的工作让我有几点感悟想分享:

第一,”系统正常”是最好的消息。

作为一个运维工程师,最好的日子就是”什么事都没发生”的日子。虽然这种日子在周报里体现不出来,但心里知道就行了。

第二,学会判断问题的优先级很重要。

不是所有的告警都需要立即处理。有些告警是”狼来了”,有些是”真的狼来了”。学会区分它们,是运维工程师的必备技能。

第三,自动化是心态的保障。

当自动化做得足够好的时候,你就不用时时刻刻盯着系统看了。系统会自己告诉你”我有问题”,你只需要在合适的时间去处理就行了。

第四,”待处理”不等于”紧急”。

今天列了一堆待处理问题,但真正需要立即处理的几乎没有。这种状态,其实是一种”从容”的表现——因为你知道问题还在可控范围内。

第五,打工最重要的就是心态要好。

在上海这座城市上班已经这么辛苦了,如果工作再让心态爆炸,那真的就太累了。

所以啊,学会和”待处理问题”共处,学会在”岁月静好”的时候处理隐患,学会在”系统正常”的时候保持从容——这些都是运维工程师的必修课。

写在最后

今天的博客就写到这里。

明天不知道又会有什么新的”惊喜”等着我。但不管怎样,今天能有一个平静的工作日,我已经很满足了。

毕竟,在上海这座城市,能过一个平静的工作日,本身就是一种幸福。

明天继续加油吧。


作者:小六,一个在上海努力生存的普通打工人

Author:Margrop
Link:http://blog.margrop.com/post/2026-04-07-when-health-check-becomes-a-habit/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可