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

Тотальный контроль ферм - Linux.

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

ТС, т.е. SICK/DEAD определяет по температуре ? а если она у меня хронически ниже 52 град ?

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


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

да, именно по температуре только.  Значения sick/dead не парсятся и пока я не предумал как это сделать.   Есть идея брать отсюда atitweak --status --adapter=all (можно брать значение нагрузки), а идеально конечно сделать парсинг через API https://github.com/ckolivas/cgminer/blob/3.7/API-README 

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


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

ЯzzzЪ, не припоминаю где так криво работает. На 99% Linux как я написал, будет работать.

 

где было точно  не скажу но было (вроде кокая та пересборка slax)

ну это же не принципиальный момент )

а так молоца

зы выделили бы работу над вашим скриптом и около в отдельную тему

Изменено пользователем ЯzzzЪ

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


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

-Добавил возможность логится напрямую в директорию  /etc/bamt  где находятся конфиги майнеров.  На скрине результат, вверху IP сервера и при заходе автоматически выполняется ls, т.е. листинг файлов

Будет полезно если к примеру нужно внести  изменения в конфигурацию вручную или выполнить какие-то другие специфические команды на сервере.

По завершению SSH сессии нажать CTRL+D, потом можно вернуться в главное меню.

 

И инструкция как добавить свой майнер, для примера возьму YACminer (форк cgminer):

1. Скопировать готовый или скомпилировать в папке /opt/miners

2. Зайти в /opt/miners/YACminer и переименовать yacminer в cgminer, проверить наличие аттрибута исполнения "x", если нет, то  chmod +x cgminer

3. Переименовать /opt/miners/YACminer в /opt/miners/custom

4. Конфигурационный файл майнера положить в /etc/bamt/custom.conf

5. Запустить скрипт minessh, выбрать пункт "Change mining software..", выбрать сервер и в следующем меню выбрать майнер - "custom"

6. Автоматически произойдет смена майнера на yacminer и рестартанется майнинг.

 

Таким же образом можно добавить еще один майнер custom1, соответсвенно названия файлов должны содержать 1, т.е. custom1, custom1.conf, но cgminer

post-13621-0-24425700-1396048523_thumb.png

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


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

 

Я бы попользовался, но есть препятствующие моменты:

1. Безпарольный SSH это конечно, абзац. Надо сделать как принято - с паролем.

2. Из 3-х скриншотов статистикой можно назвать только 3-й - https://forum.bits.media/uploads/monthly_03_2014/post-13621-0-82899600-1395590309.png

а 1-й только тупо транслирует CGminer - зачем? Нужны именно статистические данные, и если по ним видим что-то не так - заходим по ssh и разбираемся.

3. По описанию все заточено по BAMT, мне бы надо под RHEL

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


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

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

2. Статистикой в реальном режиме можно сделать и то что вы показали.  Это уже просили, наверное добавлю как дополнительную опцию. Для меня полная статистика cgminer тоже очень полезна.

3. Сделано с упором что майнинг сервер работает на BAMT, а если будет на чем-то другом, тогда нужно менять пути к конфигам в скрипте,  что можно сделать через быструю замену в тексте.

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


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

Ок, тогда пробую!

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


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

Обновил код,  теперь статус карт парсится через API, т.е. распознается Dead/Sick напрямую и выполняется coldreboot.  Для этого пришлось добавить python скрипт, который выполняет запрос к API. Слегка адаптировать python скрипт помог человек с btcsec.com. Ничего устанавливать дополнительно не нужно, в BAMT имеется поддержка python в дефолтной установке.

Единственное условие, в конфиге cgminer должны присутствовать строки

"api-allow" : "W:127.0.0.1",
"api-listen" : true

Чтобы разрешался запрос к API с localhost.

 

Да и кстати, про логи ничего ранее не писал. Все логи ребутов пишутся в /etc/bamt/autoRebooter.log в таком формате (привел все 4 варианта срабатывания)

03-27-2014  17:00:11 up  7:19 card number 0 has stopped, its current temp is 17, coldrebooting
03-28-2014  20:40:12 up  4:55 viewgpu command failed to run, coldrebooting
03-29-2014  18:42:01 up 21:26 card number 2 is Dead , coldrebooting
03-29-2014  18:42:01 up 21:26 card number 3 is Sick , coldrebooting

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

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


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

 

И напрасно! Уже десять минут долбаюсь, чтобы скачать эти два README.md и mine.sh - и каждый раз они скачиваются в html-формате!

Что мне, потом целый день чистить их от тегов? :bad:

Пробовал и фоксом, и вгетом - пофиг...

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


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

интегрируй с cgmon плиз

аналог cgwacher под никсы

на битталке тема с ссылками и описанием

очень интересная штука

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


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

 

