Мониторинг средствами ОС

Мониторинг FreeBSD из коробки не используя snmp!
Несколько полезных команд которые помогут сделать траблшутинг на сервере!

Желаю чтобы у Вас никогда не возникало проблем с серверами:)

  1. cat /var/run/dmesg.boot Посмотреть сообщение выдаваемое при загрузке
  2. swapinfo или pstat -s Просмотр виртуальной памяти(тут можно сразу возразить, есть же top, зачем придумывать велосипед).
    %swapinfo
    Device          1K-blocks     Used    Avail        Capacity
    /dev/md0       1048576    47564  1001012     5%
  3. gstat — При использовании SoftRAID просмотр загрузки массива
  4. iostat — наблюдения за пропускной способностью HDD
    -w секунд  обновление через заданный промежуток времени
  5. lsof (LiSt of Open Files) (/usr/ports/sysutils/lsof) — утилита, служащая для вывода информации о том, какие файлы используются теми или иными процессами.
    • lsof -i 4 -a -p 1234(просмотр всех соединений IPv4, открытых процессом с PID = 1234)
    • lsof /dev/ad4 (Список открытых файлов на устройстве /dev/ad4)
    • lsof /dev/cdrom (Список процессов, работающих с CD ROM)
    • lsof -c ssh (Список подключений по ssh)
  6. sockstat — покажет список активных соединений и портов, доступных для клиентов.
    -4 отображает только IPv4
  7. fstat — Для того, что посмотреть какие файлы открыты в данный момент в системе.
  8. top — тут без комментариев, я думаю все видели диспетчер задач в ОС «ОКНА»
  9. VMSTAT— раскладывает на 6 тематических разделов.
    %vmstat
    procs      memory               page                    disks         faults            cpu
    r b w     avm    fre       flt     re  pi  po    fr  sr ad4 ad6   in   sy   cs       us sy id
    2 1 0    492M    17M   265   0   0   1    64   7   0   0    615 606 1509  2 16 82

    Ключи:
    -w секунд – обновление данных через заданный интервал времени
    -s статистика за все время непрерывной работы ОС
    -i cтатистика кол-ва прерываний поступивших от устройств
    -m количество памяти, выделенное ядром под свои нужды.
    -z к-во использованной памяти по зонам(малоинформативно)

    procs — информация о процессах
    r — Количество процессов, ожидающих времени процессора. Они  готовы к запуску, но не могут получить доступ к процессору. Если их много, то узким местом системы является процессор.
    b — Количество процессов, блокированных в ожидании системного  ввода или вывода. Обычно это ожидание доступа к диску. Такие  процессы будут запущены сразу после получения нужных им данных. Если это число велико, узким местом является диск.
    w — кол-во готовых к запуску, но перемещенных в своп процессов. Если это число велико, узким местом является память.

    memory — FreeBSD разбивает память на фрагменты, которые называются страницами. Все страницы, выделяемые процессам, имеют одинаковый размер. Размер страницы зависит от аппаратной платформы и операционной системы. Система обрабатывает страницы целиком, например, если требуется вытеснить память в пространство свопинга (область подкачки), она вытесняется целыми страницами. Раздел memory состоит из двух колонок.
    avm — Среднее количество страниц виртуальной памяти, используемых системой. Если это значение чрезмерно велико, значит, система активно расходует виртуальную память.
    fre — Количество страниц памяти, доступных для использования. Если это значение чрезмерно мало, налицо проблемы с памятью.

    page — активность страничной подкачки
    flt — кол-во «промахов» те обращение к страницам, которых в RAM на данный момент нет
    re — число возвращенных страниц (восстановленных из списка неиспользуемых)
    pi — Показывает, сколько страниц было перемещено из физической памяти в пространство свопинга
    po — Показывает, сколько страниц было перемещено из пространства свопинга в реальную память
    fr — Количество освобождаемых страниц в секунду
    sr — Количество просмотренных страниц в секунду
    * Большие значения в колонках fr и flt могут свидетельствовать о чрезмерном количестве короткоживущих процессов, например CGI-сценарии запускают множество других процессов или слишком часто планируется выполнение некоторых заданий в сrоn

    disks — операции с HDD (число в секунду)
    Число операций с дисками (в данном примере два диска ad4 и ad6)

    faults — переключение контекста и прерываний (число в секунду)
    in — число прерываний
    sy — число системных вызовов за последние 5 секунд.
    cs — число переключений контекста

    cpu — использование CPU
    us — время, потраченное на исполнение кода программ
    sy — время, потраченное на исполнение кода ядра (системные вызовы, ввод\вывод)
    id — время простоя

  10. netstat статистика сетевой подсистемы
    w N -к-во секунд между обновлениями
    d включить в вывод информацию о сброшенных пакетах.
    a открытые сетевые соединения
    n не должна выполнять преобразование IP-адресов в имена хостов
    f inet отображает только  сетевые соединения.
    b только активные соединения.
    m позволяет получить общее представление об  использовании памяти ядра для сетевой подсистемы.
    s выводит данные страница за страницей. статистические данные о производительности для каждого из  протоколов.
    -p протокол указываем протокол, например tcp
    L информация по всем сокетам
    отлично собираются в комбинации, например
    netstat -Lan отобразит очередь текущих соединений (qlen/incqlen/maxqlen)

Литература:

  1. http://www.lissyara.su/articles/freebsd/tuning/mpd_11/
  2. Майкл Лукас FreeBSD…. 2е Издание

Комментарии: