Сетевые проблемы — 40% всех обращений в ТехноПоддержку. Стандартизация инструментов диагностики сети дала наибольший эффект.
# ss — замена netstat, работает мгновенно на серверах с 100K+ соединений
# Все TCP-соединения к MySQL с состоянием и таймерами:
ss -tnp state established '( dport = :3306 )'
# ESTAB 0 0 10.0.1.5:42380 10.0.2.10:3306 users:(("php-fpm",pid=4521,fd=12))
# Подсчёт соединений по состояниям — быстрая диагностика утечки:
ss -s
# TCP: 24532 (estab 18204, closed 4120, orphaned 89, timewait 2119)
# → 4120 CLOSED + 89 orphaned = утечка соединений в приложении
# nmap — аудит открытых портов (запускаем с jump-сервера)
# Быстрый скан всех серверов клиента:
nmap -sS -T4 --top-ports 1000 -oG scan_results.txt 10.0.0.0/24
# Обнаружение несанкционированных сервисов:
nmap -sV -p- --open 10.0.1.15
# 8888/tcp open http Jupyter Notebook 6.4.0
# → Jupyter без пароля на проде! Инцидент безопасности.
# tcpdump — перехват пакетов для глубокого анализа
# Записываем трафик между app-сервером и Redis:
tcpdump -i eth0 -w /tmp/redis_traffic.pcap host 10.0.3.1 and port 6379 -c 10000
# Быстрый анализ: DNS-запросы с сервера (ищем DNS amplification)
tcpdump -i eth0 port 53 -nn -c 100
# mtr — комбинация traceroute + ping с live-статистикой
# Диагностика потери пакетов до клиентского сервера:
mtr --report --report-cycles 100 -n 185.120.45.10
# HOST Loss% Snt Last Avg Best Wrst StDev
# 1. 10.0.0.1 0.0% 100 0.5 0.4 0.3 1.2 0.1
# 2. 172.16.0.1 0.0% 100 1.2 1.1 0.9 3.4 0.3
# 3. 195.208.112.1 15.0% 100 8.4 12.3 6.1 45.2 8.7
# → 15% потерь на третьем хопе — проблема у провайдера
После внедрения стандартного набора сетевых утилит среднее время диагностики сетевых инцидентов сократилось с 35 минут до 12 минут.
Оставить комментарий