Команда nstat в Linux с примерами: Полное руководство

Мониторинг сети — это одна из ключевых задач системного администратора в Linux, позволяющая выявлять проблемы с производительностью, устранять неполадки и обеспечивать стабильность системы. В мире Linux для этих целей традиционно использовали команду netstat, однако команда nstat стала современной альтернативой, предлагающей более детализированную информацию. В этой статье мы подробно разберем, как использовать команду nstat, как её установить и применять на практике для отслеживания сетевой активности.

 

Что такое команда nstat?

nstat — это утилита для сбора сетевой статистики в Linux, предоставляющая информацию о сетевых интерфейсах, протоколах и общем сетевом трафике. В отличие от netstat, которая использует файловую систему /proc, nstat взаимодействует напрямую с ядром Linux для получения данных, что делает её более производительной и точной в предоставлении сетевой статистики.

Установка nstat

Большинство современных дистрибутивов Linux уже включают nstat в стандартные пакеты. Чтобы проверить, установлена ли команда, введите в терминале:

nstat --version

Проверка установлена ли команда nstat
Проверка установлена ли команда nstat

Если команда установлена, вы увидите информацию о версии. Если нет — установите её, используя менеджер пакетов вашего дистрибутива. Например, для Ubuntu и Debian:

sudo apt install nstat

Базовое использование команды nstat

Запустив nstat без параметров, вы получите сводку сетевой статистики:

nstat

Запуск команды nstat в Linux без параметров
Запуск команды nstat в Linux без параметров

Команда отобразит ключевые метрики, такие как:

  • IpInReceives — количество полученных IP-пакетов;
  • TcpActiveOpens — число активных TCP-соединений.

Эти данные помогут оценить общее состояние сети и быстро выявить аномалии.

Важные параметры команды nstat

nstat предлагает множество параметров, которые позволяют настраивать вывод и мониторинг сетевой статистики.

-a, —ignore

Выводит абсолютные значения всех счетчиков с момента последнего сброса. Это полезно, если необходимо увидеть полную статистику за весь период работы системы.

nstat -a

-z, —zeroes

Показывает все счетчики, даже с нулевыми значениями.

nstat -z

-r, —reset

Сбрасывает все сетевые счетчики, начиная сбор новой статистики с нуля.

sudo nstat -r

-d, —scan

Переводит команду в режим постоянного мониторинга, обновляя сетевую статистику с заданным интервалом.

nstat -d

-t, —interval

Устанавливает интервал (в секундах) для обновления данных в режиме демона.

nstat -d -t 5

Примеры использования nstat

Для отображения статистики по определенному сетевому интерфейсу можно использовать фильтры. Например, чтобы увидеть статистику для интерфейса eth0:

nstat eth0

Комбинирование с другими утилитами также позволяет усилить возможности команды. Например, чтобы вывести только TCP пакеты, используйте команду с grep:

nstat | grep -i tcp

nstat вывести только TCP пакеты с помощью grep
nstat вывести только TCP пакеты с помощью grep

Автоматизация мониторинга с nstat

Для регулярного сбора сетевой статистики можно использовать скрипты и планировщик заданий cron. Вот пример скрипта, который фиксирует данные каждые 5 минут и записывает их в файл:

#!/bin/bash

while true; do
  timestamp=$(date +"%Y-%m-%d %H:%M:%S")
  nstat >> nstat_log.txt
  echo "Captured nstat output at $timestamp" >> nstat_log.txt
  sleep 300
done

Добавьте этот скрипт в cron, чтобы он запускался автоматически.

Сравнение nstat с другими инструментами

Хотя nstat и netstat служат схожим целям, nstat предлагает более детализированную статистику на уровне ядра, что делает её более производительной и подходящей для глубокой диагностики сетевых проблем.

Другой популярный инструмент — ss, который позволяет анализировать состояние сокетов. Однако, в отличие от ss, nstat предлагает более широкий спектр данных и больше подходит для общего мониторинга.

Устранение неполадок сети с помощью nstat

Некоторые ключевые метрики, такие как IpInDiscards (отброшенные IP пакеты) или TcpExtTCPAbortOnData (сбросы TCP соединений), могут помочь выявить проблемы в сети. Высокие значения могут указывать на неправильные настройки или проблемы с пропускной способностью сети.

Например, метрика TcpExtTCPSynRetrans (повторно отправленные пакеты SYN) может свидетельствовать о перегрузке сети, что приводит к необходимости повторных передач данных.

Заключение

nstat — это мощный инструмент, который помогает администраторам Linux эффективно мониторить сеть и устранять неполадки. Использование nstat с её широким набором параметров и фильтров даёт возможность получить полную картину сетевой активности и позволяет своевременно выявлять проблемы.

Интеграция nstat в регулярный процесс мониторинга значительно упростит управление сетевой инфраструктурой, улучшая общую производительность системы.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.