Перейти к содержимому

YoBit.Net

Фотография

контроль стабильной работы фермы на cgminer


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 86

#1 hanymi

hanymi

    Пользователь

  • Пользователи
  • PipPip
  • 467 сообщений
  • ГородДзержинск

Отправлено 17 December 2013 - 02:06

В этой теме хочу описать пример небольшого скрипта, который будет мониторить состояние работы фермы на cgminer под ОС Windows, хотя немного доработав, можно под любую ОС запустить.
 
Обновлено 23.01.2014!
 
Информации об изменениях внизу.

Для чего это нужно:
  • Контроль работы cgminer (логирование работы и ошибок)
  • Действия по перезапуску cgminer или рестарта ОС, в случае отказа работы, зависания, отвала видеодрайвера
  • Действия по перезапуску или рестарта ОС в случае нестабильной работы cgminer
В основном скрипт решает все проблемы, которые могут возникнуть при работающей ОС, разве что останется каким то другим способом организовать контроль стабильной работы сети и электропитания (это уже другая тема).
 
Что нужно для запуска:
 
Необходимо настроить запуск cgminer при старте ОС, чтобы он запускался автоматически, пример настройки под спойлером.
Используется стандартный "планировщик задач".
 
Скрытый текст

 
Так же необходимо запустить скрипт проверки run_check.bat через тот же планировщик задач, каждые 5 минут.
Пример запуска под спойлером.

Скрытый текст

 
До запуска run_check.bat, необходимо настроить запуск cgminer с параметром  --api-listen
Пример:
 
@echo off
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1
set cdate=%date:~-10%
ping 127.0.0.1 -n 1 -w 10000
C:\cgminer-3.3.1-windows\cgminer.exe --api-listen -c C:\path\start.conf 2>>C:\path\logs\log_%cdate%.txt
В моем примере используется конфиг C:\path\start.conf, в вашем его может не быть, а параметры запуска могут быть указаны в строке запуска.

Далее, когда cgminer корректно настроен и запущен, нужно настроить скрипт проверки.
Извлекаем архив в C:\cgminer_check
В текстовом редакторе открываем файл check.php и смотрим раздел дополнительные настройки.
Если вас все устраивает, оставляем как есть, если нет, включаем то, что надо.
В самом файле параметры подробно описаны.
Так же выбираем тип перезапуска, это либо рестарт ОС, либо рестарт программы cgminer, крайне рекомендую рестарт ОС, это надежнее.
В директории logs вы найдете логи работы cgminer а так же логи ошибок, если они будут.
 
Как это работает:
 
Скрипт при запуске проверяет соединение с интернет, по умолчанию делает запрос на ДНС сервиса гугл, если вас это не устраивает, можно заменить на любой другой указать имя_домена или ип + порт в строке 26 файла check.php
Если соединения нет, логируется ошибка и скрипт завершает работу, мало ли (отвал сети) это мы не проверяем.
 
Если сеть есть, делает запрос статуса GPU, если процесс cgminer не запущен или завис, он логирует ошибку и запоминает предыдущее состояние ошибки, если ошибка при следующем запуске повтопяется, то выполняется действие, либо рестарт ОС, либо рестарт cgminer. (то, что вы указываете в настройках).
 
Далее читает статус GPU и проверяет "живые" они или нет, если хотя бы один CPU отвалился, делается рестарт.
В настройках можно так же проверять время последней шары и скорость майнинга CPU, можно указать при каком пороге будет срабатывать рестарт, порог ошибки, например если скорость майнинга GPU упадет ниже 20% или время последней шары было более чем 5 минут назад, что не нормально. Ошибки эти перепрооверяются дважды, если обнаружена данная ошибка, ее состояние логируется и при следующем запуске сверяется, для более точного срабатывания. Если ошибка идет повторно, выполняется рестарт.
 
В целом данный маленький скрипт, вполне обеспечивает стабильную работу фермы.
Доработать/допилить можете под свои нужды сами.
 
Обновление

  • исправил баг когда файл ребута системы не удалился и при следующих запусках скрипта, система ребуталась.
  • для удобства все настраиваемые параметры вынес в конфиг
  • добавил автоопределение версии cgminer, теперь работает корректно как на старой так и на новых, без правок.
  • добавил выгрузку статистики на сайт, чтобы удобно смотреть статус ферм с любого гаджета.
Статистика на сайте:
Нужен любой дешевый хостинг с php и mysql я для себя брал самый простой тариф на http://tcphost.net за 1$ в месяц.
От хостинга надо только одно, выгрузить туда 2 файла req.php и status.php
status.php - отображает статистику
req.php - принимает статистику от ваших ферм.
Так же надо создать базу данных mysql импортировать туда структуру таблицы которая находится в файле db.sql
После открыть оба файла req.php и status.php и прописать в них настройки соединения с вашей БД, логин, пароль, имя.
сохранить и залить на хостинг.
Открыть check.php в конфиге указать URL адрес по которому доступен ваш сайт, где находятся данные файлы.
ну и включить выгрузку статистики.
Выглядит это вот так:
 
