Disk Space and inode Management: A Complete Troubleshooting Guide from df to lsof

Overview 3 AM, you get paged — the production database can’t write, Nginx won’t start, SSH is sluggish. You log in and df -h shows the root partition at 100%. Every ops engineer has been there. Disk full is one of the most frequent production incidents — based on real-world operations statistics, disk-related alerts account for roughly 15%-20% of all alerts. But the 100% you see in df -h may not be the full picture:...

July 23, 2026 · 19 mins · 3914 words · Xu Baojin

System Resilience Engineering: From Reactive Firefighting to Proactive Defense

Overview 2 AM. Your phone buzzes. The payment service is timing out, thread pools are exhausted, upstream order services are queuing up, and ten minutes later the entire transaction pipeline collapses. You check the logs: a downstream cache cluster hiccuped for 3 seconds. During those 3 seconds, upstream services retried frantically, maxing out connection limits, and everything sharing that connection pool went down together. This story isn’t new. Almost anyone who’s done operations for a few years has lived through a similar cascading failure....

July 23, 2026 · 20 mins · 4219 words · Xu Baojin

K8s Security Scanning and CIS Benchmark Compliance: A Complete Hardening Guide from kube-bench to Production

Overview You manage a K8s cluster where the API Server has --anonymous-auth=true, etcd certificates are world-readable at 644, and the kubelet --read-only-port=10255 is still open. Each of these looks like a “minor issue” on its own, but an attacker who gets one foothold can pivot through the entire cluster. This isn’t hypothetical — the CNCF 2025 annual survey showed that over 90% of production K8s clusters have at least one CIS Benchmark-level configuration deficiency....

July 22, 2026 · 20 mins · 4201 words · Xu Baojin

Postmortem Action Items Tracking: Engineering a Closed-Loop Process from Checklist to Completion

Overview Anyone who has done production operations has probably lived through this scenario: you get woken up by an alert at 3 AM, fight the fire until service is restored, hold a postmortem the next day, list a dozen improvement actions in the meeting, send the minutes to the group chat, and everyone says “got it.” Then what? A month later you dig it up and find maybe two or three items actually got done....

July 21, 2026 · 24 mins · 5022 words · Xu Baojin

Container Image Signing and Verification: Using cosign to Guard the Last Gate of Supply Chain Security

Overview Let me start with a story that still haunts me. Last year, our internal image registry had a permissions misconfiguration that was loose for several days. Post-incident review found no evidence of tampering, but those few days had me on edge — what if someone had pushed an image with the same tag, replacing app:latest with their own version? Our deployment pipeline would have pulled and run it just the same....

July 20, 2026 · 15 mins · 3045 words · Xu Baojin

Frontend Performance Monitoring in Practice: A Full-Stack Guide from Core Web Vitals to RUM

Overview No matter how fancy your backend monitoring is, if the user opens the page and sees a blank screen for 5 seconds, your all-green SLOs mean nothing. This isn’t me being contrarian. Many teams have dashboards full of CPU, memory, QPS, and P99 latency metrics, looking perfectly healthy. But real users are already flooding customer support with complaints — “page loads slow,” “can’t click anything,” “images keep jumping around.” Where’s the problem?...

July 20, 2026 · 17 mins · 3584 words · Xu Baojin

Linux Time Synchronization and NTP: chrony Configuration, Troubleshooting, and Production Practices

Overview One production incident made me take time synchronization seriously. In the middle of the night, the business team reported mass HTTPS request failures with SSL_ERROR_BAD_CERTIFICATE. We spent two hours troubleshooting—combed through network topology, firewall rules, certificate configs—nothing. Finally, someone happened to glance at the system clock: it was 12 seconds ahead of real time. Those 12 seconds made the server think client certificates hadn’t reached their notBefore time yet, so it rejected every handshake....

July 19, 2026 · 17 mins · 3555 words · Xu Baojin

Message Queue Monitoring in Practice: Kafka Lag, RabbitMQ Backlog, and Consumer Latency Alerting

Overview 3 AM, your phone is buzzing with alerts. The Kafka Consumer Lag for some consumer group jumped from 200 to 500,000. Downstream real-time dashboards are frozen. The data team is pinging you non-stop. You scramble onto the jump host, run kafka-consumer-groups.sh --describe, and see a column of alarming Lag numbers. Over the next half hour, you need to answer three questions: which partition is backed up? Is the consumer dead or just slow?...

July 19, 2026 · 16 mins · 3363 words · Xu Baojin

K8s Log Collection Strategy: Choosing Between DaemonSet, Sidecar, and Agentless Patterns

Overview Production blows up, you open Kibana to search logs, and discover the critical Pod was OOM-killed 3 minutes ago—the old logs vanished with the container. This is extremely common in K8s environments: Pods are ephemeral, and logs can’t disappear with them. K8s log collection is fundamentally different from traditional VM environments. In a traditional setup, logs sit quietly in /var/log/ and you just SSH in to read them. In K8s, Pods can be scheduled to any node at any time, destroyed and recreated at will, with logs scattered across the entire cluster....

July 18, 2026 · 19 mins · 4001 words · Xu Baojin

DNS Resolution and Troubleshooting: A Practical Guide from resolv.conf to systemd-resolved

Overview It’s 2 AM and alerts are firing. Your service can’t connect to the database, curl times out, but ping to the IP works fine. Is it a network issue or an application issue? Nine times out of ten, it’s DNS resolution gone wrong. DNS resolution is the most fundamental yet most overlooked piece of Linux infrastructure. Nobody thinks about it until it breaks—and when it does, the entire system acts like it suddenly has amnesia: every domain becomes unrecognizable....

July 18, 2026 · 17 mins · 3531 words · Xu Baojin