Nmon – Утилита для системного администратора
В этой статье установим и рассмотрим крайне полезную утилиту для диагностики системы под названием Nmon.
Описание Nmon
Поддерживаемые операционные системы: AIX, Linux, ARM
Эта программа с лаконичным интерфейсом может стать отличным помощником любого системного администратора и способна выдать огромное количество важной и полезной информации о загруженности центрального процессора, вывести информацию по использованию файловой системы, а так же дисков (в виде мини графиков или числовых данных), сети и.т.д
Сама программа легковесная и практически не нагружает систему. Данные выводятся на экран и обновляются каждые 2 секунды. Длину интервала между интервалами можно изменить. Так что программа предоставляет возможность сохраняться данные в текстовый файл формата csv для последующего анализа полученных данных и построение графиков.
В этой статье мы рассмотрим основные команды и возможности этой утилиты.
Установка программы
Устанавливать данный программный продукт будем на CentOS версии 6.6. Установка выполняется при помощи пакетного менеджера yum следующей команды:
# Yum install nmon
После проверки зависимостей подтверждаем установку программы «y»
Все, можно запустить программу командой. Для запуска программы достаточно ввести следующую команду: # nmon
Стоит отметить, что если вы подключаетесь к серверу при помощи программы Putty – переключите кодировку на UTF-8, иначе будет каша из символов.
Для смены кодировки выполните следующие действия:
переходим в категорию Windows —> Translation
Remote character set и выбираем кодировку UTF-8.
Далее переходим в Session и вводим ip удаленного хоста, выбираем стандартный для ssh порт 22, вводим какое-то название сессиии в поле Save Session, чтоб в дальнейшем можно было сразу подключиться с нужными настройками. Жмем Save.
Nmon
После запуска мы видим приветственное окно программы. Снизу отображается краткое руководство по параметрам интерактивного режима (о котором будет написано ниже).
· q – выйти из nmon;
· h – вызов подсказки. Для того, чтоб вернуть обратно в меню – нажмите еще раз;
· c – CPU;
· m – память;
· d – диски;
· k – ядро;
· n – сеть;
· N – NFS;
· j – файловая система;
· t – top-процессы;
· V – виртуальная память;
· . – только активные диски/процессы;
· v – подробный режим.
В программе имеется два режима: режим сбора данных и интерактивный режим.
Режим сбора данных (-f):
· f устанавливает формат вывода таблицы. Базовое значение: -s300 -c288
· s <seconds> частота обновления экрана. Базовое значение: 2 сек
· c <number> число обновлений. Базовое значение: 1 млн
· d <disks> параметр отвечает за отображения количества дисков. Базовое значение: 256
· t таблица включает в себя основные процессы;
· x планирование мощности (15 мин на 1 день = -fdt -s 900 -c 96)
Интерактивный режим:
· s <seconds> частота обновления экрана. Базовое значение: 2 сек
· c <number> число обновлений. Базовое значение: по умолчанию 1 млн
· g <filename> пользовательские группы дисков.
— file = в каждой строке: group_name <список дисков> разделены пробелом
— like: база данных sdb sdc sdd sde
— upto 1-32 групп дисков, может использоваться
· b черно-бело оформление. По умолчанию оно цветное.
Пример команды:
# nmon –s 3 –b
Некоторые параметры системы можно просмотреть, только если запускаете ее с правами суперпользователя, учитывайте это при работе с этой программой
Рассмотрим их теперь по отдельности:
CPU (c):
С помощью этой команды можно посмотреть нагрузку каждого ядра процессора и среднею нагрузку в целом, загрузку системой и пользователем.
Memory (m):
Позволяет посмотреть общее количество оперативной памяти занятой в процентах и мегабайтах. Так же выводит информацию о файле подкачки , кэшированной памяти, буфера и иную информацию о состоянии памяти.
Disks (d):
Отображает информацию по состоянию жестких дисков и их разделов. Присутствует информация о суммарной скорости чтении и записи и все представлено в виде таблицы и графика.
Resources (r):
Здесь можно посмотреть информацию процессоре, архитектуре пк, операционной системе, а так же о типе ядра.
Kernel (k):
Выводит информацию в виде таблицы о ядре системы, запущенных очередях и прерываниях, среднюю работу, длительность полной работы системы и нагрузку ядра на процессор.
Filesystems (j):
Выводит информацию о файловой системе в виде таблицы.
Network (n):
Здесь можно посмотреть информацию о сетевых интерфейсах, а так же о количестве и размеру отправленных и полученных пакетах. Так же отображает сетевые ошибки так же в таблице.
NFS (N):
Отображает информацию о сетевой файловой системе.
Top processes (t):
В виде таблицы отображает список процессов, по каждому процессу показывает количество занятой оперативной памяти и.т.д.
Virtual memory (V):
Отображает информацию о виртуальной памяти и разделе подкачки.
Verbose hints (v):
Показывает информацию о ресурсах в плане безопасности, степень предупреждения и опасности в процентах.
CPU long-term (l)
Позволяет на наглядном графике посмотреть загруженность процессора.
Сбор и сохранение данных с помощью nmon
Как говорилось выше, этот инструмент позволяет не только просматривать состояние системы в реальном времени, но и имеет возможность сохранять собранные данные в файл. Это может оказать полезной функцией, если необходимо проанализировать состояние системы за определенный отрезок времени.
Предположим, что нам требуется 20 «снимков», делать которые мы будем один раз в 30 секунд. Это можно организовать с помощью следующей команды:
# nmon -f -s 30 -c 20
Пояснение по команде:
-f –Этот ключ указывает, что данные надо записать в файл (файл с расширением .nmon)
-s – С помощью этого ключа задаем промежутки времени между снимками (в секундах).
-с – Количество снимков.
Через 10 минут после выполнения команды в текущей директории окажется файл который можно будет проанализировать. Для этого можно использовать утилиту nmonchart, которая создаст из него веб-страницу удобную для анализа полученных данных.
Автоматизация сбора данных:
Если необходимо организовать регулярный сбор данных о показателях работы сервера, то, можно воспользоваться заданиями cron.
Сначала создадим простой скрипт и назовем его nmon.sh. Содержимое скрипта будет следующим:
#! /bin/sh
nmon -f -s 30 -c 20
После чего сохраняем полученный скрипт и не забудьте обязательно дать ему разрешение на исполнение с помощью команды chmod u+x nmon.sh. Теперь откроем файл crontab для редактирования командой crontab -e и введём следующее:
30 11 * * * ~/nmon.sh
После сохранения изменений, задание cron будет выполняться ежедневно, в 11:30 утра. Вы, конечно, подставите сюда то время, которое вам нужно, получив в своё распоряжение удобный инструмент для выявления причин неполадок серверов.
Утилита nmon может стать отличным помощником для любого администратора.
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.