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


Фотография

Програмка для мониторинга S9 в реальном времени

реалтайм просто удобно

Сообщений в теме: 47

#1 nike782

nike782

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

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

Отправлено 01 February 2017 - 02:05

Набросал для себя, возможно кому-то будет интересно. Дабы не открывать каждый майнер в браузере и смотреть температуру\хершрей, запустил себе и смотришь с удобством.

 

mine_c43695c6c3f34342275a309f2b178fe0.pn

 

Скачать можно на гитхабе

 

Ваши предложения и пожелания приветствуются ;-)

 

ПС: возможно что-то такое уже есть, не анализировал, в этом случае просто скажите, что используете вы

 


  • 10

#2 bullettrain

bullettrain

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

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

Отправлено 01 February 2017 - 05:05

Пардон, название темы невнимательно прочитал. :)


Сообщение отредактировал bullettrain: 01 February 2017 - 06:24

  • 0

Moving like a speed of sound


#3 sergt200

sergt200

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

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

Отправлено 01 February 2017 - 05:21

bullettrain, это  для s9


Сообщение отредактировал sergt200: 01 February 2017 - 05:23

  • 1

#4 Volldemar

Volldemar

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

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

Отправлено 05 February 2017 - 14:41

это только для S9?

для S7 - будет работать?

у меня почему-то не работает:

$ ./mine.py
  File "./mine.py", line 129
    except urllib2.URLError, e:
                           ^
SyntaxError: invalid syntax


  • 1

#5 nike782

nike782

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

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

Отправлено 07 February 2017 - 19:06

1) Для S7 скорее всего работать не будет, т.к. странички немного отличаются, даже для S9 странички могут отличаться в зависимости от прошивки. Здесь для последней прошивки с авто-частотой. Если пришлешь мне html файл со странички статистики, могу попробовать добавить и S7, в принципе не проблема

2) python у тебя какой версии? скорее всего 3, для программы нужен второй


  • 2

#6 Volldemar

Volldemar

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

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

Отправлено 08 February 2017 - 10:08

Установлены следующие пакеты:

extra/python 3.6.0-2 [установлен]
extra/python2 2.7.13-1 [установлен]
extra/python2-appdirs 1.4.0-5 [установлен]
extra/python2-packaging 16.8-2 [установлен]
extra/python2-pip 9.0.1-2 [установлен]
extra/python2-pyparsing 2.1.10-2 [установлен]
extra/python2-setuptools 1:34.1.1-1 [установлен]
extra/python2-six 1.10.0-3 [установлен]
community/python2-olefile 0.43-2 [установлен]
community/python2-pillow 4.0.0-2 [установлен]
community/python2-reportlab 3.3.0-2 [установлен]

Код странички статистики выслал в лс.

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


Сообщение отредактировал Volldemar: 08 February 2017 - 11:10

  • 0

#7 nike782

nike782

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

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

Отправлено 08 February 2017 - 15:28

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


  • 1

#8 nike782

nike782

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

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

Отправлено 10 February 2017 - 01:50

  • Добавлена поддержка python3
  • Добавлена поддержка S7 (по предоставленным html-данным)

  • 2

#9 scopus

scopus

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

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

Отправлено 10 February 2017 - 07:36

чтобы обе версии работали
есть успехи?
  • 0

#10 Volldemar

Volldemar

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

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

Отправлено 10 February 2017 - 10:38

что то пошло не так:

miner-checker]$ ./mine.py
login to 192.168.0.100...
login to 192.168.0.101...
No ideal hash rate found
Exception in thread Thread-2:
Traceback (most recent call last):
  File "./mine.py", line 391, in MakeAllInfo
    self.CheckMinerHashRate(dom)
  File "./mine.py", line 303, in CheckMinerHashRate
    idealHashRateInt = int(idealHashRate)
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "./mine.py", line 438, in run
    self._data = self._minerInfo.MakeAllInfo()
  File "./mine.py", line 393, in MakeAllInfo
    self.AddMessageToSend(v.message + '\n')
AttributeError: 'ValueError' object has no attribute 'message'

No ideal hash rate found
Exception in thread Thread-1:
Traceback (most recent call last):
  File "./mine.py", line 391, in MakeAllInfo
    self.CheckMinerHashRate(dom)
  File "./mine.py", line 303, in CheckMinerHashRate
    idealHashRateInt = int(idealHashRate)
ValueError: invalid literal for int() with base 10: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "./mine.py", line 438, in run
    self._data = self._minerInfo.MakeAllInfo()
  File "./mine.py", line 393, in MakeAllInfo
    self.AddMessageToSend(v.message + '\n')
AttributeError: 'ValueError' object has no attribute 'message'

в лс кинул лог.

Да, если есть возможность отображать скорость вращения вентиляторов в (r/min), то мне кажется, что так будет удобней, а не в процентах.


Сообщение отредактировал Volldemar: 10 February 2017 - 12:32

  • 0

#11 nike782

nike782

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

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

Отправлено 10 February 2017 - 12:49

