Моніторинг TCP на сервері: порівняння netstat з lsof?


12

Я контролюю стек TCP на сервері, сподіваючись загально зробити висновок про проблеми із додатком на коробці.

Перший мій нахил - вимірювати кількість розеток у всіх зареєстрованих станах (LISTEN, ESTABLISHED, FIN_WAIT2, TIME_WAIT тощо) та виявляти деякі аномалії.

Командний колектив припускає, що «lsof» стане кращим інструментом, щоб побачити, у якому стані знаходяться стеки TCP.

Будь-які вподобання чи поради із натовпу серверів за замовчуванням?


3
Будь ласка, додайте тег * nix, щоб відлякати нас
вигуків

Відповіді:


7

Я віддаю перевагу lsof, тому що його вихід відповідає всім платформам, на яких він працює. Однак ви можете майже отримати ту саму інформацію з обох програм. Я думаю, що це зводиться до особистих переваг.


2

Першим моїм наслідком буде використання, netstat -ptanяке дасть вам всю інформацію, яку ви шукаєте. Можливо, труба для сортування та uniq. Далі слід дати вам велику кількість розетки '.

netstat -ptan | awk '{print $6 " " $7 }' | sort | uniq -c


1

Ознайомтеся з dstat і запустіть:

% sudo dstat --tcp

Ще краще, якщо ви хочете проаналізувати вихід, ви можете його записати в CSV з --output.


Цікавий інструмент, на жаль, тільки Linux (хоча й зрозуміло). Приємно бачити щось подібне до SAR, що включає інформацію про мережу (хоча, здається, це показують і версії Linux sar).
ericslaw

1

Я думаю, що це справді більше особистих уподобань, оскільки при невеликій настройці (і правильних параметрах команд) ви можете отримати приблизно таку ж інформацію від будь-якого.

Однак, якщо ви хочете відстежувати кількість з'єднань у різних станах, я б не робив цього за допомогою інструменту командного рядка з одним ударом. Я б скористався чимось, що може зробити деяку тенденцію, щоб ви могли переглянути його з часом. Щось на зразок munin було б дуже корисно, оскільки воно буде графікувати його з часом (разом із показом інших потенційно корисних системних статистичних даних).

Виправлення неполадок із програмою завжди простіше, якщо ви маєте хорошу інформацію про сам ящик та його ефективність (як під час проблем, так і при відсутності проблем).


Інструмент командного рядка призначений лише для збору. Ваша точка збору даних для базової лінії - це справді підхід.
ericslaw
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.