- Мощный мониторинг за пять минут с помощью Glances
- Установка и настройка
- Заключение
- На правах рекламы
- linux-notes.org
- Установка Glances для мониторинга ОС в Unix/Linux
- Установка Glances для мониторинга ОС в Unix/Linux
- Использование Glances для мониторинга ОС в Unix/Linux
- Мониторинг критических параметров устройств при майнинге в ubuntu
- Обзор популярных утилит для мониторинга железа в Linux
- Изучение информации об уставленном аппаратном обеспечении утилитами lm-sensors и psensor
- Работа с программой GreenWithEnvy для видеокарт nvidia
- Работа с утилитой TuxClocker для видеокарт amd/nvidia в Ubuntu
- Установка и работа с утилитой Wattmangtk для мониторинга и разгона видеокарт AMD в Ubuntu
- Контроль состояния видеокарт AMD с помощью утилиты rocm-smi
- Работа с утилитой Radeon-profile для видеокарт АМД
- Заключение
Мощный мониторинг за пять минут с помощью Glances
Допустим, что у нас не очень обширная инфраструктура: несколько небольших VPSок, подкроватник, NAS и два ноутбука, торчащих в сеть. Тем не менее, за ней всё равно надо приглядывать, и заниматься этим вручную раздражает всё больше с каждой новой машиной. Я стал искать систему мониторинга, которая могла бы не съедая лишних ресурсов агрегировать информацию отовсюду в единый дашборд, желательно без геморроя с настройкой. В итоге, как только десятки мелких консольных утилит были отброшены вместе с чрезмерно усложнёнными корпоративными хреновинами вроде Prometheus и RabbitMQ, поиск быстро привёл меня к Glances — утилите, берущей лучшее от обоих миров.
Glances — довольно старый консольный инструмент мониторинга на Python, который на Хабре незаслуженно обошли вниманием. Первые релизы вышли в 2014 году, а самый свежий появился 23 января. У проекта почти 18к звёзд на Github, больше сотни контрибьюторов и тысячи форков.
Список отслеживаемых данных:
- Нагрузка на CPU, информация и температура
- Загруженность памяти (RAM, swap)
- Средняя загруженность
- Список и количество процессов
- Использование сетевых интерфейсов
- Операции с диском
- Состояние IRQ и RAID
- Большинство доступных датчиков
- Свободное место на диске и распределение по разделам/папкам
- Список контейнеров, их потребление и процессы
- Аптайм, алёрты и другие мелочи
Кстати, Glances умеет работать и на мобильных устройствах (но, очевидно, только на рутованном андроиде, что сильно сужает круг применения).
Вся нужная информация доступна буквально по одной команде:
Но пока это лишь консольная утилита, а нам нужно гораздо больше. Вся мощь Glances раскрывается в его огромном количестве интеграций и выходных форматов. Во-первых, из коробки он умеет выводить информацию в веб-версию и XML-RPC/RESTful API. То есть поставив его на все машины и скинув вывод из всех эндпойнтов на один сервер, можно уже добиться желаемого. Но консольный вывод с десятка устройств читать неудобно ни в каком виде, а уж тем более пытаться уместить его на одном экране, поэтому смотрим интеграции:
- Cassandra/Scylla
- CouchDB
- Elasticsearch
- InfluxDB
- Kafka
- MQTT
- OpenTSDB
- Prometheus
- Riemann
- StatsD
- ZeroMQ
Нас, конечно, интересует InfluxDB и последующий вывод из неё в графану. Тем более что у Glances уже есть готовый дашборд, бери да пользуйся.
Установка и настройка
Вариантов установки много, но стабильнее всего работает установка через PyPI:
Можно сразу доустановить дополнительные модули:
Полный список установок InfluxDB здесь, стандартный вариант для Ubuntu/Debian x64:
Создаём базу glances с любым пользователем и передаём данные в конфиг Glances следующего вида:
Затем запускаем утилиту с экпортом данных в InfluxDB и использованием конфига, где к ней указан доступ:
Почти готово, осталось открыть InfluxDB для доступа извне:
Все операции выше повторяем на отслеживаемых машинах, затем на агрегирующем сервере ставим графану:
Открываем интерфейс на 3000 порту, логинимся и добавляем наши удалённые источники данных (Configuration > Data sources > Add data source > InfluxDB):
Импортируем его в графану (+ > Import) и настраиваем под себя, повторяем для всех машин. Готово! Теперь в одном интерфейсе мы можем подробно рассмотреть все метрики (как на КДПВ), а ключевые, вроде нагрузки на CPU, можно собрать на одном общем дашборде.
Заключение
Раньше я думал, что настраивать удалённый мониторинг на несколько машин это жуткий геморрой (или можно отдать всю работу готовым сервисам, но с большей нагрузкой и без гибкой подстройки), а оказывается нужно было просто найти подходящий инструмент. Конечно, при желании можно забить на графики и смотреть консольный вывод или обрабатывать API по-своему. Мне нравится такая вариативность.
На правах рекламы
Эпично! Виртуальные серверы на базе новейших процессоров AMD EPYC, которые подойдут не только для мониторинга, но и для размещения проектов любой сложности, от корпоративных сетей и игровых проектов до лендингов и VPN.
Источник
linux-notes.org
Установка Glances для мониторинга ОС в Unix/Linux
Glances является кросс-платформенным приложением для мониторинга написанный на Python, которое используют библиотеку psutil, чтобы захватить информацию из системы. Мониторинг Glances процессора, средней нагрузки, памяти, использование сетевых интерфейсов, дискового ввода / вывода.
Glances может динамически адаптироваться в отображении информации в зависимости от терминала siwrize. Программа также может работать в режиме клиент / сервер для удаленного мониторинга.
Особенности Glances
1. Вывод о CPU (связанные пользовательские приложения, основные системные программы).
2. Вывод всей информации о памяти в том числе оперативной памяти,сколько свободной оперативная память имеется и т.д.
3. Показывает среднюю нагрузку процессора за прошедший 1мин, 5 мин и 15 мин.
4. Сеть скачивать / закачивать темпы сетевых соединений.
5. Выводит общее число процессов( сколько активных, сколько «sleep» процессов и т.д).
6. Диск I\О связанный с чтением или записью.
7. Топ процессы с их CPU/Memory.
8. Показывает текущую дату и время в нижней части программы.
9. Основные процессы выделены красным цветом, что выделить потребляемые высокие системные ресурсы.
Требование
- питон> = 2.6 (проверено на версии 2.6, 2.7, 3.2, 3.3).
- psutil> = 0.4.1 (рекомендуется версия> = 0.6).
- jinja (опция для вывода HTML).
- pysensors (опционально для поддержки мониторинга HW) [Linux-только].
- Hddtemp (опция для поддержки контроля температуры HDD).
- batinfo (опция для поддержки мониторинга батареи) [Linux-только].
- Setuptools.
Установка Glances для мониторинга ОС в Unix/Linux
На самом деле, пакеты существуют для Arch Linux, Fedora / CentOS / RHEL, Debian (Sid / Testing) и Ubuntu (13.04), так что вы должны быть в состоянии установить его, используя ваш любимый менеджер пакетов.
Установка Glances для мониторинга ОС в Debian/Ubuntu:
Установка Glances для мониторинга ОС в Centos/Fedora/RedHat:
Установка Glances для мониторинга ОС с использованием готового скрипта:
To install both dependencies and latest Glances production ready version (aka master branch), just enter the following command line:
Собственно, скрипт все за вас сделает.
Установка Glances для мониторинга ОС в FreeBSD
Устанавливаем нужные пакеты:
Выполняем установку Glances с портов:
Установка Glances для мониторинга ОС в Mac OS X
Для начала подключаем Homebrew, вот статья:
И потом выполняем:
Установка Glances для мониторинга ОС с использованием Docker
Можно использовать и готовый контейнер:
Запустите контейнер в консольном режиме:
Кроме того, если вы хотите использовать свой собственный glances.conf конфиг-файл, Вы можете создать свой собственный Dockerfile:
В качестве альтернативы, вы можете указать и так:
Где ./glances.conf — локальный конфиг-файл с glances.conf.
Запуск контейнера в режиме веб-сервера (обратите внимание на параметры переменного окружения GLANCES_OPT):
Использование Glances для мониторинга ОС в Unix/Linux
В автономном режиме просто запустите:
В режиме веб-сервера:
После чего, открываем браузер и вводим:
В режиме Client / Server
Если вы хотите удаленно контролировать машину, называемую сервер с другого компьютера под названием клиент, просто запустите на сервере:
и на клиентской части:
где @server — это IP-адрес или имя хоста сервера.
В режиме сервера, вы можете установить привязки адреса -B ADDRESS и прослушивания TCP порта -p PORT
В режиме клиента, вы можете установить TCP порт сервера -p PORT.
По умолчанию привязки адреса 0.0.0.0 (glances будет прослушивать все сетевые интерфейсы) и порт TCP — 61209.
В режиме клиент / сервер, лимиты устанавливаются на стороне сервера.
Вы также можете установить пароль на доступ к серверу -P password.
glances совместимости с IPv6. Просто используйте опцию -B . чтобы связать себя по всем адресам IPv6.
Цветовая кодировка
ЗЕЛЕНЫЙ : ОК (все в порядке)
СИНИЙ : ОСТОРОЖНО (нужно внимание)
Фиолетовый : ПРЕДУПРЕЖДЕНИЕ (оповещения)
КРАСНЫЙ : Критическая (критическая)
Мы можем установить пороговые значения в конфигурационном файле. По порогов по умолчанию является деятельность (осторожны = 50, предупреждение = 70 и критическое = 90), мы можем подгонять согласно нашим потребностям. По умолчанию файл конфигурации находится в «/etc/glances/glances.conf.
Ниже приведены список из нескольких горячих клавиш.
- a — Сортировка процессов автоматически
- c — сортировки процессов по CPU%
- m- сортировки процессов по MEM%
- p — Сортировка процесс по имени
- i — сортировки процессов по скорости ввода / вывода
- d — Показать / скрыть диск O статистика ввода / олы
- f — Показать / скрыть система statshddtemp
- n — показать / скрыть Статистика сети
- s — Показать / скрыть датчики статистика
- y — Показать / скрыть Hddtemp статистика
- l — Показать / скрыть журналы
- b — байты или бит для сетевого ввода / Oools
- w — Удалить журналы предупреждений
- x — Удалить предупреждения и критические журналы
- 1- Статистика «Глобальный процессор» или на-CPU — 1
- h — Показать / скрыть экран справки
- t — Просмотр сеть ввода / вывода
- u — Просмотр совокупный сеть ввода / вывода
- q — Выход (Esc и Ctrl-C также работать)
Glances — система мониторинга в режиме реального времени для Linux расписана и показана думаю что доступно для каждого. Если не получится установить ( попробуйте обновить пакеты что я указал выше), то пишите мне. Помогу Вам.
Источник
Мониторинг критических параметров устройств при майнинге в ubuntu
При майнинге на видеокартах и процессоре важно контролировать и управлять ключевыми параметрами их состояния. К ним относятся:
- температура ядра и памяти;
- напряжение на ядре и памяти/контроллере памяти;
- частота ядра GPU и видеопамяти;
- потребление мощности видеокартой;
- скорость вращения вентиляторов системы охлаждения GPU;
- тайминги видеопамяти.
При работе в ubuntu часто возникает вопрос о том, какие программы можно использовать для контроля критических параметров состояния видеокарт и остальных устройств на компьютере?
Рассмотрим подробнее, какие программы мониторинга для Linux-подобных систем есть в открытом доступе, и какие из них лучше всего подходят для майнинга.
Обзор популярных утилит для мониторинга железа в Linux
В интернете можно найти множество бесплатных программ для мониторинга датчиков компьютера под linux, среди которых:
- HTOP — одно из лучших консольных приложений, мониторит и позволяет закрывать процессы нажатием кнопки F9 или k (kill), показывает загрузку CPU, RAM, виртуальную память. Не показывает информации о сети, GPU и температуре CPU;
- Glances — программа работает удаленно через SSH, позволяет отслеживать запущенные процессы, загрузку CPU, RAM, виртуальную память, работу сети, операции I/O. Из-за того, что Glances написана на Python, потребляет слишком много ресурсов процессора, нет информации о GPU и температуре CPU;
- Conky — красивая оболочка с инфо о CPU (в том числе загрузке и температуре), RAM, SWAP, HDD. Нет данных о видеокартах;
- Stacer — утилита для мониторинга и очистки системы, работы с меню автозагрузки и службами. Нет информации о GPU;
Меню автоматической очистки системы в Stacer:
- netdata — мониторинг через браузер состояния CPU, RAM, SWAP, HDD. Нет SSH, данных о видеокартах;
- KsysGuard — мониторинг и работа с процессами, вывод инфо о состоянии CPU, RAM, загрузке системы;
- GNOME System Monitor — мониторинг CPU, RAM, SWAP, HDD, сети. Нет SSH, данных о видеокартах;
- GkrellM — виджет с информацией о CPU, его напряжении и вентиляторах, HDD. Нет данных о видеокартах;
- CoreFreq — очень подробная информация только о процессоре;
- nmon — мониторинг CPU, RAM, SWAP, HDD, сети. Нет SSH, данных о видеокартах;
- vtop — урезанная копия htop;
- atop — мониторинг процессов, CPU, RAM, SWAP, HDD, сети. Нет данных о GPU;
- lm-sensors — позволяет отслеживать загрузку и температуру процессора, скорость вентилятора кулера CPU. В дополнение к ней желательно использовать hddtemp и psensor;
- Psensor — утилита, отображающая информацию о температуре материнской платы и процессора (и его загрузке), старых видеокарт AMD (в которых используется ATI драйвер Catalyst), HDD, вентиляторах;
- Hardinfo — хорошая утилита для мониторинга железа под Linux, но безнадежно устаревшая (последний релиз — от 2009 года);
- Open Hardware Monitor — утилита, предоставляющая информацию о материнской плате, напряжении на процессоре, его температуре, вентиляторах, HDD, а также о видеокартах AMD, Nvidia. Программа изначально предназначена для Windows, для работы в Linux требуется Mono with WinForms и танцы с бубном. Последняя версия выпущена в ноябре 2016 года, поэтому на новом железе работоспособность не гарантируется.
Наиболее оптимальные из них для мониторинга, это: lm-sensors, Psensor, Hardinfo.
Среди этих программ нет утилит, предоставляющих данные о состоянии графической подсистемы компьютера.
Для видеокарт можно использовать следующие утилиты:
Рассмотрим подробнее порядок установки и использования для майнинга лучших из этих приложений на рабочей станции под управлением операционной системы xubuntu 16.04.
Изучение информации об уставленном аппаратном обеспечении утилитами lm-sensors и psensor
Для проверки состояния сенсоров компьютера можно использовать утилиту lm-sensors, которая устанавливается командой:
Проверка работоспособности утилиты lm-sensors осуществляется в терминале командой:
В результате ее выполнения появится информация о материнской плате, ядре установленной системы, процессоре. Кроме того, lm-sensors предложит провести сканирование на предмет наличия других сенсоров в системе:
При положительном ответе на этот вопрос (необходимо нажать латинскую букву «y» и ввод) появится информация о дополнительных сенсорах, обнаруженных в системе и будет предложено провести проверку наличия сенсоров в чипах устройств ввода-вывода:
Далее программа последовательно предложит провести сканирование интерфейсов IPMI (интеллектуальный интерфейс управления платформой), порты ISA, а также адаптеров I2C/SMBus, сенсоров процессора и других устройств. На все эти предложения можно отвечать да. Сканирование может занять несколько десятков минут. По его завершению появится информация такого вида:
Здесь lm-sensors предлагает записать данные о доступных сенсорах в файл etc/modules. Проще всего согласиться с предложением модифицировать этот файл.
Теперь, при вводе команды:
будет отображаться текущая информация от сенсоров GPU и CPU:
Для более полного вывода информации об установленном железе, включая температуру жесткого диска/SSD, нужно доставить утилиты hddtemp и psensor, которые устанавливаются командой:
Теперь уже можно запустить GUI-утилиту psensor через пункт «Система» в меню запуска (Whisker) рабочего стола xubuntu.
Работающая psensor предоставляет пользователю довольно полную информацию о температуре устройств, скорости вращения кулеров, загрузке процессора, свободной памяти и температуре накопителя:
Эту утилиту при желании можно вывести на панель с помощью подменю Система — Psensor — правая кнопка мыши — добавить на панель.
Там же можно выбрать, какие сенсоры будут использоваться, а также добавить эту программу в автозапуск.
Кроме того, Psensor позволяет включить отображение параметров, которые ею мониторятся в виде диаграммы (нужно активировать соответствующую строку справа в окне программы).
Для удаленного мониторинга компьютера с помощью Psensor на удаленном компьютере устанавливают ее сервер командой:
sudo apt-get install psensor-server
затем его запускают:
а на рабочей станции, откуда проводится мониторинг, используют команду:
К сожалению, в Psensor не отображается информация о текущем состоянии видеокарт.
Для отображения частоты ядра и памяти видеокарт в ОС типа ubuntu, температуры и частоты вращения вентилей, а также их разгона можно применять утилиты Radeon-profile (AMD), TuxClocker (nvidia, amd), GreenWithEnvy (nvidia), WattmanGTK (АМД).
Утилиты TuxClocker, GreenWithEnvy корректно работают с видеокартами nvidia. К сожалению, TuxClocker не всегда работает корректно с АМД. Для AMD лучше всего использовать Radeon-profile.
Работа с программой GreenWithEnvy для видеокарт nvidia
Работа с программой GreenWithEnvy проста и интуитивно понятна. Для ее установки инсталлируют библиотеки:
а потом выполняют команды:
Запуск GreenWithEnvy производится командой:
Скриншот утилиты GreenWithEnvy:
Работа с утилитой TuxClocker для видеокарт amd/nvidia в Ubuntu
Для работы с видеокартами nvidia в ubuntu утилите Tuxclocker требуется наличие установленных пакетов nvidia-smi, nvidia-settings, libxnvctrl и headers qt5base, x11extras. Для видеокарт amd требуется наличие библиотек libdrm и headers. Обычно все эти пакеты уже стоят в системе с запущенным майнингом.
Для компиляции и установки утилиты Tuxclocker для мониторинга состояния видеокарт nvidia, в терминале по очереди выполняют команды:
Программа Tuxclocker установится в папку /opt/tuxclocker/bin.
При появлении ошибок вида:
нужно установить пакеты qt5 и libqt5x11extras5-dev командой:
Для видеокарт AMD в терминале последовательно выполняют команды:
Для полноценного использования, утилиту tuxclocker нужно запускать от имени root командой:
Окна работающей утилиты tuxclocker:
Для полноценной работы с видеокартами АМД нужно включить в драйвере утилиту Radeon OverDrive. Это делается путем добавления в загрузчик ядра (не ниже версии 4.17) опции amdgpu.ppfeaturemask=0xffffffff (или amdgpu.ppfeaturemask=0xfffd7fff).
Для этого корректируют файл /etc/default/grub, а именно:
нужно привести к виду:
Для корректировки /etc/default/grub используют:
изменяют содержимое файла /etc/default/grub и обновляют grub командой:
В данном случае при корректировке опций загрузки ubuntu используются следующие параметры работы ядра (kernel), отвечающие за видеорежим:
- amdgpu.vm_fragment_size=9 — включение поддержки больших страниц памяти (аналог compute mode);
- nomodeset — настройка видеокарт происходит в ядре ,а не драйверах. Драйвера видеокарт не запускаются до полного запуска системы. Для майнинга этот режим применять нет смысла;
- quiet — при загрузке не отображаются сообщения об активации драйверов и прочей служебной информации. Для более полного контроля над компьютером и изучения процесса загрузки можно вообще отключать эту опцию;
- splash — режим, при котором запускается экран загрузки «глаз» и основные компоненты системы загружаются в фоновом режиме.
- quiet splash — тихое отображение заставки.
Параметры radeon.si_support=0 amdgpu.si_support=1 включают поддержку драйвера amdgpu для видеокарт amd вместо устаревшего драйвера radeon.
Параметр amdgpu.dpm=1 добавляет поддержку режима DPM (dynamic power management) для видеокарт AMD.
Параметр amdgpu.ppfeaturemask=0xffffffff» используется для видеокарт AMD Polaris и Vega для включения OverDrive и разблокирования возможности полноценной работы с вольтажом, частотой ядра и памяти таких видеокарт. Для Gpu Navi (RX5700) можно попробовать использовать параметр amdgpu.ppfeaturemask=0xfffd7fff.
Для проверки корректности параметров загрузки применяют команду:
Должно отображаться значение 0xffffffff.
Рассмотрим подробнее работу с утилитой WattmanGTK, которая лучше всего работает с видеокартами AMD.
Установка и работа с утилитой Wattmangtk для мониторинга и разгона видеокарт AMD в Ubuntu
Программа WattmanGTK — это эмулятор Wattman (для Windows), работающий в linux с ядром 4.8+ (Ubuntu 16.10 и выше). Программа работает с AMDGPU kernel driver, имеет следующие возможности:
- показывает состояние памяти, GPU P-states, включая вольтаж;
- может мониторить сигналы сенсоров видеокарт;
- поддерживает работу со скриптами разгона, а также позволяет изменять параметры работы GPU прямо из графического интерфейса;
- поддерживает риги с несколькими видеокартами.
К сожалению, пока WattmanGTK не поддерживает управление вентиляторами кулеров видеокарт.
Для работы WattmanGTK нужно установить необходимые пакеты окружения командой (вводят сразу все строки):
Установка производится из терминала, запущенного в папке со скачанной программой WattmanGTK командами:
Для корректной работы WattmanGTK с видеокартами АМД также нужно скорректировать файл /etc/default/grub, а именно:
строку GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash»
нужно привести к виду:
и обновить grub командой:
и перезагрузить компьютер.
К сожалению, WattmanGTK не работает в ubuntu 16.04, поэтому для такой ОС для мониторинга видеокарт АМД лучше использовать программу Radeon-profile или утилиту rocm-smi из пакета драйверов rocm.
Контроль состояния видеокарт AMD с помощью утилиты rocm-smi
rocm-smi (ROC System Management Interface) — это утилита, входящая в пакет драйверов rocm.
Ее можно поставить отдельно командами:
Программа по умолчанию установится в папку /opt/rocm/bin/rocm-smi.
По умолчанию rocm-smi показывает следующую информацию:
rocm-smi может показывать полную информацию о состоянии GPU AMD (версия Bios, стейты, вольтаж и много другого) с помощью команды:
Полный список команд rocm-smi доступен на github или в терминале после выполнения команды:
Много возможностей предоставляет программа Radeon-profile.
Работа с утилитой Radeon-profile для видеокарт АМД
Radeon-profile в Ubuntu требует наличия дополнительных пакетов, которые устанавливают командой:
Установка Radeon-profile делается командами:
Запуск программы Radeon-profile производят через меню системы:
Скриншот работающей утилиты Radeon-profile:
Заключение
Для мониторинга состояния видеокарт AMD в графическом режиме удобнее всего использовать программу Radeon-profile. Она предоставляет богатую информацию о видеокартах, установленных в системе, а также о параметрах видео в ядре системы. Ее же можно использовать для разгона и даунвольтинга, как и wolfamdctrl.
Для видеокарт nvidia можно использовать Tuxclocker или GreenWithEnvy.
Для мониторинга других устройств компьютера в ubuntu можно использовать утилиту lm-sensors вместе с hddtemp и psensor.
Источник