status.JPG
 
Рамер таблиц там заточен для моей мобилы Nokia Lumia 925 если у вас пропорции экрана другие, поковыряйте файл status.php и укажите свои размеры таблиц.
 
Скачать с rghost.ru

Сообщение отредактировал hanymi: 24 January 2014 - 14:08

  • 16

#2 hanymi

hanymi

    Пользователь

  • Пользователи
  • PipPip
  • 467 сообщений
  • ГородДзержинск

Отправлено 18 December 2013 - 18:32

В архиве скрипт для версии cgminer 3.3.1 если нужно для 3.6.5 и выше, надо заменить в скрипте все записи 'MHS 1s' на 'MHS 5s' их там 4 штуки.


  • 0

#3 forward2

forward2

    Новичок

  • Пользователи
  • Pip
  • 10 сообщений

Отправлено 18 December 2013 - 23:59

Здравствуйте 

скрипт для версии cgminer 3.7.2 будет работать? 


  • 0

#4 hanymi

hanymi

    Пользователь

  • Пользователи
  • PipPip
  • 467 сообщений
  • ГородДзержинск

Отправлено 19 December 2013 - 00:48

не юзал, но думаю да.


  • 0

#5 SergeyNNN

SergeyNNN

    Пользователь

  • Неактивированные
  • PipPip
  • 244 сообщений

Отправлено 20 December 2013 - 09:12

Использую гораздо более простой прием для стабильной работы ферм. В планировщике несколько задач со стандартными командами Windows, суть которых - каждый час убивать задачу cgminer и запускать ее заново. Раз в сутки перезагружать комп.

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


Сообщение отредактировал SergeyNNN: 20 December 2013 - 09:18

  • 1

С миру по "битке", каждому айтишнику по дому на Рублевке!


#6 hanymi

hanymi

    Пользователь

  • Пользователи
  • PipPip
  • 467 сообщений
  • ГородДзержинск

Отправлено 20 December 2013 - 21:17

Тоже самое я юзал раньше, рестарт в сутки и каждый час перезапуск =)

Потом сделал эту фигулину и в рестартах отпала необходимость, да и для pplns по моему лучше, когда ферма майнить без перерыва, чтобы не отключаться на раундах.

Лично для себя я сделал онлайн мониторинг для своей мобилы, именно с уведомлением по СМС в проблемах, вот тут можно наблюдать.

33432.JPG

Просто немного допиленный (вот этот скрипт).

Да и рестарты майнера не спасают от того, если у вас драйвер на одном из таких рестартов отвалится, час будет простоя с 50% скоростью. У меня же ферма при любой проблеме через 5-10 минут уйдет сама в рестарт.


Сообщение отредактировал hanymi: 20 December 2013 - 21:17

  • 0

#7 belka

belka

    Пользователь

  • Пользователи
  • PipPip
  • 58 сообщений

Отправлено 21 December 2013 - 02:17


Чуть позже сделаю небольшое дополнение, как сделать так, чтобы смотреть состояние и скорость работы ферм в любом браузере, на любом устройстве (мобильники и т.д.) выгрузка статистики работы на сайт.

 

Спасибо, интересно. Ждем продолжения.


  • 0

#8 Romdi

Romdi

    Пользователь

  • Пользователи
  • PipPip
  • 277 сообщений

Отправлено 21 December 2013 - 03:22

Отличная работа! 

Готов был кинуть пару лайтов на адрес ТС, но к сожалению, вышеуказанный способ не подходит для меня, потому как использую Gui

Добавьте адрес для доната, на всякий случай. 

Есть какой-нибудь способ мониторить не состояние cgminer, а состояние видеокарт, и в случае отвала - перезапуск процесса\перезагрузки?


Сообщение отредактировал Romdi: 21 December 2013 - 03:23

  • 0

#9 Muhl

Muhl

    Пользователь

  • Пользователи
  • PipPip
  • 71 сообщений

Отправлено 21 December 2013 - 03:58

Автору респект. полезный скриптик. сча поковыряем. 

Кстати тут кто писал про BSOD - если есть деньги можно тупо  купить смс розетку. если денег нет и руки прямые- собрать из мобилки переключатель. если нет ни того ни другого - грустьпичаль 


  • 0

#10 xoox

xoox

    Пользователь

  • Пользователи
  • PipPip
  • 247 сообщений

Отправлено 21 December 2013 - 22:52

Годно, спасибо!


  • 0

#11 belka

belka

    Пользователь

  • Пользователи
  • PipPip
  • 58 сообщений

Отправлено 24 December 2013 - 08:45

Тоже самое я юзал раньше, рестарт в сутки и каждый час перезапуск =)

Потом сделал эту фигулину и в рестартах отпала необходимость, да и для pplns по моему лучше, когда ферма майнить без перерыва, чтобы не отключаться на раундах.

Лично для себя я сделал онлайн мониторинг для своей мобилы, именно с уведомлением по СМС в проблемах, вот тут можно наблюдать.

attachicon.gif33432.JPG

Просто немного допиленный (вот этот скрипт).

