自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 本地有、远端少,为什么看板看不出来?Prometheus 远端写入积压、分片触顶与样本对账实战

那天是周三,凌晨两点四十,告警响的不是一个,是一整批。不是节点挂了、不是服务没响应——是业务群里有人发了一张截图:“昨天晚上 01:30 之后的监控图是平的,所有曲线都在那个时间点之前。我第一反应是 Prometheus 崩了。登上去看,进程在跑、本地查询也能查、里昨天的数据完好无损。再登远端的长期存储看,同样的查询——从 01:30 到 02:15 这 45 分钟,所有曲线都是一条直线。“本地有、远端少”这个症状很隐蔽,因为它在看板上看起来和“正常”一模一样Grafana 不报任何错;

2026-11-08 23:08:30 246

原创 有数据,但数据是新的吗?Prometheus 数据陈旧检测、lookback delta 陷阱与远端存储盲区实战

故事从一个很不起眼的地方开始。那天我在整理月度报告,顺手点开了“最近一次成功备份时间”这块看板。曲线平稳、数值正常、告警一个没响。我对着它看了几秒,觉得没什么问题,就准备关掉。它已经停在了 8 月 11 日。而我看这篇报告的时候是 11 月初。也就是说,这台机器的备份已经停了将近三个月,而看板上那块"最近一次成功备份时间"的曲线,三个月来一直是一条漂亮的、水平的、绿色的线。我第一反应是“看板坏了”。但看板没坏——它忠实地显示了数据库里存着的东西。

2026-11-08 22:48:21 259

原创 为什么告警规则看着正常,出事时却一条没响?Prometheus 告警的七种静默失效与规则单测落地实战

那天凌晨一点四十,叫醒我的不是告警,是客户。订单服务写不进去了,原因是数据盘满了。这不是什么疑难故障,df -h一眼就能看出来。我明明有一条"磁盘剩余空间低于 10%"的告警规则,它在 Prometheus 的规则列表里躺了三个月,状态一直是inactive。for: 10m语法没问题,返回SUCCESS。表达式拿手输进 Graph 页面跑,能出曲线。Alertmanager 也在正常工作,同一条路由下的其他告警我都收到过。这条表达式在最近 90 天里,一次都没有返回过任何时间序列。

2026-11-07 23:02:01 364

原创 Linux 定时任务 crontab 不执行排查实操笔记

cron 不加载 rc 文件,函数不存在 → command not found。把函数定义搬进脚本本身,或 source 一个专用环境文件。cron 服务的 enable 不等于 running,重启过机器或 stop 过记得start。crontab 里的要转义成\%,否则会被当换行符,命令被截断。和里要多写一个"用户名"字段,漏了会被静默忽略。下文件名不能带点号xxx.sh不会被执行。cron 环境和登录环境不一样,PATH 极简,外部命令全用绝对路径最稳。

2026-11-05 17:26:20 233

原创 Redis 未授权访问被入侵排查与加固实操笔记

为空 +bind默认 + 端口对外 = 高危三连,只要同时成立,被打只是时间问题。未授权访问的主要危害不是数据泄露,而是写文件——写计划任务、写 SSH 公钥。只flushall清库没有意义。清理顺序必须是「先断外网 → 再清持久化 → 再杀进程」,顺序反了会被远控脚本反复复活。CONFIG命令是攻击者的核心工具,改名是最有效的低成本防护,但改名前确认业务是否依赖。防火墙没开比密码没设更致命。改完配置一定用ss -lntp确认只剩127.0.0.1。改端口能降低被扫描频率,但不能替代bind。

2026-11-05 17:13:05 312

原创 MySQL「Too many connections」连接数爆满完整排查笔记

别一上来就调大 max_connections,先分清是 Sleep 堆积还是慢查询堆积,方向错了白忙。2G 小机器调大连接数是自杀,每连接几百 KB 内存,调大反而拖垮机器。默认 28800 秒太长,空闲连接会占着名额 8 小时,建议改短。连接满了 MySQL 进不去时,用带 CONNECTION_ADMIN 权限的账号仍能挤进一个预留连接。KILL 分两种KILL QUERY只杀查询、保留连接;连连接一起断。看比看当前连接数更有价值,能发现历史高峰Sleep 连接成百上千 = 泄漏信号。

2026-11-03 22:13:52 376

原创 服务器 CPU 莫名其妙跑满?挖矿木马入侵与应急排查全记录

