Содержание

Мониторинг в ОС FreeBSD

Утилита top
Показывает общие сведения о процессоре, памяти и процессах. Параметры:

gstat — показывает использование дисков.
gstat -a — используется для вывода только активных устройств

vmstat — показывает состояние виртуальной памяти и буфера.
vmstat 5 — отображает статистику раз в пять секунд
vmstat -z — показывает состояние буфера
vmstat -i — показывает состояние прерываний

iostat — выводит статистику по I/O усройств
iostat -d -w5 — показывать информацию по дискам, с периодичностью в пять секунд безостановочно
iostat -dx -w5 — показывает расширенную статистику

systat — отображает различные параметры системы.
systat -vmstat 1 — отображает суммарную системную статистику
systat -netstat 1 — показывает активные сетевые соединения
systat -ifstat 1 — отображает нагрузку сетевых интерфейсов
systat -tcp 1 — отображает статистику tcp-соединения, возможен просмотр по icmp, ip, icmp6, ip6
systat -iostat 1 — отображает нагрузку на процессов, дисковую подсистему
systat -swap 1 — показывает загрузку файла подкачки

netstat — показывает активные сетевые соединения.
netstat -w 1 — количество пакетов в настоящее время
netstat -ibt — вывод сетевых интерфейсов с разбивкой по IP адресам, отображает объём трафика, количество ошибок, коллизий.
netstat -rn — отображает таблицу маршрутизации

diskinfo -t ad0 – показывает информацию по диску, и делает тест на дисковую производительность.

sysctl — позволяет посмотреть параметры в системы и внести изменения, такие как стек tcp/ip, вирутальной памяти.
sysctl -a — показывает все параметры
sysctl kern.ipc.numopensockets — показывает количество открытых сокетов
sysctl kern.openfiles — показывает количество открытых файлов

df — утилита, которая показывает свободное место на дисках.
df -h — отображает слайсы, и свободное\занятое место.
df -i — показывает количество занятых инодов.

fstat — показывает список открытых файлов.
fstat |grep http| wc -l — показывает список открытых файлов по процессу http

sockstat — отображает информацию о сокетах, сетевых и файловых.
sockstat -l — список портов открытых на прослушивание
sockstat -c список установленных соединений
sockstat -4, -6 — по протоколу ipv4 или ipv6

lsof — показывает информацию от открытых сокетах, файлах и сетевых соединениях.
lsof -i -n — показывает открытые Интернет-соединения
lsof -i -n |grep ESTABLISHED — показывает открытые, и установленные сетевые соединения

ps auxww|grep имя\pid\откого запущено — позволяет получить информацию по интересующему процессу.

mount — показывает смонтированные разделы.
swapinfo — показывает информацию о файле подкачки.

Также можно установить iftop, которая показывает статистику по сетевым интерфейсам, к при меру: iftop -i em0

tunefs -p /tmp – показывает информацию о файловой системе.

uname -a — показывает информацию о системе, ядре.
date — выводит текущую дату и время.
w — показывает кто, откуда, во сколько зашёл в систему.
last — показывает историю входов в систему, и последнюю перезагрузку.
uptime — показывает сколько система работает с момента последней перезагрузки.

HDD

atacontrol list - просмотр всех жестких дисков в системе (показывает в том числе и их модели)
mount – показывает смонтированные подразделы и флаги из монтирования
cat /etc/fstab – таблица монтирования при загрузке
disklabel /dev/ad0s1 – показывает список подразделов в первом разделе диска ad0
swapinfo – показывает список подразделов свопинга на дисках и их использование

gstat – нагрузка на диски
fstat – показывает список открытых файлов (имена файлов не выводятся)
pstat -f – выводит список открытых файлов (имена файлов не выводятся)
iostat – выводит информацию, аналогичную systat -vmstat, но не выводит занятости диска по времени и может выводить среднюю статистику с момента загрузки.
iostat -d -w1 -c7 – нагрузка на диски. Статистика в удобном виде
vmstat – выводит количество операций на диске в секунду
sysinstall – можно посмотреть и изменить разметку диска и монтирование

systat -vmstat n – каждые n секунд выводит количество транзакций с диском в секунду, объем записанных/считанных данных на диск в секунду, средний размер транзакции и процент времени в течение которого диск был занят работой.
systat -io start 1 - HDD + CPU
diskinfo -t ad4 – тест на дисковую производительность
tunefs -p /var/ – информация о настройках файловой системы (UFS)

df -H – количество свободного места
df -i – количество свободных инодов

Network

ifconfig – список сетевых интерфейсов с ip-адресами, масками, mac-адресами, типами карт и их статусами(названия карточек можно посмотреть в файле конфигурации ядра)
ifconfig -d - Просмотреть список отключенных интерфейсов
ifconfig -u - Список включенных сетевух
netstat – вывод активных сетевых соединений (сокетов)
netstat -i ошибки на интерфейсах
netstat -m - просмотр хватает ли mbuf и т.д.
netstat -inb – сколько передано через интерфейс в байтах
netstat -ibt – список интерфейсов, разбитых по ip-адресам (!) с объемом трафика на каждом, количеством ошибок, коллизий, значением watchdog-таймера
netstat -hdw 1 -i net1 - Просмотр количества пакетов в сек, ошибок и дропов на интерфейсе (online)
netstat -r – таблица маршрутизации