Да и рестарты майнера не спасают от того, если у вас драйвер на одном из таких рестартов отвалится, час будет простоя с 50% скоростью. У меня же ферма при любой проблеме через 5-10 минут уйдет сама в рестарт.

хотелось бы продольжения, сорри за наглость)


  • 0

#12 Саня

Саня

    Пользователь

  • Пользователи
  • PipPip
  • 62 сообщений

Отправлено 24 December 2013 - 09:39

Автору респект. полезный скриптик. сча поковыряем. 

Кстати тут кто писал про BSOD - если есть деньги можно тупо  купить смс розетку. если денег нет и руки прямые- собрать из мобилки переключатель. если нет ни того ни другого - грустьпичаль 

У меня более извращенный вариант удаленной перезагрузки, подпоял на  сидиром минуса ресетов 3 ферм, сделал каркас чтобы при открытии сидирома задвижка упиралась в железный каркас и минуса замыкались с плюсами, управляетса всё тимвивером, почти год работы нареканий нету  :)

П.С Сидиром подпитан к 4ому немайнищему компу.


Сообщение отредактировал Саня: 24 December 2013 - 09:40

  • 3

#13 Shambler

Shambler

    Продвинутый пользователь

  • Bits.media Team
  • PipPipPip
  • 2190 сообщений
  • ГородРостов-на-Дону

Отправлено 24 December 2013 - 09:49

В любом случае - отличная штука. Зеленю, как говорят на ЯПе.

 

если у вас система настолько нестабильна что сваливается в синий экран, то это повод допиливать конфиги а не лепить приблуды для аппаратной перезагрузки.
  • 0

Прежде чем задавать вопрос прочти ТЕМУ ДЛЯ НОВИЧКОВ


#14 SergeyNNN

SergeyNNN

    Пользователь

  • Неактивированные
  • PipPip
  • 244 сообщений

Отправлено 24 December 2013 - 10:06

П.С Сидиром подпитан к 4ому немайнищему компу.

 

Кросаведз ))))

 

А как оперативно узнаешь, что все кирдыкнулось и надо ресетить?


 

 

если у вас система настолько нестабильна что сваливается в синий экран

 

Когда суки-соседи используют сварочный аппарат без трансформатора, накидывая его просто на общие провода, и напруга на всей линии  скачет с просадками до 150 вольт, то никакой стабилизатор от синего экрана не спасает....

p.s.  а конфиги уже давно все вылизаны....


Сообщение отредактировал SergeyNNN: 24 December 2013 - 10:08

  • 0

С миру по "битке", каждому айтишнику по дому на Рублевке!


#15 Саня

Саня

    Пользователь

  • Пользователи
  • PipPip
  • 62 сообщений

Отправлено 24 December 2013 - 10:44

У меня фермы на линуксе стоят, бсодов небывает, но иногда бывают очень редкие подвисоны, ферма териториально не близко и ехать в случае зависона не хотелось бы. Сначало морочился с реле и старым мобильником, пару часов поковырялся и желание отпало решил сидиром сделать  :)


Сообщение отредактировал Саня: 24 December 2013 - 10:45

  • 1

#16 Maxoptimist

Maxoptimist

    Новичок

  • Пользователи
  • Pip
  • 16 сообщений

Отправлено 02 January 2014 - 11:19

Настроил скрипт, все работает, только он постоянно перезапускает майнер, хотя майнер работает нормально. В логах пишет следующее

cgminer error code 1

ERR: socket connect(127.0.0.1,4028) failed

В чем причина может быть?


  • 0

#17 serez985

serez985

    Пользователь

  • Пользователи
  • PipPip
  • 153 сообщений
  • ГородУкраина

Отправлено 02 January 2014 - 12:12

Ну и как он будет работать на ВИН 8х64 с паролем?Никак?


  • -2

Вы кто такие?...Я Вас не звал...


#18 bestsponsor

bestsponsor

    Пользователь

  • Пользователи
  • PipPip
  • 216 сообщений

Отправлено 02 January 2014 - 18:28

Спасибо за скрипт - очень нужная штука!

Вопрос по приведенному батнику:

Для чего эта строка?

set cdate=%date:~-10%
 


  • 0

#19 BearA

BearA

    Продвинутый пользователь

  • Bits.media Team
  • PipPipPip
  • 665 сообщений
  • ГородКрасноярск

Отправлено 02 January 2014 - 18:48

Ну и как он будет работать на ВИН 8х64 с паролем?Никак?

А в чем собственно проблема?


  • 0

#20 serez985

serez985

    Пользователь

  • Пользователи
  • PipPip
  • 153 сообщений
  • ГородУкраина

Отправлено 03 January 2014 - 01:47

 

Ну и как он будет работать на ВИН 8х64 с паролем?Никак?

А в чем собственно проблема?

 

 

При рестарте ВИН  8  8.1 требуют пароль как и при включении. 


  • -3

Вы кто такие?...Я Вас не звал...





Количество пользователей, читающих эту тему: 2

0 пользователей, 1 гостей, 0 анонимных


    Google (1)