先取证再重启:重启会清掉内存里的证据,重启前一定先和ss -antp记下来。清持久化优先于 kill 进程:只 kill 不清 cron/systemd,10 分钟就复活,白干。/tmp/dev/shm/var/tmp是重灾区:建议挂载时加noexec,从根上断掉从这里执行的木马。SSH 密码登录是最大入口:禁密码、只留密钥,能挡掉绝大部分爆破。web 目录权限要收紧:PHP 进程别用 root 跑,上传目录禁止执行。Redis/MySQL 千万别裸奔在公网。

2026-11-03 21:53:30 205

原创 安全锁明明是绿的,为什么 Chrome 说连接不安全?HTTPS 证书全链路、续期故障与 HSTS 兜底实战

那天是周二上午九点半,产品群里有人扔了张截图——Chrome 地址栏的“不安全”三个字是亮着的,锁是灰的。点进去看详细信息:证书还有 12 天到期。cert-manager 显示,Secret 里证书看着也在。我手动点了“重新颁发”,两分钟后它还是 12 天到期。Status:这行报错藏在一个看起来“正常工作”的 issuer 状态里——cert-manager不会因为 issuer 挂了就把 Certificate 标成 NotReady,它只是默默地停止续期,然后等证书自然到期。

2026-11-01 22:46:05 331

原创 备份脚本跑了380天,我从没成功恢复过一次:个人站点五件套备份与灾难恢复实战

然后按回车的瞬间我就意识到少打了一个——我本想删,实际删了整个/var/www/。我没有慌,因为我知道"我有备份"。三个月前我刚写过一个备份脚本,每天凌晨三点跑,打包网站、数据库、证书,传到对象存储,还配了对象锁。我 SSH 进另一台机器,拉回最新一份备份,解包,拷贝回数据目录,启动 MariaDB——然后 MariaDB 起不来。我每天备份的是目录下的数据文件,但我从来没有在另一台机器上用那些文件启动过数据库。

2026-11-01 22:41:33 264

原创 自建数据库高可用实战:MySQL 主从复制、读写分离与备份恢复完整流程

做后端这几年,我见过最贵的几种“省事”,都出在数据库上。单机裸奔。数据库就一台,没有备份、没有从库,跑得好好的,直到某天磁盘写满,或者一条忘了带WHERE。我处理过一个客户的案例,半夜误删了一张订单表,没有从库,最近一次备份是两周前——两周的订单数据全丢了,最后靠人工对账恢复了三天。备份等于没有。有备份,但从没验证过能恢复。真到要恢复的时候,发现mysqldump文件是半截的,或者备份的是从库但从库早就断了同步。读写全压主库。

2026-10-31 14:54:02 31

原创 自建服务器监控与告警体系实战:Prometheus + Grafana + Uptime Kuma 多节点部署与资源调优

没有监控的线上服务,等于闭着眼睛开车。我踩过最惨的一次,是三年前给一个客户搭的电商站——凌晨数据库连接数打满,服务挂了整整四个小时,直到早上客户打电话来才知道。事后复盘,问题其实两天前就有征兆:内存持续爬升、慢查询变多。但当时没有任何监控,全靠"感觉还行",等到爆的那一刻已经来不及了。更常见的是另一种情况:你在云上跑着七八台机器——建站的一台、跑数据库的一台、做爬虫的一台、测试环境若干——它们各自在哪里、还活着没有、磁盘剩多少、带宽用了多少,全靠随机想起来才 SSH 上去看一眼。

2026-10-30 21:20:28 29

原创 自建私有云盘与文件同步实战:Nextcloud 部署、大文件传输调优与存储扩容方案

做技术的人,手机和电脑里迟早会堆起一座数据山:手机相册上万张照片、设计稿和视频素材、几台设备之间需要同步的文档、团队共享的项目资料……限速:免费额度下下载速度几百 KB/s,几百 GB 的备份要传几天;容量要持续付费:2TB 年年续费,用不了那么多也退不掉;隐私顾虑:重要资料放在别人服务器上,总有点不踏实;数据主权:平台调整政策、关停服务,数据迁移成本极高。容量由你定、速度由线路定、数据完全自主、团队协作功能一样不少。

2026-10-30 20:54:09 366

原创 海外VPS性能诊断与优化完全手册:从线路验真到内核调优,附多厂商实测脚本与对比

企业级业务优先选线路稳定、有 SLA 保障的厂商,贵一点但是业务不丢客户更重要测试、开发、个人项目可以选高性价比的厂商,但是一定要先按上面的流程测完再付款不要买年付!不要买年付!不要买年付!尤其是陌生小厂商,年付跑路的概率超过30%,月付甚至按小时付是最稳妥的从来没有“最好的 VPS”,只有最适合你业务的:面向国内用户优先选 CN2 GIA 线路,面向海外用户优先选本地 BGP 线路,跑 AI 优先选 GPU 按小时计费机型有什么问题欢迎评论区交流,看到都会回复。

