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

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

Рекомендуемые сообщения

(изменено)

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

 

Обновлено 23.01.2014!

 

Информации об изменениях внизу.

 

Для чего это нужно:

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

 

Что нужно для запуска:

 

Необходимо настроить запуск cgminer при старте ОС, чтобы он запускался автоматически, пример настройки под спойлером.

Используется стандартный "планировщик задач".

 

 

 

post-2493-0-97839700-1387232050_thumb.jpg

 

 

 

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

Пример запуска под спойлером.

 

 

 

Запустить задачу по рассписанию можно через стандартный "планировщик задач" он имеется как в Windows 7 так и Windows 8

Вот пример настройки, подробно по каждому шагу.

Для начала необходимо открыть панель "управления компьютером" - Правой кнопкой мыши на иконку "Компьютер" (на рабочем столе)

Выбрать - "библиотека планировщика задач".

post-2493-0-79507400-1387232034_thumb.jpg

post-2493-0-87064400-1387232046_thumb.jpg

post-2493-0-49397100-1387232047_thumb.jpg

post-2493-0-89861600-1387232047_thumb.jpg

post-2493-0-31335400-1387232048_thumb.jpg

post-2493-0-69190700-1387232048_thumb.jpg

post-2493-0-09725700-1387232049_thumb.jpg

post-2493-0-65847700-1387232049_thumb.jpg

post-2493-0-07415400-1387232050_thumb.jpg

post-2493-0-57759900-1387232050_thumb.jpg

После этого, задача будет создана, и будет запускаться каждые 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 адрес по которому доступен ваш сайт, где находятся данные файлы.

ну и включить выгрузку статистики.

Выглядит это вот так:

 

post-2493-0-58701600-1390507038_thumb.jpg

 

Рамер таблиц там заточен для моей мобилы Nokia Lumia 925 если у вас пропорции экрана другие, поковыряйте файл status.php и укажите свои размеры таблиц.

 

Скачать с rghost.ru

Изменено пользователем hanymi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

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

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

Изменено пользователем SergeyNNN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

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

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

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

post-2493-0-50198900-1387563318_thumb.jpg

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

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

Изменено пользователем hanymi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

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

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

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

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

Изменено пользователем Romdi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

attachicon.gif33432.JPG

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

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

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

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

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

Изменено пользователем Саня

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)
П.С Сидиром подпитан к 4ому немайнищему компу.

 

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

 

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

 

 

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

 

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

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

Изменено пользователем SergeyNNN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

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

Изменено пользователем Саня

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

cgminer error code 1

ERR: socket connect(127.0.0.1,4028) failed

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

set cdate=%date:~-10%
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

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

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

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

cgminer error code 1

ERR: socket connect(127.0.0.1,4028) failed

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

Извиняюсь. В батнике перед параметром --api-listen пробел пропустил :) Теперь всё функционирует. Спасибо автору! :)

Изменено пользователем Maxoptimist

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что то у меня скрипт не может запуститься и убить процесс cgminer и ребутнуть комп. Вот в таком состоянии всё зависает и никуда не движется. Как сделать, чтобы комп перезагружался? В настройках стоит "reboot". Пока майнер работает, скрипт запускается, проверяет, пишет логи. А как проблема какая, так толку от него никакого :( Помогите люди добрые:(

post-2605-0-78854000-1389010315_thumb.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так. Вот как раз возникла подходящая ситуёвина для теста: начали смущать неровные скорости работы карточек, решил дельнуть все бинарники cgminer (как один из вариков проблемы)  и рестартануть из консоли - и вот она идеальная ситуация для вашего скрипта. Система в ауте оказалась, карты все повырубало, драйвера отвалились, картинка перестала вообще выводится, в общем то, что надо...подождал 10 минут...и ничего не произошло...вооот...а так хотелось авторебута. На самом деле для меня это основная проблема - если что-то тормозит cgminer резко, когда карты пыхтят во всю, то отваливаются дрова. Ладно, когда рядом, а когда нет, то система во всю жрет электричество ради забавы. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так. Вот как раз возникла подходящая ситуёвина для теста: начали смущать неровные скорости работы карточек, решил дельнуть все бинарники cgminer (как один из вариков проблемы)  и рестартануть из консоли - и вот она идеальная ситуация для вашего скрипта. Система в ауте оказалась, карты все повырубало, драйвера отвалились, картинка перестала вообще выводится, в общем то, что надо...подождал 10 минут...и ничего не произошло...вооот...а так хотелось авторебута. На самом деле для меня это основная проблема - если что-то тормозит cgminer резко, когда карты пыхтят во всю, то отваливаются дрова. Ладно, когда рядом, а когда нет, то система во всю жрет электричество ради забавы. 

У меня тоже карта отваливается одна бывает. Раз в часов 12, бывает чаще, бывает реже, а скрипт комп в ребут не отсылает, все останавливается как в моем посте выше на картинке.:( Сейчас настроил CGWatcher, посмотрим как будет работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×