Заказчик - VFX студия. Они занимаются обработкой видео, дополняя его спецэффектами и улучшениями. Такие задачи крайне ресурсоёмкие, поэтому обычно для обработки используются распределенные вычисления. А при таких условиях невозможно выдерживать сроки, без отслеживания состояния рабочих станций.
Также нужно было развернуть специфичный для сферы таск трекер, который напрямую интегрируется с рабочими инструментами и позволяет прозрачно и без лишних переключений вести задачи команды от драфта до продакшена.
Задача:
Заказчику необходима система мониторинга, которая позволила бы собирать данные о состоянии рабочих станций - температуре, состоянии дисков, энергопотреблении, использовании разделов дисков, процессора и памяти.
Итоги:
Развернут мониторинг на базе Zabbix
Добавлены все критичные для заказчика метрики, которые не поставляются в стандартной установке мониторинга.
Настроены нотификации о событиях, с разделением на уровни критичности.
Развернута система Kitsu, настроены резервное копирование и внешний доступ.
Все системы развертывались на мощностях заказчика (VM на рабочем месте в офисе), что добавило дополнительные вызовы в решении задачи.
Период работы:
07.2024-08.2024
Команда:
Junior DevOps инженер
Руководитель студии
Инструменты:
Docker
Kitsu
Zabbix
Open hardware monitor
Nvidia SMI console
Решение:
На старте проекта было принято решение не пытаться развертывать системы на ОС Windows, предвидя сложность развертывания и дальнейшей поддержки. За основу взяли виртуальную машину с Ubuntu Server.
Было принято решение развертывать сервисы в docker, т.к. шаблоны для запуска были доступны у обоих проектов.
После нескольких попыток запустить Kitsu на публично доступном docker-compose файле - задача стала несколько сложнее и сам проект потребовал небольшого рефакторинга и фиксации версий приложений. Рефакторинг увенчался успехом, система была сдана в работу и в ней завели первый проект.
При планировании сбора метрик с рабочих станций сразу было понятно, что задача будет сложной, т.к. обработка видео производится на GPU, а сбор метрик с нескольких GPU (или хотя бы с одного GPU в удобном виде) отсутствовал в шаблонах, которые были “из коробки” или найдены в публичном доступе.
Также задачу усложняло то, что для сбора метрик с NVMe дисков требовались отдельно установленные утилиты.
Для сбора метрик были использованы Libre Hardware Monitor в связке с Smartmon Tools. После того, как нужные метрики о состоянии GPU были найдены в WMI, было принято решение написать свой шаблон сбора метрик с этих устройств, так как другие шаблоны были неэффективны - они постоянно запускали утилиту nvidia smi. Получение данных напрямую через WMI было в этом случае наиболее привлекательным.
Для сбора метрик была выбрана схема с активным zabbix agent 2, так как часть рабочих станций была подключена по VPN.
После того, как всё было настроено, мы провели презентацию для заказчика и рассказали о том, как устроена система, про кастомизацию, постройку дашбордов под потребности и оперативный поиск проблем на рабочих станциях по накопленным метрикам.
“
Очень приятно было выяснить, что системы из скучного и далекого от творчества IT могут быть полезны и востребованы в сфере производства видеоконтента.
Антон Деменев, Руководитель DevOps направления Software Cats
Обсудить проект_
Если у вас есть ИТ-проблема, оставьте ваши контакты, и мы поможем составить план ее решения. Обещаем не слать спам.