Das iss ja auch die falsche Adresse, versuchs mal mit http://192.168.2.62/ ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) Edit: Beim Thema RAM-Auslastung durch Mempool hab ich mich jetzt dazu entschieden, sie in das RAM-Script zu integrieren, nachvollziehbar, oder? ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Dafür hab ich nur das memory.sh File so abgeändert, daß es eine zusätzliche Datenbank erstellt, ein zusätzliches Update der (neuen) Datenbank durchführt und dann die Grafik etwas modifziert. Das Ganze sieht dann folgendermaßen aus: #!/bin/bash # memory.sh - Memory usage stats
rrdtool=/usr/bin/rrdtool db=/hdd/rrd/memory.rrd # mempool-ram db added mpdb=/hdd/rrd/mempool-ram.rrd img=/hdd/www/html/images
if [ ! -e $db ] then $rrdtool create $db \ --step 300 \ DS:usage:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:3:672 \ RRA:AVERAGE:0.5:12:744 \ RRA:AVERAGE:0.5:72:1480 fi
# mempool db creation added if [ ! -e $mpdb ] then $rrdtool create $mpdb \ --step 300 \ DS:mempoolmb:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:3:672 \ RRA:AVERAGE:0.5:12:744 \ RRA:AVERAGE:0.5:72:1480 fi
$rrdtool update $db -t usage N:`free -b |grep cache:|cut -d":" -f2|awk '{print $1}'` # mempool db update added n=`/usr/local/bin/bitcoin-cli getmempoolinfo | jq '.usage'` $rrdtool update $mpdb -t mempoolmb N:"$n"
# mempool added to graph for period in day week month year do $rrdtool graph $img/memory-$period.png -s -1$period \ -t "Memory usage last $period" -z \ -c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \ -c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \ -c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \ -h 134 -w 543 -l 0 -a PNG -v "RAM" \ DEF:usage=$db:usage:AVERAGE \ DEF:mempoolmb=$mpdb:mempoolmb:AVERAGE \ VDEF:min=usage,MINIMUM \ VDEF:max=usage,MAXIMUM \ VDEF:avg=usage,AVERAGE \ VDEF:lst=usage,LAST \ VDEF:mpmin=mempoolmb,MINIMUM \ VDEF:mpmax=mempoolmb,MAXIMUM \ VDEF:mpavg=mempoolmb,AVERAGE \ VDEF:mplst=mempoolmb,LAST \ "COMMENT: \l" \ "COMMENT: " \ "COMMENT: " \ "COMMENT:Minimum " \ "COMMENT:Maximum " \ "COMMENT:Average " \ "COMMENT:Last \l" \ "COMMENT: " \ "AREA:usage#92CF00:Usage " \ "LINE1:usage#3F5A00" \ "GPRINT:min:%5.1lf %sB " \ "GPRINT:max:%5.1lf %sB " \ "GPRINT:avg:%5.1lf %sB " \ "GPRINT:lst:%5.1lf %sB \l" \ "COMMENT: " \ "AREA:mempoolmb#8AD3F1:Mempool " \ "LINE1:mempoolmb#49BEEF" \ "GPRINT:mpmin:%5.1lf %sB " \ "GPRINT:mpmax:%5.1lf %sB " \ "GPRINT:mpavg:%5.1lf %sB " \ "GPRINT:mplst:%5.1lf %sB \l" > /dev/null done
speichern, fertich. Der entsprechende cronjob läuft ja bereits.
|
|
|
Moin lassdas, schon wieder ne Nachtschicht eingelegt? ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) Ich werd immer erst nachts wirklich aktiv, da iss schön ruhig und mir geht keiner auffn Sack. Btw. warum seid Ihr eigentlich root? Ob das sone gute Idee is? ![Roll Eyes](https://bitcointalk.org/Smileys/default/rolleyes.gif) Gilt wenigstens für mich, bei Lincoln bin ich nicht sicher! Bin auf meinem Windows auch immer als root unterwegs ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) Naja, auf Windows bin ich auch immer Admin, aber da weiß ich auch, was ich tue, das kann ich von Linux nich wirklich behaupten, da würd ich mich nich trauen, alles als root zu machen, würd mit an Sicherheit grenzender Wahrscheinlichkeit schiefgehn.
|
|
|
Tach, hab letzte Nacht noch schnell n Script fürn Mempool geklöppelt. Da getrawmempool ein komlettes json-array ausliefert und man die Anzahl der Tx erst selbst zusammenzählen muss, brauchen wir dafür noch n Tool, welches uns die Arbeit erleichtert. Dann erstellen wir wie gehabt unser neues Script #!/bin/bash # mempool.sh - Bitcoin mempool stats
rrdtool=/usr/bin/rrdtool db=/hdd/rrd/mempool.rrd img=/hdd/www/html/images
if [ ! -e $db ] then $rrdtool create $db \ --step 300 \ DS:mempool:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:3:672 \ RRA:AVERAGE:0.5:12:744 \ RRA:AVERAGE:0.5:72:1480 fi
#n=`/usr/local/bin/bitcoin-cli getrawmempool | jq length` n=`/usr/local/bin/bitcoin-cli getmempoolinfo | jq '.size'` $rrdtool update $db -t mempool N:"$n"
for period in day week month year do $rrdtool graph $img/mempool-$period.png -s -1$period \ -t "Mempool Tx last $period" -z \ -c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \ -c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \ -c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \ -h 134 -w 543 -l 0 -a PNG -v "TX" \ DEF:mempool=$db:mempool:AVERAGE \ VDEF:max=mempool,MAXIMUM \ VDEF:avg=mempool,AVERAGE \ VDEF:lst=mempool,LAST \ "COMMENT: \l" \ "COMMENT: " \ "COMMENT: " \ "COMMENT:Last " \ "COMMENT:Average " \ "COMMENT:Maximum " \ "COMMENT: \l" \ "COMMENT: " \ "AREA:mempool#92CF00:Mempool Tx " \ "LINE1:mempool#3F5A00" \ "GPRINT:lst:%2.0lf " \ "GPRINT:avg:%2.0lf " \ "GPRINT:max:%2.0lf \l" > /dev/null done
Str-O, Str-X CronJob für mempool.sh, feddich. Edit: kleine Optimierung nachdem ich das getmempoolinfo-command entdeckt hab. vorher /usr/local/bin/bitcoin-cli getrawmempool | jq length nachher /usr/local/bin/bitcoin-cli getmempoolinfo | jq '.size' Damit kann man auch gleich die RAM-Auslastung durch den Mempool auslesen /usr/local/bin/bitcoin-cli getmempoolinfo | jq '.usage' entweder in nem eigenen Script (quasi ner Kopie von diesem), oder gleich integriert in dieses, da bin ich mir nochnich einig. ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif)
|
|
|
Überaus sinnvoll, weil die ganzen Terroristen sich ja auch alle brav auf den Plattformen verifizieren.
Wird echt höchste Zeit für dezentrale Plattformen wie Bitsquare.
|
|
|
Btw. warum seid Ihr eigentlich root? Ob das sone gute Idee is? ![Roll Eyes](https://bitcointalk.org/Smileys/default/rolleyes.gif)
|
|
|
Fast jeder...bestimmt, aber ich hab das noch NIE gemacht ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) Na, dann wirds ja Zeit. ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Weil ich in meinem Fall (und diesem Beisiel) vor dem Aufruf der Webseite noch mal kurz mit Bitcoin RPC spreche, bedarf es noch ein klitzekleinwenig Vorarbeit. Erstelle ein Verzeichnis und pack da die Bitcoin.php von shalk rein nano /hdd/www/includes/Bitcoin.php <?php /* The MIT License Copyright (c) 2011 Schalk Bower <schalk@hotmail.co.nz> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Donations: 14bBEcMwwnDVXAYR8n2iTk9PTF5wqYLGR2 */ class Bitcoin { // @var string private $username; // @var string private $password; // @var string private $url; // @var integer private $id; /** * Contructor * * @param string $url * @param string $username * @param string $password * @param boolean $debug */ public function __construct($url, $username, $password) { //connection details $this->url = $url; $this->username = $username; $this->password = $password; //request id $this->id = 1; } /** * Perform jsonRCP request and return results as array * * @param string $method * @param array $params * @return array */ public function __call($method,$params) { // make params indexed array of values $params = array_values($params); // prepares the request $request = json_encode(array( 'method' => strtolower($method), 'params' => $params, 'id' => $this->id )); // performs the HTTP POST using curl $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, Array("Content-type: application/json")); curl_setopt($curl, CURLOPT_URL, $this->url); curl_setopt($curl, CURLOPT_USERPWD, $this->username.":".$this->password); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, $request); $response = curl_exec($curl); curl_close($curl); // process response if (!$response) { throw new Exception('Unable to connect to '.$this->url, 0); } $response = json_decode($response,true); // check response id if ($response['id'] != $this->id) { throw new Exception('Incorrect response id (request id: '.$this->id.', response id: '.$response['id'].')',1); } if (!is_null($response['error'])) { throw new Exception('Request error: '.print_r($response['error'],1),2); } $this->id++; // return return $response['result']; } } ?>
Die soll nur dazu dienen, in PHP per cURL Kontakt zum Bitcoin RPC aufzunehmen. Das wars schon mit der Vorarbeit. Jetzt nurnoch schnell ne Webseite zusammengefrickelt nano /hdd/www/html/index.php <?php include_once("/hdd/www/includes/Bitcoin.php");
# Daten zum Bitcoin Server $rpcUser = "DEINBITCOINRPCUSER"; $rpcPass = "DEINBITCOINRPCPASS"; $url = "http://127.0.0.1:8332";
# Kontaktaufnahme $bitcoin = new Bitcoin($url, $rpcUser, $rpcPass);
# antwortet Bitcoin? try { $info = $bitcoin->getinfo(); } catch (Exception $e) { die($e->getMessage()); }
# dann sammeln wir Daten und bereiten sie etwas auf $info = $bitcoin->getinfo(); $version = $info["version"]; $blocks = $info["blocks"]; $difficulty = floor($info["difficulty"]); $connections = $info["connections"];
$version = (string)$version; if($version[2] == "0") { $version[2] = ""; } $version = "0.".$version[0].$version[1].".".$version[2].$version[3];
# und wenn wir alles zusammenhaben, bauen wir die Webseite zusammen ?> <!doctype html> <html> <head> <meta charset="utf-8"> <link rel="icon" href="images/favicon.ico" type="image/x-icon" /> <title>Bitcoin Full Node Statistics</title> </head> <body> <center> <h2>Bitcoin Full Node Statistics</h2></br> <font size="4">Version </font> <?php echo $version; ?> <font size="4">Blocks </font> <?php echo $blocks; ?> <font size="4">Difficulty </font> <?php echo $difficulty; ?> <font size="4">Connections </font> <?php echo $connections; ?> <p align="center"> </p> <font size="4">Summary</font></br> <img src="images/summary.png" alt="summary"/></br> <font size="4">Daily Traffic</font></br> <img src="images/daily.png" alt="daily traffic"/></br> <font size="4">Monthly Traffic</font></br> <img src="images/monthly.png" alt="monthly traffic"/></br> <font size="4">Top 10</font></br> <img src="images/top10.png" alt="top 10 traffic days"/></br> </br> <img src="images/network-day.png" alt="network day"/></br> <img src="images/cpuload-day.png" alt="cpu load day"/></br> <img src="images/connections-day.png" alt="connections 24h"/></br> <img src="images/memory-day.png" alt="memory day"/></br> </body> </html>
und feddich. ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) Edit: hab die Webseite aus Versehen im falschen Vz angelegt, jetz sollt's passen.
|
|
|
RAM #!/bin/bash # memory.sh - Memory usage stats
rrdtool=/usr/bin/rrdtool db=/hdd/rrd/memory.rrd img=/hdd/www/html/images
if [ ! -e $db ] then $rrdtool create $db \ --step 300 \ DS:usage:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:3:672 \ RRA:AVERAGE:0.5:12:744 \ RRA:AVERAGE:0.5:72:1480 fi
$rrdtool update $db -t usage N:`free -b |grep cache:|cut -d":" -f2|awk '{print $1}'`
for period in day week month year do $rrdtool graph $img/memory-$period.png -s -1$period \ -t "Memory usage last $period" -z \ -c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \ -c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \ -c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \ -h 134 -w 543 -l 0 -a PNG -v "RAM" \ DEF:usage=$db:usage:AVERAGE \ VDEF:min=usage,MINIMUM \ VDEF:max=usage,MAXIMUM \ VDEF:avg=usage,AVERAGE \ VDEF:lst=usage,LAST \ "COMMENT: \l" \ "COMMENT: " \ "COMMENT: " \ "COMMENT:Minimum " \ "COMMENT:Maximum " \ "COMMENT:Average " \ "COMMENT:Current \l" \ "COMMENT: " \ "AREA:usage#92CF00:Usage " \ "LINE1:usage#3F5A00" \ "GPRINT:min:%5.1lf %sB " \ "GPRINT:max:%5.1lf %sB " \ "GPRINT:avg:%5.1lf %sB " \ "GPRINT:lst:%5.1lf %sB \l" > /dev/null done
Network Traffic #!/bin/bash # network.sh - Network usage stats
rrdtool=/usr/bin/rrdtool db=/hdd/rrd/network.rrd img=/hdd/www/html/images if=eth0
if [ ! -e $db ] then $rrdtool create $db \ --step 300 \ DS:in:DERIVE:600:0:12500000 \ DS:out:DERIVE:600:0:12500000 \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:3:672 \ RRA:AVERAGE:0.5:12:744 \ RRA:AVERAGE:0.5:72:1480 fi
$rrdtool update $db -t in:out N:`/sbin/ifconfig $if |grep bytes|cut -d":" -f2|cut -d" " -f1`:`/sbin/ifconfig $if |grep bytes|cut -d":" -f3|cut -d" " -f1`
for period in day week month year do $rrdtool graph $img/network-$period.png -s -1$period \ -t "eth0 traffic last $period" -z \ -c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \ -c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \ -c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \ -h 134 -w 543 -l 0 -a PNG -v "B/s" \ DEF:in=$db:in:AVERAGE \ DEF:out=$db:out:AVERAGE \ VDEF:minin=in,MINIMUM \ VDEF:minout=out,MINIMUM \ VDEF:maxin=in,MAXIMUM \ VDEF:maxout=out,MAXIMUM \ VDEF:avgin=in,AVERAGE \ VDEF:avgout=out,AVERAGE \ VDEF:lstin=in,LAST \ VDEF:lstout=out,LAST \ VDEF:totin=in,TOTAL \ VDEF:totout=out,TOTAL \ "COMMENT: \l" \ "COMMENT: " \ "COMMENT:Minimum " \ "COMMENT:Maximum " \ "COMMENT:Average " \ "COMMENT:Current " \ "COMMENT:Total \l" \ "COMMENT: " \ "AREA:out#92CF00:Out " \ "LINE1:out#3F5A00" \ "GPRINT:minout:%5.1lf %sB/s " \ "GPRINT:maxout:%5.1lf %sB/s " \ "GPRINT:avgout:%5.1lf %sB/s " \ "GPRINT:lstout:%5.1lf %sB/s " \ "GPRINT:totout:%5.1lf %sB \l" \ "COMMENT: " \ "AREA:in#8AD3F1:In " \ "LINE1:in#49BEEF" \ "GPRINT:minin:%5.1lf %sB/s " \ "GPRINT:maxin:%5.1lf %sB/s " \ "GPRINT:avgin:%5.1lf %sB/s " \ "GPRINT:lstin:%5.1lf %sB/s " \ "GPRINT:totin:%5.1lf %sB \l" > /dev/null done
CPU Load #!/bin/bash # cpuload.sh - CPU Load stats
rrdtool=/usr/bin/rrdtool db=/hdd/rrd/cpuload.rrd img=/hdd/www/html/images
if [ ! -e $db ] then $rrdtool create $db \ --step 300 \ DS:load1:GAUGE:600:0:U \ DS:load5:GAUGE:600:0:U \ DS:load15:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:3:672 \ RRA:AVERAGE:0.5:12:744 \ RRA:AVERAGE:0.5:72:1480 fi
uptime=`uptime` base="${uptime##*:}"
input="$(echo -e "${base}" | tr -d '[[:space:]]')" load1=$(echo $input | cut -d',' -f1-2 | tr ',' '.') load5=$(echo $input | cut -d',' -f3-4 | tr ',' '.') load15=$(echo $input | cut -d',' -f5-6 | tr ',' '.')
$rrdtool update $db -t load1:load5:load15 N:$load1:$load5:$load15
for period in day week month year do $rrdtool graph $img/cpuload-$period.png -s -1$period \ -t "CPU Load last $period" -z \ -c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \ -c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \ -c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \ -h 134 -w 543 -l 0 -a PNG -v "CPU" \ DEF:load1=$db:load1:AVERAGE \ DEF:load5=$db:load5:AVERAGE \ DEF:load15=$db:load15:AVERAGE \ VDEF:lst1=load1,LAST \ VDEF:lst5=load5,LAST \ VDEF:lst15=load15,LAST \ VDEF:avg1=load1,AVERAGE \ VDEF:avg5=load5,AVERAGE \ VDEF:avg15=load15,AVERAGE \ VDEF:max1=load1,MAXIMUM \ VDEF:max5=load5,MAXIMUM \ VDEF:max15=load15,MAXIMUM \ "COMMENT: " \ "COMMENT: " \ "COMMENT: " \ "COMMENT:Last " \ "COMMENT:Average " \ "COMMENT:Maximum \l" \ "COMMENT: " \ "COMMENT: " \ "AREA:load1#92CF00:1m " \ "GPRINT:lst1: %1.2lf " \ "GPRINT:avg1: %1.2lf " \ "GPRINT:max1: %1.2lf \l" \ "COMMENT: " \ "COMMENT: " \ "LINE3:load5#49BEEF88:5m " \ "GPRINT:lst5: %1.2lf " \ "GPRINT:avg5: %1.2lf " \ "GPRINT:max5: %1.2lf \l" \ "COMMENT: " \ "COMMENT: " \ "LINE2:load15#C3E9FA:15m " \ "GPRINT:lst15: %1.2lf " \ "GPRINT:avg15: %1.2lf " \ "GPRINT:max15: %1.2lf \l" > /dev/null done
ConJobs */5 * * * * nice /home/pi/memory.sh >/dev/null 2>&1 */5 * * * * nice /home/pi/network.sh >/dev/null 2>&1 */5 * * * * nice /home/pi/cpuload.sh >/dev/null 2>&1
Damit hätten wir jetzt eigentlich alles zusammen, was noch fehlt, ist eine Webseite (/hdd/www/html/index.html, oder /hdd/www/html/index.php ), auf der wir die Grafiken anzeigen, aber das sollte jeder selbst hinbekommen (sollen ja auch nich alle gleich aussehen, unsere Stats). ![Wink](https://bitcointalk.org/Smileys/default/wink.gif) Falls nicht, bin ich auch da gerne behilflich. Man könnte das Ganze natürlich noch etwas aufräumen, die Anzahl der Scripte reduzieren, indem man sie zusammenfügt, z.B. ein Script, das alle Datenbanken updatet und eines, das die Grafiken erstellt, aber das ist dann eher Schönheitschirurgie. So kann man sich erstmal an jedem Script einzeln austoben und macht bei nem Fehler nich gleich alles wieder kaputt. ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) Ich wünsche viel Erfolg beim rumprobieren.
|
|
|
Wenn man auf steigende Preise spekuliert, kann man sich genausogut/besser einfach Bitcoins kaufen, die hat man sofort, ohne groß in Hardware, Energie und Administration zu investieren und dann Wochen, Monate, oder gar Jahre drauf zu warten. Man wird sie auch viel schneller und unkomplizierter wieder los, als gebrauchte, u.U. überholte Hardware und kann auch kurzfristig auf Kurs-Bewegungen am Markt reagieren. Warum man sich da das größere Risiko aufhalsen sollte, erschließt sich mir nicht. Was wäre deine Erklärung für die Steigerung?
Na, das es für viele wohl immernoch sehr profitabel zu sein scheint. Vor allem die "Big Player", die schon längere Zeit größere Farmen betreiben, im Vergleich zum Endverbraucher fast keine Stromkosten zahlen und den Herstellern große Mengen an Hardware abnehmen, oder diese gleich selbst herstellen. Hinzu kommen jetzt Leute wie McAffe (ich nenn sie mal "Miner der nächsten Generation"), die garnicht darauf angewiesen sind, das der eigentliche Mining-Prozess selbst Profit abwirft. Der Punkt ist, daß die Difficulty schon recht lange wesentlich schneller steigt, als der Kurs und selbst wenn der Kurs in nächster Zeit tatsächlich stetig ansteigt, wird er arge Probleme haben, mit der Difficulty Schritt zu halten (er is jetzt schon ziemlich weit abgehängt). Mit dem einfachen Bitcoin-Kauf fährt jeder auf-steigenden-Kurs-Spekulant besser, als mit der Investition in Hardware.
|
|
|
Der Webserver läuft, also machen wir mit der Installation von vnstat weiter sudo apt-get install vnstat vnstati php5-gd erstellen ein Verzeichnis für die Grafiken im root des Webservers mkdir /hdd/www/html/images und ein Script, das die Grafiken erzeugt welches wir mit Inhalt füllen #!/bin/bash # vnstati.sh - network stats creation script
vnstati -vs -ne -nh -i eth0 -o /hdd/www/html/images/summary.png -ru 0 vnstati -d -ne -nh -i eth0 -o /hdd/www/html/images/daily.png -ru 0 vnstati -m -ne -nh -i eth0 -o /hdd/www/html/images/monthly.png -ru 0 vnstati -t -ne -nh -i eth0 -o /hdd/www/html/images/top10.png -ru 0
mit Str-O + Enter speichern und mit Str-X beenden. Welche Grafik -vs, -d, -m und -t jeweils erstellen, sieht man schön an der Datei-Endung, -ne (noedge) erstellt die Grafik ohne Umrandung, -nh (noheader) ohne Kopfzeile und mit -ru (0,1) kann man zwischen bits und bytes wählen, Weitere Optionen und Infos gibts unter "vnstati --help", oder "man vnstati". Das gerade erstellte Script müssen wir nun noch ausführbar machen und einen Cronjob erstellen, der es automatisch aufruft. Dazu unter ganz unten einfach # updating every 5 minutes */5 * * * * nice /home/pi/vnstati.sh >/dev/null 2>&1 einfügen, mit Str-O + Enter speichern und mit Str-X beenden. Nach spätestens 5 Minuten sollten die Grafiken unter http://<Node-IP>/images/ zur Abholung bereitliegen. Weiter geht's mit der Installation vom rrdtool sudo apt-get install rrdtool und anlegen eines Verzeichnisses für die entsprechenden Datenbanken Jetzt der komplizierteste Teil (zumindest für mich, außer copy&paste müsst Ihr eigentlich nix machen, wenn Ihr nich wollt), die Erstellung der Datenbanken, das Updaten selbiger und kreieren der entsprechenden Graphen. Dazu verwenden wir jeweils ein Script für Connections/Traffic/CPU-Load..., die alle nach folgendem Schema aufgebaut sind: Im oberen Teil geben wir u.a. den Pfad an, in dem die Datenbank gespeichert werden soll, es folgt ein Check, ob die Datenbank schon existiert, wenn nicht, wird sie angelegt. Danach ein Update der Datenbank mit den aktuellen Werten und zum Schluss das Erstellen der Grafik. Da wir durch vnstat ja schon Netzwerk-Statistiken haben, fangen wir mal mit dem Connections-Script an, wir erstellen es mit füllen es mit Inhalt #!/bin/bash # connections.sh - Bitcoin connection stats
rrdtool=/usr/bin/rrdtool db=/hdd/rrd/connections.rrd img=/hdd/www/html/images
if [ ! -e $db ] then $rrdtool create $db \ --step 300 \ DS:connections:GAUGE:600:0:U \ RRA:AVERAGE:0.5:1:288 \ RRA:AVERAGE:0.5:3:672 \ RRA:AVERAGE:0.5:12:744 \ RRA:AVERAGE:0.5:72:1480 fi
n=`/usr/local/bin/bitcoin-cli getconnectioncount` $rrdtool update $db -t connections N:"$n"
for period in day week month year do $rrdtool graph $img/connections-$period.png -s -1$period \ -t "Connections last $period" -z \ -c "BACK#FFFFFF" -c "SHADEA#FFFFFF" -c "SHADEB#FFFFFF" \ -c "MGRID#AAAAAA" -c "GRID#CCCCCC" -c "ARROW#333333" \ -c "FONT#333333" -c "AXIS#333333" -c "FRAME#333333" \ -h 134 -w 543 -l 0 -a PNG -v "#" \ DEF:connections=$db:connections:AVERAGE \ VDEF:max=connections,MAXIMUM \ VDEF:avg=connections,AVERAGE \ VDEF:lst=connections,LAST \ "COMMENT: \l" \ "COMMENT: " \ "COMMENT: " \ "COMMENT:Last " \ "COMMENT:Average " \ "COMMENT:Maximum " \ "COMMENT: \l" \ "COMMENT: " \ "AREA:connections#92CF00:Connections " \ "LINE1:connections#3F5A00" \ "GPRINT:lst:%2.0lf " \ "GPRINT:avg:%2.0lf " \ "GPRINT:max:%2.0lf \l" > /dev/null done
speichern mit Str-O + Enter und beenden mit Str-X, ausführbar machen chmod +x ~/connections.sh neuen CronJob erstellen, indem wir wieder unter am Ende # updating every 5 minutes */5 * * * * nice /home/pi/connections.sh >/dev/null 2>&1 einfügen, mit Str-O + Enter speichern, mit Str-X beenden. Auch hier sollten nach 5 Minuten die Grafiken unter http://<Node-IP>/images/ zur Abholung bereitliegen, jeweils eine für Daily, Weekly, Monthly und Yearly Stats. Weitere Scripte (RAM/CPU/Traffic) folgen.
|
|
|
Einen wunderschönen guten Morgen meine Damen und Herren, Sie sehen heute aus der beliebten Reihe "Von DAU für DAU" die Folge: Wie bastel ich mir Stats für meinen Full Node?Annahme: bitcoind ist installiert und läuft, der Pfad zur HDD lautet /hdd, wir sind angemeldet als user "pi" Bevor's los geht bringen wir mal unsere Paketlisten auf den neuesten Stand Da wir die Stats im Browser bewundern wollen, brauchen wir erstmal einen Webserver. Wir nehmen nginx und damit wir auch dynamischen Content und nichtnur statische Seiten anzeigen können, gleich mit PHP. sudo apt-get install nginx php5-fpm Der Server braucht Verzeichnisse, also legen wir erstmal welche an (da wir schon eine haben, natürlich auf der HDD). Das root-Verzeichnis des Servers (hier kommen später Webseiten, Bilder, etc rein) und eins für die Server Logs mkdir /hdd/www/html mkdir /hdd/www/log Dann editieren wir die Server-Konfigurationsdatei sudo nano /etc/nginx/nginx.conf hier kann man einiges einstellen, uns gehts aber vor allem um die Pfade zu den Logs und die Virtual Host Configs (dazu gleich mehr), die sollten aussehen, wie folgt ## # Logging Settings ## access_log /hdd/www/log/access.log; error_log /hdd/www/log/error.log; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf;
Wir speichern mit Str-O + Enter und beenden mit Str-X. Da wir dem Server jetzt gesagt haben, er soll alle *.conf-Dateien in /etc/nginx/conf.d/ lesen, legen wir dort nun unsere Default Server Konfiguration an sudo nano /etc/nginx/conf.d/pinode.conf hier sagen wir dem Server (u.a.), auf welchem Port er lauschen soll (80), wo sich sein root-Verzeichnis befindet (/hdd/www/html) und wie er heißt (da dies unser Default Server ist, heißt er einfach nur "_"). #Default Server Configuration server { listen 80 default_server; listen [::]:80 default_server;
root /hdd/www/html; index index.php index.html index.htm;
server_name _;
location / { try_files $uri $uri/ =404; autoindex on; } location ~ \.php$ { try_files $uri =404; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include /etc/nginx/fastcgi_params; } #Deny access to .htaccess files location ~ /\.ht { deny all; } }
Wir speichern mit Str-O + Enter, beenden mit Str-X und starten nginx neu. sudo service nginx restart Damit sollte der Webserver auchschon einsatzbereit sein. Weiter geht's nach einer kurzen Werbeunterbrechung, oder ner Tasse Tee, ganz nach Belieben.
|
|
|
Sorry, aber das is doch an den Haaren herbeigezogen.
Die Hashrate/Difficulty steigt sowieso, sieh Dir doch nurmal die Charts der vergangenen 2 Jahre an, der Kurs geht runter, die Difficulty steigt, der Kurs stagniert, die Difficulty steigt, der Kurs geht rauf, die Difficulty steigt.
Jetzt is der Kurs wieder ungefähr da, wo er vor 2 Jahren schon war, die Difficulty aber nich, die is von 16,818,461,696 auf 213,398,925,331 (also auf mehr als das 12fache) gestiegen.
Trotz dem momentan steigenden Kurs hat sich der Anreiz zu minen also in den letzten 2 Jahren drastisch reduziert und dennoch steigt die Hashrate weiter (und laut den jüngsten McAffe-News ist auch nicht damit zu rechnen, daß sich das mit dem Halving ändert).
|
|
|
Wozu mixt Du die überhaupt?
Egal, was Du damit bezahlen willst (ich vermute, was illegales), den Empfänger dürfte herzlich wenig interessieren, woher die Coins kommen und Bitcoin.de dürfte ziemlich egal sein, wohin die Coins gehen.
Nachprüfen und zu Dir zurückverfolgen wird das eh niemand, also was soll der ganze Stress und das Risiko, vom Mixer beschissen zu werden, oder durch eigene Fehler die Coins zu verlieren?
|
|
|
..und bei einem durch mehr "echte" Nutzung bedingten höheren Preis dürfte auch der Verbrauch der Miner steigen.
Wieso'dn das? Warum sollte durch mehr Nutzung/Nutzer der Verbrauch (oder sonst irgendwas) der Miner steigen? Mehr Nutzer bedeutet ja nich, daß bei den Minern mehr Arbeit anfällt, ob die Blöcke mit einer Transaktion minen, oder Blöcke mit tausenden von Transaktionen, das is völlig Latte. Das System würde auch prima mit mehr Nutzung/Nutzern klarkommen, wenn Miner nach dem Halving ihre Hardware abschalten und dann garkeinen Strom mehr verbrauchen, dann sinkt halt die Difficulty (oder steigt weniger schnell), aber das wars dann auch.
|
|
|
Also, für dyndns nutze ich wie bereits erwähnt https://freedns.afraid.org/ . Bei der Einrichtung hat man diverse Auswahlmöglichkeiten, das geht bei mir zB direkt über ne Einstellung im Router (DD-WRT bietet afraid.org schon ab Werk im Drop-Down-Menü zur Auswahl an), es gibt aber auch diverse Clients, oder Scripte, die das übernehmen, oder ganz simpel, durch aufrufen von http://[USERNAME]:[PASSWORD]@freedns.afraid.org/nic/update?hostname=[DOMAIN]&myip=[IP] (zB per cronjob). Ganz Pauschal lässt sich das also schwer sagen, kommt auf Deine Gegebenheiten und Vorlieben an. An der DAU Anleitung für Stats muss ich noch n bissl arbeiten, kommt aber.
|
|
|
lol Jetz übertreib mal nich. ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) So ganz zufrieden bin ich damit nochnich, das muss noch n bissl hübscher werden, da geht noch was, aber ich hab ja Zeit. Und 100GB/Monat klingt da schon eher wenig, heute wars eher ruhig, hab aber schon 6.6GB und der Tag is nochnich rum, damit käm ich im Monat schon auf 200GB und wie gesagt, die letzten Tage warns eher 9+GB. Und mit ein paar mehr Connections (ich plane schon mit 50, oder gar 60 als max) kommt da bestimmt noch mehr zusammen. Naja, mich solls nich stören, für irgendwas müssen die 40MBit upload ja gut sein.
|
|
|
Die letzten 5 Tage lief er eigentlich ohne zu mucken ganz brav durch, heute musste ich aber mal rebooten, weil ich Trottel nen Kurzen im USB-Hub verursacht hab und dadurch kurzfristig die HDD ausgefallen is. Aber,... nix passiert. ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) Meine Stats laufen jetz auch einigermaßen, werd da aber sicher noch n bisschen dran rumspielen. http://lassdas.mooo.com/Was habt Ihr'n so fürn Traffic? Ich komm jetzt schon auf ~10GB pro Tag, was ich doch recht erstaunlich fand. Eingestellt hab ich vorerst mal 40 maxconnections, die er bislang (also, in den 5 Tagen) aber nochnicht erreicht hat.
|
|
|
...solange er sich eben nicht mutwillig verletzt.
Und da fangen die Probleme doch an, wie genau definiert man das? Du kamst mit dem Raucher-Beispiel und tust so, als würde jeder Raucher die Kasse Unmengen an Geld kosten, ich erwiederte, das diverse Sportler die Kassen mehr kosten, als mancher Raucher, auch wenn sie "gesünder" leben. Jetz kann man natürlich argumentieren, daß das eine mutwillig und das andere fahrlässig ist, aber macht das sonen großen Unterschied? Ich find ja die ganze Zwei-Klassen-Medizin fürn Arsch, aber das wird sich hier wohl so schnell nich ändern. Anyway, wir kommen wie so oft schon wieder vom eigentlichen Thema ab, daher back to topic: Ich hab noch nen rosa Lappen und möchte den auchnoch so lange wie möglich behalten, obwohl ich mir ja schon seit Jahren vornehme, mal endlich nen Motorrad-Führerschein zu machen und dann eh nen neuen bekommen würde. Aber wie ich mich kenne (und ich kenn mich recht gut), wird da sauch in den nächsten Jahren nix werden.
|
|
|
Die Kriminalisierung ist jedenfalls ein riesen Witz und gehört dringend abgeschafft, ab in die Apotheke damit ohne Rezept.
Ich gehe sogar noch weiter: Es muss jedem mündigen Menschen erlaubt sein, sich selbst beliebig zu schädigen (oder eine Schädigung durch böswillige Angreifer zu verhindern). Mit welchem Recht soll ein anderer Mensch ihn daran hindern dürfen?! So sehe ich das auch. Aber dann muss man auch so weit gehen zu sagen, dass jemand, der sich selbst schädigt auch die Konzequenzen zu tragen hat. Sowas muss keine Krankenkasse abdecken und wenn man nicht einen private Zusatzversicherung hat, die das abdeckt, dann hat man eben pech gehabt und wird nicht behandelt. Mag radikal klingen, ist aber die logische Schlussfolgerung einer solchen Einstellung - so zumindest meine Meinung. Na, dann sollen aber auch bitte alle "Extremsportler" ne private Zusatzversicherung abschließen, die für ihre Knochenbrüche und größeren und kleineren Wehwehchen zahlt. Kann schließlich nich angehn, daß die Allgemeinheit für die Kosten der Irren aufkommen muss, die meinen, mit nem Affenzahn die steilsten Berghänge auf nem Drahtesel runterzurasen, wäre ne ganz tolle Idee. Wo fängt man da an und wo hört man auf?
|
|
|
Wenn ich richtig im Kopf habe war mal was mit 0,3W/GH im Gespräch bei S7 Antminer
geht man also von 1.527.569.009 GH/s aus ergibt sich 1650GW Leistungsaufnahme.
Also, die Rechnung musst Du mir aber mal erklären. Ich bekomm bei 1.527.569.009 x 0,3W irgendwie was anderes raus.
|
|
|
Gibt es eine Schritt für Schritt Anleitung im Forum?
Eine Anleitung für was? Des Weiteren hab ich gelesen, dass sich GPU Mining nicht mehr lohnt. Stimmt das noch?
Präzisiere, Bitcoin-Mining? Also, wenn Du mich fragst lohnt sich das ganz allgemein nicht mehr, der Unterschied, ob CPU, GPU, FPGA, oder ASIC liegt eigentlich nur darin, wie hoch der Verlust am Ende ausfällt. Möglich, das sich das Mining von diversen Altcoins (noch) lohnt, aber da ständig auf dem Laufenden zu bleiben, bei welchem Coin das Kurs/Difficulty-Verhältniss grad ins un-/profitable abdriftet..... das kann echt anstrengend werden. Ob sich das "lohnt" muss da jeder für sich entscheiden.
|
|
|
|