對於日常運維的一個簡單的經驗,做個記錄,希望幫助到一些人
一個簡單的運維小經驗。
場景:web伺服器出現異常流量,web集群內部交互出現大流量,需要定位具體的http請求,以便解決問題。 目的:找出產生大流量的具體http請求。 工具: iftop:linux網卡實時流量監控工具 tcpdump:linux抓包工具 wireshark:抓包分析工具 環境:linux redhat6.4 nginx+apache 網卡:eth1 nginx負責反向代理負載均衡以及靜態文件處理,apache負責php處理。 問題發生的原因是apache與nginx之間產生了異常的流量, 源為:192.168.1.14 隨機埠 目的:192.168.1.18:80 其中一臺apahce 1、在異常流量發生的同時使用如下命令在1.14上進行抓包: tcpdump -i eth0 -vnn dst host 192.168.1.18 and dst port 80 -w /home/temp/filedump 2、在抓包同時使用iftop命令監控1.14的網卡流量 iftop -i eth1 進入界面後點擊n p 監控實際ip與埠 3、實時觀察nginx(1.14)與apache(1.18)之間的交互,並記錄1.14的通信埠,多記錄幾個 如下:48166,49033,51766 4、結束抓包,並將抓到的包下載到本地並使用wireshark打開。 找到相應埠的TCP請求,並向上回溯,找到所從屬的http請求,即可找到異常流量的來源。 如下圖: 找到49033埠第一次出現的位置,上面就是產生異常流量的http請求。 5、根據定位http請求解決問題即可,後續並沒有什麼,具體情況具體分析。