Пришли, пожалуйста, каталог html-cache архивчиком, похоже что-то изменилось в html файлах


есть успехи?

Да, в сообщении. отписал о добавленной поддержке 3го python


Да, если есть возможность отображать скорость вращения вентиляторов в (r/min), то мне кажется, что так будет удобней, а не в процентах.

 

Конечно есть, сделаю опцию в коммандной строке. Мне просто более удобно в процентах, например там правило есть, если температура выше 103 градусов и обороты кулера больше 90% - это уже потенциальный перегрев и отправляется уведомление на почту.


  • 1

#12 nike782

nike782

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

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

Отправлено 10 February 2017 - 22:25

Сделал, проверяйте :) Параметр -r или --show-rpm показывает вместо процентов обороты.


  • 2

#13 Volldemar

Volldemar

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

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

Отправлено 11 February 2017 - 08:31

Спасибо, работает и для S7.

Но для полного счастья, может ввести параметр в командной тстроке для S7? Так нет поля в выводе странички для S7 "ideal hashrate".

homeserver miner-checker]$ ./mine.py -r
login to 192.168.0.100...
login to 192.168.0.101...
No ideal hash rate found
can't calculate "normal" hashrate because ideal hashrate is missing
can't check miner temp because chip temp is missing
No ideal hash rate found
can't calculate "normal" hashrate because ideal hashrate is missing
can't check miner temp because chip temp is missing
192.168.0.100:  4,750.28 (4,717.83)  0.0018%  7d14h30m59s     OK  44 51 50      4080|3960

  • 1

#14 nike782

nike782

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

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

Отправлено 11 February 2017 - 12:07

Т.е., например, скрыть эти ворнинги, если указан параметр -s7?


  • 1

#15 Volldemar

Volldemar

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

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

Отправлено 11 February 2017 - 17:42

Т.е., например, скрыть эти ворнинги, если указан параметр -s7?

Можно и так, как проще будет сделать.


  • 3

#16 KlopS5

KlopS5

    TornDummy

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

Отправлено 11 February 2017 - 19:03

nike782,Спасибо!!! Проверил на S5, так же отлично работает. Для нубов как я использовать -f. Досмотрел с картинки с 1-го поста, тогда нет варнингов и есть цикличность, а то я сдуру крон на него натравил :)

Чем или как менять варнинг на почту? А то для s5 s7 разная температура/скорость вент.


Сообщение отредактировал KlopS5: 11 February 2017 - 19:07

  • 2

#17 nike782

nike782

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

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

Отправлено 11 February 2017 - 23:17

По поводу почты. Я для себя сделал несколько правил, при которых уведомления уходят на почту:

  • Если температура хотя бы одного из чипов больше 103 градусов, и при этом обороты одного из кулеров больше 90%
  • Если текущий хешрейт меньше чем на 10% от идеального
  • Если есть ошибки парсинга данных, либо недоступность самих веб страничек

Это все уже есть в скрипте, скрипт сам шлет на почту, которая указана в конфиге. Я понимаю, что для S7 ряд этих правил не уместен, но как сделать универсальными правила(?) - хз. Можно в принципе через аргументы указывать: макс. температуру, макс. обороты, или мин. хешрейт. Или в конфиге это как-то указывать... Короче пишите ваши предложения, будем обсуждать.


  • 2

#18 Volldemar

Volldemar

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

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

Отправлено 12 February 2017 - 14:19

указывать: макс. температуру, макс. обороты, или мин. хешрейт. Или в конфиге это как-то указывать.

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

Ну и интервал времени опроса, то-же не мешало-бы вынести в конфиг, в режиме с ключиком -f.

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


Сообщение отредактировал Volldemar: 12 February 2017 - 18:34

  • 1

#19 scopus

scopus

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

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

Отправлено 12 February 2017 - 14:59

nike782, Вы делаете просто замечательное дело! Респект!

 

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

соглашусь:

указывать только тип асика S7 S9

  • 1

#20 nike782

nike782

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

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

Отправлено 13 February 2017 - 17:37

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

Ну и интервал времени опроса, то-же не мешало-бы вынести в конфиг, в режиме с ключиком -f.

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

Ключ для времени уже есть, смотрите хелп к программе :) -t указывает ожидание между запросами. Но дело в том, что сами запросы занимают время, поэтому при указании -f -t 1 ожидание будет равно 1+(время на ответ от майнеров, при многопоточном запросе), что по факту получается около 3-4 сек. По дефолту -t = 3 сек.

 

По поводу того, что считать ошибкой, расскажите какие критерии ошибок у вас?

 

В ближайшее время тогда сделаю:

  • убрать ворнинги про идеальный хешрейт на S7
  • вынести параметры коммандной строки путь к конфигу и кешу html
  • корректное завершение при выходе через CRTL-C в режиме -f

Сообщение отредактировал nike782: 13 February 2017 - 17:39

  • 0





Темы с аналогичным тегами реалтайм, просто, удобно

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

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