---++ Предварительная информация В узлах Суперкомпьютера, а также во вспомогательном оборудовании (коммутаторах, СХД и т. п.) расположено множество всевозможных датчиков (температур CPU, скоростей вентиляторов, объёмов сетевого трафика между элементами узлов, загрузка GPU и т. п.). Каждые 15 секунд (интервал настроен по умолчанию) со всех датчиков снимаются значения и сохраняются в файле. Время хранения данных от 14 до 30 календарных дней (по умолчанию) и зависит от возможностей имеющегося оборудования и поставленных задач. Заметим здесь, что данные можно хранить годами. Файл, где хранятся данные с датчиков, организован в виде тысяч параллельных информационных "ручейков" (показаний датчиков), равномерно-дискретно текущих по временнόй трубе (длина которой задаётся в файле конфигурации (например, 14 дней): данные каждые 15 секунд (по умолчанию) поступают в трубу, проходят вдоль неё в прошлое с 15-и секундным шагом, выходят с другого конца и исчезают. Время путешествия данных по трубе — это время их жизни в файле, в течение (или в течении) которого данные могут быть считаны все целиком или в нужном диапазоне времени (но в пределах этой трубы (этого файла)). Для считывания данных можно использовать как программу Prometheus, так и другие программы, которые могут работать с такими данными. А для представления данных в нашем случае используется Grafana. Эта программа позволяет структурировать данные и представлять их в графической или табличной форме. Есть и другие возможности программы, например отображение данных с привязкой их к географических координатам. Таким образом: основное назначение Prometheus — сбор и хранение данных, а назначение Grafana — выбор нужных данных и наглядное представление этих данных в виде структурированной информации. Для мониторинга функционирования Суперкомпьютера используется Grafana. Программа вызывается по ссылке через VPN-доступ (то есть, это, вообще говоря, Веб-интерфейс): http://10.36.60.3:3000/d/kWEL_jYIk/uzly-2?orgId=1&from=now-30d&to=now&var-hostname=cn80&var-gpu=All Именно с помощью этой программы формируется страница-интерфейс с информацией, которую мы будем называть Dashboard (приборная доска). Таких "досок" может быть сколько угодно много. Их можно выбирать из меню. На каждой из них может быть сколько угодно «приборов» — панелей, в которых информация представлена в нужном виде. Сами панели можно группировать в блоки и, при необходимости, скрывать их, или, наоборот, раскрывать. |
Grafana. ПримерПредположим, нам нужно получить наглядное представление о средней за выбранный период потребляемой мощности по каждому узлу Суперкомпьютера. Это можно сделать разными способами. Но желательно, чтобы была возможность охватить одним взглядом состояние сразу всех узлов. Сделать это в виде таблицы можно, но не очень удобно. Таблица будет содержать по одной колонке на каждый узел. Если узлов 30, то это 30 колонок и одна строка. В каждой ячейке этой строки — значение мощности по данному узлу. В Grafana есть десятки других представлений такой информации. Для решения нашей задачи мы выведем информацию (как числовую, так и визуальную) в виде группы «квадратиков», каждый из которых обозначает узел и его усреднённую за выбранный период времени потребляемую мощность, как на рисунке справа. Здесь цвет квадратика соответствует энергии, потребляемой узлом. Два числа, например 67(51) обозначают номер узла и номер проекта, за которым закреплён узел, а число ниже — мощность узла в Ваттах. |
Заметим, что задача заключалась в демонстрации усреднённой потребляемой мощности за выбранный период времени. Сам же период времени можно указать с помощью интерфейса. Для этого в верхнем правом углу веб-страницы есть поле для ввода диапазона времени (с различными опциями), как на рисунке справа: |
Если же задача состоит в том, чтобы вывести не усреднённую информацию по мощности, а динамику за указанный период, то тогда можно вывести обычный график: по оси абсцисс время, по оси ординат значения мощности. Причём, интерфейс позволяет вывести один или несколько (или все) графики в одном окошке, как на рисунке справа: |