systemd StartLimitBurst 触发导致服务无法重启的排查与治理实践
## 适用场景 Linux 服务器上的 Java、Python、Go 或 Node.js 服务由 systemd 托管。发布后或依赖异常时,进程在几秒内连续退出;即使问题随后已修复,执行 `systemctl restart` 仍失败,状态显示为 `failed`,日志里出现 `Start request repea
Tag
包含这个标签的文章。
## 适用场景 Linux 服务器上的 Java、Python、Go 或 Node.js 服务由 systemd 托管。发布后或依赖异常时,进程在几秒内连续退出;即使问题随后已修复,执行 `systemctl restart` 仍失败,状态显示为 `failed`,日志里出现 `Start request repea
## 适用场景 本文适用于 Prometheus 运行一段时间后出现以下现象的场景: - Prometheus 数据目录持续膨胀,磁盘空间很快被打满; - `prometheus_tsdb_head_series`、`prometheus_tsdb_head_chunks` 持续上涨; - 查询变慢,Prometh
## 适用场景 本文适用于 Kubernetes 集群中出现以下问题的场景: - 新发布的 Pod 长时间处于 `Pending` 状态; - `kubectl describe pod` 中看到 `node(s) had disk pressure`; - 节点状态出现 `DiskPressure=True`;
## 适用场景 线上服务出现间歇性超时、请求延迟抖动、连接偶发重置,但应用日志没有明显报错,CPU 总使用率也不高。进一步观察会发现某几颗 CPU 的 `si` 软中断占用很高,网卡统计里存在 `rx_dropped`、`rx_missed_errors` 或 ring buffer 溢出。这类问题常见于高并发网关、
## 适用场景 本文适用于 Nginx 作为反向代理或网关时,用户访问接口偶发或持续返回 `504 Gateway Time-out`,错误日志中出现 `upstream timed out`、`while reading response header from upstream` 等信息的场景。 典型架构如下:
## 适用场景 这篇文章适用于线上服务出现“偶发连接超时、重试后成功、服务 CPU 不高但新连接建立慢”的问题,尤其是 Nginx、网关、Java/Python Web 服务、RPC 服务或四层代理在流量突增时出现以下现象: - 客户端报 `connection timed out`、`connect timeou
## 适用场景 本文适用于线上 MySQL 出现以下情况: - 接口偶发变慢,慢查询集中在 `ORDER BY`、`GROUP BY`、`DISTINCT`、复杂分页或报表 SQL 上。 - 数据库实例的磁盘使用率短时间上涨,过一段时间又自动回落。 - `tmpdir` 所在分区 IO 使用率升高,甚至出现 `No
## 适用场景 本文适用于 Linux 主机、NAT 网关、Docker 宿主机、Kubernetes Node 或开启防火墙规则的服务器。当业务出现偶发连接超时、DNS 查询失败、服务间调用间歇性失败,而 CPU、内存、磁盘都看起来正常时,可以把 conntrack 连接跟踪表作为重点排查对象。 典型环境包括:
## 适用场景 这类问题常见于 Ubuntu、Debian 或启用了 `systemd-resolved` 的 Linux 主机:宿主机可以正常解析域名,但 Docker 容器内访问外部域名失败,表现为应用请求超时、包管理器无法安装依赖、容器启动后健康检查一直失败。 典型环境包括: - 宿主机使用 Docker
## 适用场景 这篇文章适用于 Nginx 接入 Filebeat、Logstash、Elasticsearch 或其他日志平台后,出现下面几类问题的场景: - Nginx 访问日志本地已经写入,但日志平台几分钟后才看到。 - 部分时间段日志缺失,业务同学按 trace id 或客户端 IP 查不到请求。 - 日志