Bitcoin Forum
May 27, 2024, 06:58:19 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Удаленный мониторринг нескольких ферм в l  (Read 1747 times)
Ivanech (OP)
Hero Member
*****
Offline Offline

Activity: 808
Merit: 1014


View Profile
January 14, 2014, 02:39:59 PM
 #1

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

Есть несколько ферм, расположенных в разных местах. Все работают под Linux (сборки BAMT для старых карточек и SMOS-1 для новых).

Хочется иметь мониторинг всех ферм в одном месте. В идеале, чтобы была одна страничка на сайте, на которой отображалось текущее состояние всех ферм с возможность автоматического оповещения (email, SMS) в случае проблем с какой-либо фермой.

Посоветуйте, какой софт лучше всего для этого использовать? Т.е. что нужно установить на фермах и что на серверной части сайта мониторинга?
Ladukas
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile WWW
January 14, 2014, 08:18:22 PM
 #2

http://www.teamviewer.com/

Добрай бесплатный софт.
Правда, иногда глючный.

Есть вроде и для линукс. У меня Windows + Андроид - все как надо, откуда надо и когда надо (насчет когда надо - погорячился Smiley ).

А, и да, вроде веб приложения нету.

needbmw
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
January 14, 2014, 08:24:39 PM
 #3

штатный miner.php не пойдет?
e-mail и sms отправлять правда не умеет, но если руки растут откуда следует всегда можно допилить.


NO PSAKING!
Ivanech (OP)
Hero Member
*****
Offline Offline

Activity: 808
Merit: 1014


View Profile
January 15, 2014, 08:30:50 AM
 #4

TeamViewer, openVPN и прочие средства удаленного управления хороши именно для управления конкретной фермой, а для мониторинга они не очень подходят, так как надо коннектиться к каждой ферме по отдельности и смотреть как у нее дела.

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

Штатные средства, допилить, конечно можно. Но если есть возможность не изобретать велосипед - хотелось бы использовать готовое решение. Наверняка же кто-то уже сталкивался с такой необходимостью одновременного удаленного мониторинга множества ферм.
aistto
Legendary
*
Offline Offline

Activity: 1001
Merit: 1005


View Profile
January 15, 2014, 12:58:04 PM
 #5

штатный miner.php не пойдет?
что это и где лежит? просвятите )
needbmw
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
January 15, 2014, 01:07:19 PM
 #6

штатный miner.php не пойдет?
что это и где лежит? просвятите )

в любом дистрибутиве cgminer или bfgminer

https://github.com/ckolivas/cgminer/blob/master/miner.php

достаточно поставить него на один из серверов и прописать в $rigs адреса и порты всех своих майнеров, все будет на одной странице выводиться в одном месте.

по умолчанию $rigs содержит только майнер на локальной машине на стандартном порту:

$rigs = array('127.0.0.1:4028');

а если есть еще майнеры на других компах, их прописываешь так к примеру:

$rigs = array('127.0.0.1:4028', '192.168.0.1:4028', '192.168.0.2:4028');

и так далее через запятую.

и не забудьте включить API на каждом майнере (ключи --api-listen, --api-network, --api-allow - см. README cgminer) и открыть порт API

NO PSAKING!
mins777
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
January 15, 2014, 02:57:30 PM
Last edit: January 15, 2014, 07:38:01 PM by mins777
 #7

чем копаться в miner.php мудифицировал под себя штатный api-example.php

1) закоментил строку: #print "$cmd returned '$line'\n"; в function request($cmd,$addr)
2) в конец после функций переписал/добавил код:
Code:
$addrs = array('192.168.0.201', '192.168.0.202', '192.168.0.203', '192.168.0.204', '192.168.0.205');
$text = "";
$text .= "<html>\n";
$text .= "<head>\n";
$text .= "<META HTTP-EQUIV='refresh' CONTENT='15'>\n";
$text .= "<style type='text/css'>\n";
$text .= "body {background:#FFFFFF; font: normal 8pt Tahoma, Verdana, Arial;}\n";
$text .= "table {border: 1px solid #cccccc; font: normal 8pt Tahoma, Verdana, Arial;}\n";
$text .= "tr {border: 1px solid #cccccc; height:20px;}\n";
$text .= "td {border: 1px solid #cccccc; text-align: center; min-width:40px;}\n";
$text .= "</style>\n";
$text .= "</head>\n";
$text .= "<body>\n";
$text .= "<table>\n";
for($i=0; $i<count($addrs); $i++)
{
$gpus = request('gpucount',$addrs[$i]);
$text .= "<tr><td colspan='255'>{$gpus['STATUS']['Description']} / ip:<b>{$addrs[$i]}</b> / GPUS:{$gpus['GPUS']['Count']}</td></tr>\n";
$igpu=0;
for($ii=0; $ii<$gpus['GPUS']['Count']; $ii++)
{
$ia=0;
$r = request("gpu|$ii",$addrs[$i]);
$textKey = "<tr>\n";
$textValue = "<tr>\n";
foreach($r["GPU$ii"] as $key => $value)
{
if($ia>17) break;
$textKey .= "<td>{$key}</td>\n";
$textValue .= "<td>{$value}</td>\n";
$ia++;
}
$textKey .= "</tr>\n";
$textValue .= "</tr>\n";
if($igpu==0) { $text .= $textKey; $igpu++; }
$text .= $textValue;
}
}
$text .= "</table>\n";
$text .= "</body>\n";
$text .= "</html>\n";
print $text;
- мне хватает. для себя можете лучше сделать.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!