systat -ifstat n– интенсивность передачи трафика (online) по всем сетевым интерфейсам за n секунд
systat -netstat n – аналог netstat в реальном времениsysctl kern.ipc.numopensockets – количество открытых сокетов
systat -ip n – таблица IP-пакетов и ошибок по типам за n секунд
systat -tcp n – таблица TCP-пакетов и ошибок по типам за n секунд
systat -icmp n – таблица ICMP-пакетов и ошибок по типам за n секунд

arp -a – просмотр всей таблицы ARP
arp -ad – очистка всей таблицы ARP

tcpdump -i rl0 host 192.168.61.20 and port 80 – сниффер пакетов на интерфейсе rl0, фильтрующий пакеты, содержащие адрес 192.168.61.20 и порт 80
trafshow -i rl0 – программа для сортировки и вывода сетевых потоков (устанавливается дополнительно пакетом или из портов)

Для применения настроек сети после редактирования rc.conf. Перезагружаемся или выполняем /etc/netstart.

iftop

Для выяснения кто нагружает канал. Можно использовать утилиту iftop.

Установка из портов:

  cd /usr/ports/net-mgmt/iftop
  make install clean
  rehash

Далее запускаем утилиту командой:

  iftop

Ссылки:
http://itfound.ru/1-zagruzka-kanala-freebsd.html

System

top -mio – показать I/O по процессам
top -S – показать системные процессы в топе (по дефолту они не показываются)
top -SHPI - показать загрузку по ядрам, в том числе и системные процессы, кроме тех что в простое. Наиболее удобный вариант.

vmstat -z чего не хватает
vmstat -i прерывания по устройствам
systat -vmstat n – просмотр всей сводной статистики по системе(online). вывод показателей загрузки (number of jobs in the run queue averaged over 1, 5 and 15 min), состояния памяти (в страницах), количества процессов в группах, количество вызовов специальных функций ядра (traps, interrupts, system calls, network software interrupts), использование процессора, трансляции имен, активность свопа, прерывания, а также информацию по использованию диска (см) uptime - можно просмотреть время работы системы без перезагрузок и load averages системы
pcpustat - мониторинг CPU (порт)
ps afx – список запущенных процессов и время процессора на каждый
rcorder /etc/rc.d/* /usr/local/etc/rc.d/* - Посмотреть очередность запуска сервисов в freebsd.

Модули ядра

Модули ядра — это его компоненты, которые можно запускать (или загружать) и выгружать при необходимости. Модули ядра могут загружаться при подключении устройств и выгружаться при их отключении. Это позволяет экономить системную память и повышает гибкость системы.

Само ядро по умолчанию хранится в виде файла /boot/kernel/kernel, модули ядра также хранятся в виде файлов в каталоге /boot/kernel. Заглянув в этот каталог, можно увидеть сотни файлов модулей ядра. Имена файлов всех модулей ядра имеют расширение .ko. Обычно файлы модулей ядра получают имена, соответствующие их функциональности. Например, в файле /boot/kernel/joy.ko находится драйвер джойстика (от английского «joy»), описание которого находится в странице руководства joy(4). Этот драйвер делает джойстик видимым для системы в виде устройства joy0.

Просмотр списка загруженных модулей

# kldstat

Каждый модуль содержит один или более подмодулей, которые можно увидеть с помощью команды

# kldstat -v

Ядро содержит несколько сотен подмодулей.

Загрузка и выгрузка модулей Загрузка и выгрузка модулей ядра производится с помощью команд kldload и kldunload.

Например, обычно мой ноутбук подключается к сети посредством проводного соединения Ethernet. При беспроводном подключении мне необходимо загрузить модуль ядра wlan_wep.ko, который использует WEP-шифрование. Для этого я пользуюсь командой kldload, которой передаю имя файла модуля ядра с требуемой функциональностью:

# kldload /boot/kernel/wlan_wep.ko

Как только беспроводное подключение станет ненужным, я выгружаю модуль.* Для этого требуется указывать не имя файла, а имя модуля, в том виде, как его отображает команда kldstat:

# kldunload wlan_wep.ko

Команды kldload(8) и kldunload(8) не требуют указания полного пути к модулю ядра, точно так же они не требуют указания расширения файла .ko. Если вы помните точное имя файла модуля ядра, можно использовать примерно такие команды:

# kldload wlan_wep
# kldunload wlan_wep

Автоматическая загрузка модулей ядра

Для автоматической загрузки модуля надо добавить его в файл /boot/loader.conf. Файл по умолчанию loader.conf содержит множество примеров загрузки модулей ядра, в которых используется один и тот же синтаксис. Нужно взять имя модуля ядра, убрать расширение файла .ko и добавить к нему строку _load=«YES». Например, чтобы автоматически загрузить модуль /boot/kernel/procfs.ko, в файл loader.conf нужно добавить такую строку:

procfs_load="YES"

Ссылки:
http://habrahabr.ru/sandbox/31010/
http://nix-sa.blogspot.ru/2011/09/freebsd.html
http://freebsdguide.ru/_5/_3/