Бот (telegram) Мониторинг майнинг-серверов - HDService
Перейти к содержанию

Бот (telegram) Мониторинг майнинг-серверов

Задача:

Заказчик ставит задачу — обеспечить его майнинговую ферму системой мониторинга. Площадка для работы с мониторингом — Telegram

Заказать разработку приложений любого уровня сложности и для любых бизнес-задач можно здесь: контакты HDService

Сразу скажу, что это не про майнинг крипто-монеток, это про майнинг (добычу) полезной от проприетарного алгоритма информации. Майнеры генерируют некую информацию + guid к ней и сверяют ее с контрольными данными в БД, в случае успеха уведомляют владельца.

Система должна по запросу предоставлять информацию о:
— состояние майнинг-серверов
— скорость работы каждого из них
— средняя скорость работы всего пула
— статус и состояние базы данных
— текущие результаты

Реализация:

Стек: Python, aiogram, PostgreSQL, UbuntuServer 20.04 LTS
Срок реализации: 4 рабочих дня

Релиз #1:

Т.к. у программ-майнеров нет никакого API — источником данных служит сервер БД PostgreSQL и его содержимое. Учитывая тот факт, что в БД для каждой записи имеется tstamp, соответствующими SQL запросами выбираем из базы информацию для аналитики, агрегируем ее, и считаем по определенным формулам нужные показатели.

Релиз #2:

После реализации системы мониторинга заказчик предложил второй заказ: «Провести аудит текущей майнинговой фермы, алгоритмов и пр… и предложить рационализаторское решение направленное на увеличение скорости работы майнинг-пула».

В результате его ферма была полностью переделана — собрана облачная инфраструктура из нескольких VDS серверов (различной конфигурации — в зависимости от роли на проекте). О том что именно и как было сделано — будет отдельная история, но в двух словах:
— Скорость работы алгоритмов генерации значительно увеличилась на серверах с NWMe
— Процессы: агрегации, вычисления, выборки информации перенесены на уровень приложения СУБД PostgreSQL (в виде INNER JON), что кратно прибавило скорости обработки
— Все процессы работы кластера серверов были автоматизированы bash-скриптами, что позволило вообще не думать о процессе работы пула, а только 2 раза в неделю получать уведомления и отчеты.

Результаты пула ДО:

Скорость пула: 50 операций в сек = 129.6 млн. операций в месяц
Стоимость 1 млн. операций = 31 р 33 коп
Содержание пула: 4060 рублей в месяц

Результаты пула ПОСЛЕ:

Скорость пула: 630 операций в сек = 1.633 млрд. операций в месяц (x12.6)
Стоимость 1 млн. операций = 2 р 05 коп (x15.3)
Содержание пула: 3340 рублей в месяц (x1.2)

Как итог = экономия 20% и увеличение производительности почти в 13 раз!

Ну и, конечно же, изменился бот в телеграм — теперь он только доставляет статусы по работе пула и отчеты

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

11 − один =