Прямую ссылку c файлообменника убрал,

 

И напрасно! Уже десять минут долбаюсь, чтобы скачать эти два README.md и mine.sh - и каждый раз они скачиваются в html-формате!

Что мне, потом целый день чистить их от тегов? :bad:

Пробовал и фоксом, и вгетом - пофиг...

 

Справа есть кнопка "Download ZIP".   Или так можно

git clone https://github.com/Demontager/minessh.git

itraxe, там  через GUI управляется, совсем другой подход. Интеграция не получится, это все равно что с нуля писать.

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

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


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

Идею понял бро

там код открытый

 

допиливай оттуда использую функционал

оч ждем )))

 

дай свой скайп плиз

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


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

Бро

 

сделай функцию одного пасса

 

допустим я в файл ввожу 1 пароль и скрипт его юзает на все серваки

 

а то руками вводить пасс каждый раз это дрочка )))

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


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

Не смог разобраться с настройкой пулов:

1) В этой длинной строке, начинающейся с cat << - что конкретно нужно менять и на что?

Например, у меня на разных фермах конфиги майнеров называются по разному и находятся в разных каталогах.

2) Ниже строки, начинающейся с "pools", стоит два блока определений "url/user/pass" - почему именно два, а не три или пять, с чем это связано?

 

Раз так, в связи с этим есть предложение: усовершенствовать блок определений пулов, разбив его на два -

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

- остальное вроде ssh root@$host 'cat - > /tmp/pool.tmp && sed -n "/]/{:a;n;/}/b;p;ba}" и прочего бла-бла-бла, которое никогда не меняется, вынести в программный блок, т.е. за ***Configuration END***

Ну и первое втягивать во второе, как водится, по include.

 

При такой структуре и юзер меньше напартачит при настройке.

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

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


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

Предложение учел и сделал

1) Эту длинную строчку убрал вниз и максимально упростил секцию для конфигурации. Менять нужно только то, что после "pools"
2) Сделал также описание что менять. А добавить можно сколько угодно пулов, два только в виде примера.

По поводу конфигов майнеров. Если их пути отличаются от тех, что в стандартной установке BAMT/SMOS, смена пулов не отработает.

В скором времени планирую адаптировать скрипт под PIMP Debian 64bit mining OS, там скорей всего сделаю уже  переменные, где можно будет задать свои пути к конфигам майнеров.

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

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


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

 

Хех! Веселый ты парень, однако! :) Я-то для чего просил перенести эту галиматью в программный блок, за , т.е. за ***Configuration END***?

ssh root@$host 'cat - > /tmp/pool.tmp && sed -n "/]/{:a;n;/}/b;p;ba}" и прочего бла-бла-бла, которое никогда не меняется, вынести в программный блок, т.е. за ***Configuration END***

 

Чтобы шаловливые ручки юзера не заходили в программный сегмент и ничего там не меняли.

А ты оставил в нем те же пути, да в таком виде, что извиняюсь, можно сломать кое-что, пока разберешься :)

 

В-общем - пока фальш-старт, жду, пока доработаешь.

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

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


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

Эх, портосик, забавный вы тоже. Вы хоть изменения смотрели ? Что находится сейчас за Configuration END ?

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


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

А как же! Вот смотрю файл mine.sh от 31/03/2014 00:26 - правильно?

И вижу до боли знакомые бамтовые  путя:

...../etc/bamt/cgminer.conf > /tmp/cgminer.conf.tmp \.............. /etc/bamt/cgminer.conf && echo "}"  /bamt/cgminer.conf \.........

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

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

Не знаю, может я плохо объясняю свою просьбу, и ты меня не понимаешь. Кстати, мой ник пишется с большой, как и твой, а то как-то невежливо, что ли...

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


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

Portos

как я понял предлагаете вынести

в переменую

на вроде

xxx=bamt/cgminer.conf

и далее использовать в виде

...../etc/$xxx> /tmp/cgminer.conf.tmp \.............. /etc/$xxx && echo "}"  /$xxx \.........

 ?

 

или делать под каждый вид линуха (блин это ад) спецеально заточеную версию скрипта

Изменено пользователем ЯzzzЪ

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


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

А как же! Вот смотрю файл mine.sh от 31/03/2014 00:26 - правильно?

И вижу до боли знакомые бамтовые  путя:

...../etc/bamt/cgminer.conf > /tmp/cgminer.conf.tmp \.............. /etc/bamt/cgminer.conf && echo "}"  /bamt/cgminer.conf \.........

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

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

Не знаю, может я плохо объясняю свою просьбу, и ты меня не понимаешь. Кстати, мой ник пишется с большой, как и твой, а то как-то невежливо, что ли...

