Если у вас Ubuntu, то обратитесь к статье "Как настроить мониторинг производительности реального времени с Netdata на Ubuntu 16.10".
Что такое Netdata
Netdata – это чрезвычайно оптимизированная утилита Linux, которая в реальном времени (посекундно) обеспечивает мониторинг производительности систем Linux, приложений, SNMP устройств и т.д. и показывает полностью интерактивные графики, которые через веб-браузер показывают абсолютно все собранные значения для их анализа.
Программа была создана чтобы быть установленной на систему Linux без прерывания на ней текущих запущенных приложений. Вы можете использовать этот инструмент для контроля и обзора в реальном времени того, что происходит или только что произошло в ваших системах Linux и приложениях.
Что мониторит Netdata:
- Общее использование и использование каждого ядра ЦПУ, прерывания (interrupts), отложенные прерывания (softirqs) и частоту.
- Общую память, оперативную память, использование раздела подкачки (Swap) и Kernel
- Операции ввода/вывода на диск (по каждому диску: скорость, операции, backlog, utilization и пр.)
- Мониторинг сетевых интерфейсов, включая: скорость пропускания, пакеты, ошибки, отброшенное и пр.)
- Мониторы подключений, события, ошибки и пр. файервола Linux Netfilter / iptables
- Процессы (запущенные, заблокированные, форки, активные и пр.)
- Системные приложения с деревом процессов (ЦПУ, память, swap, чтение/запись на диск, потоки и т.д.)
- Мониторинг статуса Apache и Nginx с mod_status.
- Мониторинг баз данных MySQL: запросы, обновления, блокировки, проблемы, потоки и т.д.
- Очередь сообщений почтового сервера
- Мониторинг пропускной способности и запросов Squid прокси
- Сенсоры железа (температура, вольтаж, вентиляторы, напряжение, влажность и т.д.)
- SNMP устройства
Эта инструкция покажет вам, как успешно установить Netdata на ваш сервер с Arch Linux, используя встроенный веб-сервер.
Шаг 1 — Установка Netdata
Перед началом установки, обновите систему и индекс пакетов.
sudo pacman -Syu
Устанавливаем пакет Netdata и некоторые зависимости:
sudo pip install mysqlclient sudo pacman -S netdata nodejs lm_sensors rrdtool --needed
Следующей командой откройте консоль СУБД (MySQL или MariaDB):
mysql -uroot -p
Введите ваш пароль рута для СУБД.
Следующими действиями мы позволяем пользователю netdata подключаться к СУБД без sudo (если это не сделать, то не будут показываться графики активности MySQL и MariaDB):
create user 'netdata'@'localhost'; grant usage on *.* to 'netdata'@'localhost' with grant option; flush privileges; exit
Запускаем службу и добавляем её в автозагрузку:
sudo systemctl start netdata.service sudo systemctl enable netdata.service
Выполните эту команду для копирования файла настроек, даже если вы настраиваете Netdata не на локалхост, команду менять не нужно:
sudo wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf
Теперь Netdata установлена и успешно запущена. Она также будет запускаться автоматически при старте сервера.
На этом этапе вы можете видеть набор виджетов, открыв адрес http://ip_вашего_сервера:19999/ в вашем браузере. В самом верху расположена краткая информация об использовании ресурсов системы. Перед тем, как мы перейдём к обзору графического интерфейса, давайте немного настроим Netdata.
Шаг 2 — Настройка использования памяти Netdata
Текущую конфигурацию Netdata вы можете увидеть в вашем браузере посетив страницу http://ip_вашего_сервера:19999/netdata.conf .
Вы увидите, что все (или почти все) опции настройки закомментированы (начинаются с #). Это от того, что Netdata работает, используя набор предполагаемых настроек по умолчанию. Любые отключённые настройки используют значения Netdata по умолчанию; если настройки раскомментированы, то значение из конфигурационного файла перезаписывает настройки по умолчанию.
Сам конфигурационный файл на вашем сервере размещён в /etc/netdata/netdata.conf . В этой инструкции мы отредактируем параметр history. Он определяет максимальный размер базы данных памяти, используемой Netdata.
Здесь вы решаете, как много оперативной памяти вы хотите выделить Netdata или как много времени вы хотите хранить записанные данные для диаграмм перед их потерей:
- 3600 секунд (1 час хранения данных диаграммы) использует 15 мегабайт оперативной памяти
- 7200 секунд (2 часа хранения данных диаграммы) использует 30 MB мегабайт оперативной памяти
- 14400 секунд (4 часа хранения данных диаграммы) использует 60 MB мегабайт оперативной памяти
- 28800 секунд (8 часов хранения данных диаграммы) использует 120 мегабайт оперативной памяти
- 43200 секунд (12 часов хранения данных диаграммы) использует 180 мегабайт оперативной памяти
- 86400 секунд (24 часа хранения данных диаграммы) использует 360 мегабайт оперативной памяти
Имейте в виду, что приведённые выше приблизительные цифры верны для набора графиков по умолчанию. Удаление или добавление пользовательских графиков в будущем окажет влияние на эти числа.
Откройте главный конфигурационный файл Netdata вашим любимым текстовым редактором.
sudo vim /etc/netdata/netdata.conf
В секции [global] найдите опцию history.
. . . [global] # glibc malloc arena max for plugins = 1 . . . # hostname = test-netdata # history = 3600 # update every = 1 . . .
Замените значение 3600 на то, которое вы решили. Здесь мы используем 14400, что даёт нам 4 часа хранения данных, также убедитесь, что строка раскомментирована, это делается удалением символа #, это приведёт к тому, что Netdata больше не будет игнорировать эту опцию.
. . . [global] # glibc malloc arena max for plugins = 1 . . . # hostname = test-netdata history = 14400 # update every = 1 . . .
После внесения изменений сохраните и закройте файл.
В то время как это изменение весьма вероятно увеличит количество используемой Netdata оперативной памяти, другая модификация, которую мы реализуем на следующем шаге, должна значительно уменьшить её.
Шаг 3 — Включение Kernel Same-page Merging
Даже хотя Netdata работает прямо из коробки, мы можем внести много изменений в то, каким образом Netdata использует системные ресурсы, это ускорит и оптимизирует её производительность. Начнём с включения Kernel Same-page Merging, для краткости KSM. Разрабочики Netdata дают приблизительную оценку, что это уменьшит используемую в Netdata память на 40-60%.
После включения демон KSM периодически сканирует память, ища страница с идентичным содержимым, которое может быть заменено единичной защищённой от записи страницей. В этом контексте, он позволяет совместно использовать идентичные страницы памяти между различными процессами или запущенными на вашей системе программами. Это уменьшает создание ненужных дубликатов содержимого памяти.
Вам нужно начать с «Включения функциональности /etc/rc.local в Arch Linux».
Чтобы это включение всегда работало в ядре системы Linux, откройте файл /etc/rc.local текстовым редактором.
sudo vim /etc/rc.local
Файл /etc/rc.local, или файл контроля запуска, выполняется после запуска всех других обычных системных служб и процессов Linux. Он полезен для указания пользовательских служб – или, в нашем случае, для включения выполнения на сервере KSM.
Добавьте следующие две команды в конец этого файла
echo 1 > /sys/kernel/mm/ksm/run echo 1000 > /sys/kernel/mm/ksm/sleep_millisecs
перед последней строкой exit 0, как показано ниже:
#!/bin/sh -e echo 1 > /sys/kernel/mm/ksm/run echo 1000 > /sys/kernel/mm/ksm/sleep_millisecs exit 0
Первая команда добавляет 1 в файл ядра для запуска KSM, который включает эту функцию. Вторая команда говорит демону KSM запускаться раз в каждую секунду и оценивать 100 страниц для дедупликации.
Теперь, когда вы сохранили и закрыли файл, KSM будут включён при следующей перезагрузке сервера и сохраниться при последующих перезагрузках. Для включения этой функции прямо сейчас, вам нужно в командной строке вручную запустить эти две команды, которые вы добавили в rc.local.
Начните с новой сессии оболочки для пользователя рута сервера, используя фалг -s с sudo. Это необходимо для успешного выполнения вышеприведённых двух команд, поскольку чтобы перенаправление вывода (с оператором >) оказалось успешным, его нужно сделать из оболочки рута.
sudo -s
Теперь введите эти две команды:
echo 1 > /sys/kernel/mm/ksm/run echo 1000 > /sys/kernel/mm/ksm/sleep_millisecs
Теперь покиньте оболочку рута и вернитесь в оболочку своей обычной сессии
exit
Наконец, для применения всех изменений, которые вы сделали на этом шаге и шаге перед ним, перезапустите Netdata.
sudo systemctl restart netdata
Вы можете проверить, включена ли сейчас KSM, поискав свежедобавленный KSM график в панели Netdata. Его можно найти в дереве меню справа, в Memory > Memory Deduper.
Теперь мы знаем, что панель и KSM работают.
Шаг 4 — Исследование панели Netdata
Итак, по адресу http://ip_вашего_сервера:19999/ вы увидите панель и обзор системных живых метрик. HUD стиль индикаторов наверху страницы изменяется каждый раз, когда вы проводите по последующим графикам, показываются значения, которые имели показатели системы на выбранное время.
Отдельные графики и диаграммы в этой секции обзора дают подробные отчёты о каждом аспекте системы: ЦПУ, память, сетевой трафик и другое.
Графики интерактивны и их можно двигать вправо и влево, перемещаясь по временным интервалам.
Удерживая клавишу SHIFT и прокручивая колёсико мыши на графике, вы можете поменять масштаб, протяжённость времени, т.е. изменится расстояние между маркерами. Двойной клик на графике вернёт его в исходное состояние и вид.
Самый быстрый способ навигации по панели – это использование дерева меню справа от страницы. Оно меняет фокус и цвет, в зависимости от секции страницы, которую вы в данный момент просматриваете.
Пролистывание вниз страницы или использование дерева меню даёт доступ к ещё более глубоким графикам. Они очень детальны и управляются тем же образом, что и графики в начальной обзорной секции.
В Netdata доступно очень много самых разнообразных графиков статистики.
Обновление осуществляется вместе с остальными пакетами, установленными на систему.
Заключение
Netdata обладает большим количеством модулей, можно настраивать отображающиеся графики, а также устанавливать и изменять уведомления в браузере.
Близкие статьи
- Настройка SSH в BlackArch (100%)
- Установка MongoDB в BlackArch (100%)
- Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch (100%)
- Настройка статического IP адреса в Arch Linux / BlackArch (100%)
- Как настроить свой собственный почтовый сервер на Arch Linux (100%)
- Особенности использования валидных SSL-сертификатов (RANDOM - 50%)