Netdata – это распределенное, почти в реальном времени, масштабируемое решение для мониторинга производительности и работоспособности Linux, FreeBSD и MacOS. Да! Оно с открытым исходным кодом. Netdata был разработан таким образом, что он мог быть установлен на каждой системе Linux, без прерывания или мертвой блокировки запущенных приложений на сервере. Вы можете использовать этот инструмент, чтобы отслеживать и получать обзор того, что происходит в близком к реальному времени, на Ваших системах и приложениях Linux. Для отслеживания доступности сайта на сервере можно использовать сервис HOST TRACKER, ознакомится с которым можно на этом сайте. Сервис замечает проблемы на сайте, уведомляет о проблеме, ведет статистику и многое другое. Итак, позвольте мне начать со статьи по Netdata и провести вас через установку, панель мониторинга, мониторинг нескольких серверов и, наконец, удаление.
Netdata отслеживает все, что только возможно:
- Ядро CPU – прерывания, частоты и т.д.
- Память – Общий объем памяти, ОЗУ, своп-файл и использование ядра.
- Дисковый ввод-вывод на диск: пропускная способность, операции, невыполненная работа, использование и т. д.
- Сети – пропускная способность, пакеты, ошибки, падение и т. д.
- Брандмауэр – мониторинг с netfilter/iptables в Linux подключение брандмауэра, событий, ошибок и т. д.
- Процессы – запущенные, заблокированные, активные и др.
- Системные приложения – с деревом процессов для процессора, памяти, подкачки, чтение/запись на диск, threads и т. д.
- Статус Apache и Nginx.
- База данных MySQL – запросы, обновления, блокировки, вопросы и т. д.
- Очередь Сообщений почтового сервера Postfix.
- Мониторинг пропускной способности прокси-сервера Squid и запросов.
- Аппаратные датчики-температуры, напряжение, вентиляторы, мощность, влажность и др.
- SNMP-устройство.
Многие люди рассматривают netdata как альтернативу collectd + graphite или сравнивают ее с munin. Netdata пытается предложить много функциональности, конечно без выделенных ресурсов, в пределах и с помощью утилит инструментальной панели.
Вы будете получать уведомления на свой мобильный, когда вы находитесь вне офиса. О! Netdata также поддерживает сигналы тревоги в реальном времени. Оповещения Netdata можно настроить для любой комбинации метрик и отправлять уведомления.
Так что вы думали о требовании к оборудованию, не волнуйтесь, он может быть установлен на простой машине, которая может сэкономить от 1 до 3% от загрузки процессора. Итак, давайте начнем с установки, эта статья охватит установку на ARC Linux, Ubuntu 16.06 & CentOS 7.
Установка
Для CentOS/Fedora netdata при условии установки одной строкой сценария. Сценарий установит последнюю версию netdata, а также будет ежедневно обновлять.
Для 32-битной системы:
bash <(curl -Ss https://my-netdata.io/kickstart.sh
Для 64-битной системы:
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
Эта команда выполнит автоматизированные скрипты и начнет загрузку Netdata
Для Ubuntu 16.06 первое обновление всех важных пакетов:
$ sudo apt-get update $ sudo apt-get install git zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat
Для ArcLinux:
$ sudo pacman -S netdata $ sudo packman -S curl $ sudo curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-package.sh' > /tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata
Пример панели
Обратите внимание, все это приборная панель размещенных в Интернете, так что если вы установите это на сервере вы можете получить доступ к этой информации из любой точки мира.
Как получить информацию о ЦП
Подробная информация для каждого процессора в системе. Краткое описание системы можно найти в разделе: Обзор системы -> CPU.
Подробная информация о прерываниях, обрабатываемых процессором системы.
Получить информацию о пользователе
Статистика по пользователям собирается с помощью apps.plugin. Этот плагин проходит через все процессы и агрегирует статистику на пользователей. Для обработанных сценариев Like spell сообщаемые значения включают ресурсы, используемые командами, которые эти сценарии выполняют в течение каждого периода времени.
Ниже изображение показывает приборную панель для центрального процессора 2.
Выборка использования памяти в реальное время
Реальная память (RAM), используемая для каждого пользователя. Она не включает в себя разделяемую память. (Users.mem)
Данные, показанные в ниже приборной панели для каждого пользователя в группе и использование ресурсов. Розовый для чистых данных и красный для root для времени процессора в %.
Использование и мониторинг Web
Веб-панель настолько интересна, она вычисляет показатели для каждого веб-ресурсf. Как вы видите его в списке вниз под Netdata Monitoring ->Web, есть работающие 2 потока.
Приборная панель Netdata CG показывает информацию для proc и cgroups, которая накапливает данные каждую миллисекунду. плагины, используемые для этой панели мониторинга являются netdata.plugin_proc_cpu & netdata.plugin_cgroup_cpu.
Мониторинг Netdata также помогает с приложениями мониторинга с использованием apps.plugin, который собирает данные каждую миллисекунду с пользователем различных метрик WRT и системой, вызовами, получать доступ к файлам, целям и генерироваться новым потокам.
Как получить оповещение
Сигналы Netdata показывают активные тревоги через систему.softnet_stat. Под изображением показывает сколько сигнал тревоги времени поднят не познее 10 минут. Настройка сигнала тревоги для вышеуказанного системного параметра показана в правой части, где поиск db, проверяет каждый, выполняет путь. Местоположение источника файла конфигурации может быть определено здесь.
Журнал тревог в разделе alarm. Вы можете посмотреть на дату события, который показывает дату и время тревоги.
Информация о ядре
Ядро показывает 2 различных типа метрик, один из которых-грязные матрицы, а другой – полные матрицы ядра. Грязные метрики показывают объем памяти, ожидающий записи на диск. Пишет, сколько памяти переписывается на диск. Общий объем памяти, используемой ядром. SLAB – это объем памяти, используемый ядром для кэширования собственной структуры данных. Стек ядра – это объем памяти, выделяемый для каждой задачи, выполняемой ядром. VMALLOCUSED – это объем памяти, используемый в качестве виртуального адресного пространства.
Мониторинг сети
- IPv4 сети собирает информацию пропускной способности, пакеты, ошибки подключения.
- TCP: соединения, пакеты, ошибки, рукопожатие.
- UDP: пакеты, ошибки, широковещательный: пропускная способность, пакеты.
- Связь между процессами – IPC , такие как семафоры и массивы, если это необходимо.
- Брандмауэр Netfilter/Iptables в Linux: подключение, события подключения, ошибки.
Ниже приведены изображения для сетей, брандмауэра и сети IPV4;
Использование диска
Графики показывают производительность для всех системных данных. Специальный счетчик метрики на основе данных показывает в реальном масштабе времени для системного администратора. В меню диска специальный список, где показывается использование пространства, отведенные для root, и если пользователь выходит из пространства.
Как добавить несколько серверов
Это не все, пойдите и захватите чашку чая … мне удалось добавить несколько серверов, как ARCLinux, Ubuntu и CentOS и подключить к единому порталу, где системный администратор может легко контролировать сервер, просто нажав кнопку. Да, это возможно, ниже изображение показывает список другого настроенного сервера.
- Вам нужно больше, чем 1 сервер с установленным Netdata,
- Перейти в браузер и добавить IP-адрес сервера port no, 19999
- Аналогично, просматривать для нескольких IP серверов, список будет автоматически добавлен в выпадающем списке для дальнейшего использования.
Удаление
Скрипт Netdata-installer.sh генерирует другой скрипт netdata-uninstaller.sh.
Чтобы удалить netdata, выполните команду:
cd /path/to/netdata.git $ ./netdata-uninstaller.sh --force $ service netdata stop $ systemctl stop netdata
Отключение выполняется netdata при запуске, с одним из следующих способов (в зависимости от вашего дистрибутива):
$ rc-update del netdata $ update-rc.d netdata disable $ chkconfig netdata off $ systemctl disable netdata
Наконец, удалите все файлы netdata и удалите пользователя (в зависимости от потребностей пользователя),
$ rm -rf /opt/netdata $ groupdel netdata $ userdel netdata
Это все на сегодня, надеюсь, что вам понравилась статья, спасибо за вашу поддержку и с нетерпением ждем от вас комментарии. До свидания!