業(yè)務(wù)不可訪問(wèn)?用這些命令,一步步搞定!
今天分享一下業(yè)務(wù)無(wú)法訪問(wèn)的排查方法。
對(duì)于運(yùn)維來(lái)說(shuō),業(yè)務(wù)故障是無(wú)法避免的,所以故障排查是一個(gè)運(yùn)維的必備技能,有完善的排查思路可以快速定位問(wèn)題,下面我整理了一些個(gè)人經(jīng)驗(yàn),主要從5個(gè)方向展開講解,希望能幫助到你。

1. 先確認(rèn)問(wèn)題范圍
排查前別急著開命令,先問(wèn)清楚:
- 影響范圍:是單個(gè)用戶?某個(gè)地區(qū)?還是全量業(yè)務(wù)?
- 業(yè)務(wù)范圍:全站都掛?還是某個(gè)模塊、某個(gè)接口?
- 時(shí)間規(guī)律:持續(xù)性還是間歇性?
- 技巧:越早圈定問(wèn)題范圍,定位就越快。
2. 分層排查思路
主要排查點(diǎn):網(wǎng)絡(luò)策略→ 系統(tǒng) → 應(yīng)用 → 數(shù)據(jù)庫(kù) → 外部依賴 → 安全設(shè)備
逐層排查,才能不遺漏。
(1) 網(wǎng)絡(luò)層:先看“通不通”
主要使用ping,traceroute,telnet,curl等命令。
# 測(cè)試服務(wù)器是否能通,ping域名或IP
ping -c 4 10.0.0.110
ping www.ligelinux.com
# 路由追蹤,看看卡在哪一跳
traceroute 10.0.0.110
# 測(cè)試端口連通性
telnet 10.0.0.110 8089
# HTTP接口連通性
curl -I http://www.ligelinux.com常見問(wèn)題:網(wǎng)絡(luò)策略變動(dòng),路由抖動(dòng)、運(yùn)營(yíng)商網(wǎng)絡(luò)波動(dòng)、防火墻規(guī)則更新。
(2) 系統(tǒng)層:資源夠不夠
# 查看CPU、內(nèi)存、負(fù)載情況,資源是否充足
top
uptime
free -h
# 查看磁盤使用情況
df -h
du -sh /data/*
# 系統(tǒng)日志
journalctl -xe
tail -n 200 /var/log/messages常見問(wèn)題:CPU打滿、內(nèi)存不足、磁盤滿導(dǎo)致服務(wù)無(wú)響應(yīng)。
(3) 應(yīng)用層:服務(wù)是否正常
服務(wù)不正常一般會(huì)出現(xiàn)503錯(cuò)誤

可以通過(guò)排查服務(wù)進(jìn)程,端口和日志等信息
# 查看服務(wù)狀態(tài),比如的nginx,排查時(shí)更換成你的服務(wù)就行
systemctl status nginx
ps -ef | grep 服務(wù)名字
# 檢查端口監(jiān)聽
ss -tulnp | grep 端口
# 查看應(yīng)用日志
tail -f /var/log/xxx.log
# 本地檢查應(yīng)用是否正常
curl -v http://localhost:your-port/health常見問(wèn)題:進(jìn)程掛掉、端口沒(méi)監(jiān)聽、依賴服務(wù)未啟動(dòng)。
(4) 數(shù)據(jù)層:庫(kù)和緩存撐不住
主要檢查數(shù)據(jù)庫(kù)是否正常。連不上一般會(huì)在日志里報(bào)錯(cuò)

主要排查數(shù)據(jù)庫(kù)是否正常:
# MySQL是否能連
mysql -uroot -p
# MySQL是否卡鎖
mysql -e "show full processlist;"
# Redis連通性
redis-cli -h redis-host ping
# Redis慢日志
redis-cli -h redis-host slowlog get 10常見問(wèn)題:數(shù)據(jù)庫(kù)連接數(shù)爆滿、慢查詢、Redis阻塞。
(5) 外部依賴
有些系統(tǒng)會(huì)調(diào)用外部接口,也有可能是外部應(yīng)用出問(wèn)題了。
# 測(cè)試外部API健康性
curl -I https://xxx.com/health
# DNS解析
nslookup xxx.com
dig xxx.com
# CDN是否正常
curl -v https://xxx.com | grep -i "cache"常見問(wèn)題:第三方接口超時(shí)、DNS劫持、CDN緩存異常。
(6) 安全設(shè)備層:別忽略“攔路虎”
很多時(shí)候,業(yè)務(wù)并不是掛了,而是被 安全設(shè)備攔截,一般是出現(xiàn)403字樣。

這種情況一般是觸發(fā)了安全設(shè)備攔截規(guī)則,這時(shí)就要找安全團(tuán)隊(duì)看看安全設(shè)備是否有攔截記錄。
- WAF(Web應(yīng)用防火墻):攔截了特定請(qǐng)求,比如帶有敏感參數(shù)或 SQL 關(guān)鍵字。
- 防火墻/安全組:有時(shí)候策略更新導(dǎo)致流量被攔截。
iptables -L -n -v
firewall-cmd --list-all- IDS/IPS(入侵檢測(cè)/防御系統(tǒng)):突然發(fā)現(xiàn)請(qǐng)求量大,被判定為攻擊流量。 建議與安全團(tuán)隊(duì)對(duì)接,確認(rèn)是否有誤攔。
常見問(wèn)題:安全策略過(guò)嚴(yán)、誤攔合法流量、規(guī)則變更未通知。可以通過(guò)加白解決。
3. 排查信息收集清單
排查時(shí)必須收集以下信息:
- 用戶報(bào)錯(cuò)截圖
- 相關(guān)服務(wù)日志
- 系統(tǒng)指標(biāo):CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)
- 應(yīng)用指標(biāo):進(jìn)程,端口,日志
- 外部依賴狀態(tài)
- 安全設(shè)備:WAF攔截,F(xiàn)W策略,IPS日志
信息齊全,排查效率提升 3 倍以上。
4. 復(fù)盤與預(yù)防
排查只是第一步,問(wèn)題解決后一般會(huì)做下面的事情:
- 原因復(fù)盤:是配置、流量、資源,還是安全設(shè)備?
- 監(jiān)控優(yōu)化:關(guān)鍵指標(biāo)全鏈路監(jiān)控,異常提前預(yù)警。
- 自動(dòng)化排查:腳本化常用檢測(cè)命令,一鍵定位問(wèn)題。
- 知識(shí)沉淀:把排查經(jīng)驗(yàn)寫成 SOP,讓團(tuán)隊(duì)少踩坑。
業(yè)務(wù)不可訪問(wèn)時(shí),真正考驗(yàn)的不是你會(huì)多少命令,而是有沒(méi)有 完整的排查思路。
只要照著 網(wǎng)絡(luò) → 系統(tǒng) → 應(yīng)用 → 數(shù)據(jù) → 外部依賴 → 安全設(shè)備 這一鏈路去走,信息收集全面,就能快速找到根因。

