2026-10-28 11:15:52 257

原创 新机器到手24小时,先跑这12项验收基准:线路识别、磁盘底线、安全基线与高峰期复测实战

那天下午三点半,供应商发来邮件说“机器已交付”。我 SSH 登上去,习惯性先跑了一行,看到回程路径在广州出口跳上了202.97.*段——也就是 ChinaNet 163 骨干,而不是我预期的 AS4809/59.43。我没有立刻联系客服,因为我知道光一个 mtr 截图不构成证据。接下来我做的事情是:先把开箱验收这套流程完整跑一遍,每一步都留下输出文件,最后才把这一整套打包发过去。那天晚上八点半(晚高峰起始)我把同样一条链路再跑了一遍——回程路径白天是 59.43,晚高峰被切到了 202.97。

2026-10-27 15:59:45 269

原创 节点利用率只有 21%,为什么账单一点没少?Kubernetes 成本归集、requests 虚标与多机房分摊实战

这个月比上个月多了 38%,涨在哪了?我回答不了这个问题。账单上只有一行字——“4 台 16G 机器,包月”。没有任何服务维度、没有任何命名空间、没有任何业务线。它只告诉我“我买了什么”。于是我打开了集群。显示三个节点的 CPU 平均利用率21.3%,内存43.1%。也就是说,我为一个 24 核的集群付了全款,实际用掉不到四分之一。把的输出导成 CSV;手工按命名空间加总;把机器的月费按“核数占比”除下去;再按“内存占比”除一遍;两套结果对不上,回头想我到底该用哪一个。

2026-10-26 17:07:38 310

原创 浏览器登录成功,kubectl 却报 Unauthorized:Kubernetes OIDC 认证与结构化认证配置排查实战

那天下午两点多,我把上一篇文章里接好的身份服务复用了一下,给测试集群开了个 OIDC 客户端,想让团队里的人别再共用那份kubeconfig里的客户端证书。Keycloak 里新建一个 client,Client ID 填kubernetes,把 Client authentication 关掉,Require PKCE 打开、选 S256,回调地址锁到和。给这个 client 加上 groups 的 Group Membership mapper,把组写进 token。加了四个参数,重启。

2026-10-25 16:08:35 232

原创 为什么“单点登录“最后都变成“每站都登录“?自建 OIDC 统一身份中心实战(含账号接管漏洞处置)

那天晚上十一点多,我以为统一登录已经做完了。Gitea 能登了,登录页是我自己的域名,令牌也正常签发。我很满意,顺手打开旁边的 Grafana,想看看监控——它把我推回了登录页。我以为是 Grafana 的配置写错了。改了两遍 client id,又重配了一遍,还是让我登录。Grafana 其实认证成功了,它只是不认识"刚才那个人"。那一晚之前,我对"单点登录"这四个字的理解是:所有服务共享一套账号,登录一次就都通了。这个理解有个致命的默认前提——我以为"通了"是一个状态,配好就一直在。

2026-10-24 11:35:48 319

原创 为什么解析器“没坏“却已经不再校验了?自建验证型递归 DNS 与信任锚管理实战(含根区 KSK 轮换)

10 月 12 日是周一。早上九点半,我把 homelab 里一台停了两周的虚拟机启动了起来。停它的理由很朴素:8 月中旬那阵子内存紧张,我把不常用的机器都 pause 了,它排在第一个——一台只跑内网 DNS 的 Ubuntu,2 GB 内存,平时没人碰。启动过程一切正常。是绿的,回的也是绿的,端口在听,进程在跑。我先随手查了几个域名,正常。然后查了一个常用的,报错。dig返回的是SERVFAIL。「我拿到数据了,但我没办法相信它。加+cd再查一遍。

2026-10-23 11:32:27 264

原创 为什么上了 DNSSEC 反而解析失败?自建权威 DNS 签名、密钥轮换与信任链排查实战

10 月 12 日凌晨一点多,手机在床头响了两下。是一位老朋友发来的消息,很短:「网站打不开了,你那边能打开吗?我迷迷糊糊点开浏览器,能打开。回了一句「我这边正常」,正准备翻身继续睡,他又补了一条:「可我这边就是打不开,换手机也一样。这一句让我坐起来了。我这边能打开、他那边打不开,这种「一半人能用一半人不能用」的现象,通常不在源站,而在解析。# 1) 直接问权威,看真实数据在不在dig @<我的权威节点IP> www.<我的域名> A +dnssec +noall +answer +comments。

2026-10-22 23:47:31 372

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除