Шла речь о том, чтобы разделить програмный код, а не добавить переменные. Все пользовательские переменные я отделил и вынес вверх за Configuration END. Когда адаптирую под PIMP, тогда и добавятся еще пользовательские вроде cgminer_conf="путь_к_cgminer.conf" и др.

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

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


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

 

Соврешенно верно! :)

 

 

Шла речь о том, чтобы разделить програмный код, а не добавить переменные.

 

 

Тоже верно! :) Но, разделяя таким образом программный код от блока объявлений, неизбежно (это же очевидно!) приходишь к тому, что для этого нужно  сделать то, о чем сказал  ЯzzzЪ - завести в блоке объявлений переменную(е).

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

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


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

Тоже верно! :) Но, разделяя таким образом программный код от блока объявлений, неизбежно (это же очевидно!) приходишь к тому, что для этого нужно  сделать то, о чем сказал  ЯzzzЪ - завести в блоке объявлений переменную(е).

 

все это так

но можно и по другому на вскидку к примеру

при первом запуске от root(a) создается вполне определенный каталог

к примеру в '/opt'

c необходимыми файлами - настройками и дальше используются они (эти файлы - настройки)

при каждом следующем запуске проверяются именно наличие этих файлов и начинается их эксплуатация

если их нет то это как бы это снова первый запуск

 

или еще к примеру ... э пусть лучше автор решает как ему удобнее

в общем масса вариантов 

Изменено пользователем ЯzzzЪ

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


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

при первом запуске от root(a) создается вполне в определенный каталог

к примеру в '/opt'

Автоматика может и удобнее, но я предпочитаю все делать сам, чтобы понять, что происходит

 

пусть лучше автор решает как ему удобнее

 

Вот уж нет! Именно с таким подходом получаются плохие программы :)

Именно юзер должен решать, какой должна быть программа в настройке и работе.

А автор что - он один раз сделал и забыл, а пользователям потом все время мучаться.

В-общем, автор должен идти навстречу пользователям, а не наоборот.

Если, конечно, хочет, чтобы его программа была востребована.

Думаю, я здесь не сказал ничего нового ;)

 

-----------------------

Решил, не дожидаясь милости афтора, самому перебить бамтовские пути.

Перебивал-перебивал - да их в программном сегменте целая куча!!

С точки зрения структурного программирования это неправильно.

Если есть, например, константа /etc/bamt/cgminer.conf, то ее где-то надо объявить всего один раз, а дальше тиражировать по тексту как константу.

А так что получается - у меня конфиг майнера находится не в /etc/bamt/, а скажем, в /home/worker - так что, я должен ползать по всему тексту и стопятцот раз менять шило на мыло???

Нефиг больше делать. К тому же вижу, что этот sshminer для своей работы использует root - нееее, на это я пойтить не могу!

 

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

Пока автор будет его приводить в нормальный вид (если будет), посмотрю-ка лучшие другие контроллеры.

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

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


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

Пользуюсь все нравиться)))

 

жду следующих добавлений )

 

Если у меня 5 файлов с разными ип

 

Я могу их всех в крон добавиться , и все будет корретно мониториться ?

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


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

itraxe, да будет корретно все. Скрипт с параметром cron, проверяет все сервера, которые прописаны и до которых есть ssh доступ.

Portos, выносить все бамтовские пути в переменные не планируется, во первых их много получится, во вторых собьет с толку новичка кучей настроек. Версия под PIMP будет содержать уже только pimp пути. Вчера я попробовал сделать совмещенную версию и под bamt и pimp + кастомную. Вот даже могу показать функцию проверки ипользуемой системы

cgminer_config=""
viewgpu=""

if_pimp() {
if [ -n "$cgminer_config" ]; then
  cgminer_conf=$cgminer_config
elif [ -n "$viewgpu" ]; then
  viewgpu_conf=$viewgpu
elif [ -n "$cgminer_config" ] && [ -n "$viewgpu" ]; then
  cgminer_conf=$cgminer_config
  viewgpu_conf=$viewgpu   
else	
  output=$(ssh root@$host uname -n)
  if [ "$output" = 'pimp' ]; then    
    cgminer_conf="/opt/ifmi/cgminer.conf"
    viewgpu_conf="/opt/pimp/viewgpu"
  else 
    cgminer_conf="/etc/bamt/cgminer.conf"
    viewgpu_conf="/opt/bamt/viewgpu"
  fi
fi  
}

Потестил на сервере с pimp и bamt, все отрабатывает как нужно, но есть одна проблема, каждый такой запрос на определение сервера занимает 1-2 сек и это в локалке. Поэтому решил пока по другому сделать, в скрипте можно будет указать тип серверов bamt/smos или pimp  и тогда будут отрабатываться конфиги без проверки используемого сервера.

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

×