a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 17, 2014, 07:21:27 PM |
|
P2Pool puts up a nice web page that you can view in a browser to monitor your pool performance.
However, my p2pool node are behind a firewall, and I only let ports 8333 and 9333 through that wall. And 22, for SSH and SCP.
So, how can I monitor my p2pool node remotely under these conditions?
I would like to keep a log file on a remote machine, together with a real-time display, so if something goes wrong, I know it's time to go visit my hardware.
|
|
|
|
|
|
|
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, which will follow the rules of the network no matter what miners do. Even if every miner decided to create 1000 bitcoins per block, full nodes would stick to the rules and reject those blocks.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
squashpile
|
|
May 17, 2014, 07:52:21 PM |
|
SSH in and run screen is how I do it. screen -d -m -S btcp2pool ~/p2pool/run_p2pool.py --give-author 0 blah 64646464615015484 screen -x btcp2pool Hit control-A then D to exit screen and leave p2pool running. Type screen -r to see it again. If you hit control-c when in screen it will kill P2pool.
|
SquashPool - 0% Fee - Dedicated P2Pool VPS - Atlanta, GA - SSD - Gig uplink
|
|
|
norgan
|
|
May 18, 2014, 04:22:46 AM |
|
I have my nodes dashboard hosted on a separate web server and can access stats via standard http port. The code locally as well as remote does a json call. All you need to do is reference the pools URL instead of local json sources. There is a bit of into on this and I've based my front end on the alternate front end on the githib page. Have a look at the link in my sig and see if that's what you are after. Let me know if you need more help with it.
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 19, 2014, 06:36:55 AM |
|
SSH in and run screen is how I do it. screen -d -m -S btcp2pool ~/p2pool/run_p2pool.py --give-author 0 blah 64646464615015484 screen -x btcp2pool Hit control-A then D to exit screen and leave p2pool running. Type screen -r to see it again. If you hit control-c when in screen it will kill P2pool.
This sounds like a nice easy way to do things. I think I will install screen and have a look at its man pages to figure out what the options you used are for.
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 19, 2014, 06:48:32 AM |
|
I have my nodes dashboard hosted on a separate web server and can access stats via standard http port. The code locally as well as remote does a json call. All you need to do is reference the pools URL instead of local json sources. There is a bit of into on this and I've based my front end on the alternate front end on the githib page. Have a look at the link in my sig and see if that's what you are after. Let me know if you need more help with it.
That looks really slick, norgan! I had a look at the source code for your page... if there were any comments in it, I might be able to figure out what it does (my own code is at least half comments, otherwise I can't read it myself after a week or two). Care to explain it to me?
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 19, 2014, 06:51:25 AM |
|
Does anybody know where p2pool puts its log files and what it calls them?
|
|
|
|
norgan
|
|
May 19, 2014, 06:53:41 AM |
|
Does anybody know where p2pool puts its log files and what it calls them?
you need to specify that in the start up string. i.e. run_p2pool --logfile C:\p2pool-btc\logs\p2pool.log
|
|
|
|
norgan
|
|
May 19, 2014, 06:55:48 AM |
|
I have my nodes dashboard hosted on a separate web server and can access stats via standard http port. The code locally as well as remote does a json call. All you need to do is reference the pools URL instead of local json sources. There is a bit of into on this and I've based my front end on the alternate front end on the githib page. Have a look at the link in my sig and see if that's what you are after. Let me know if you need more help with it.
That looks really slick, norgan! I had a look at the source code for your page... if there were any comments in it, I might be able to figure out what it does (my own code is at least half comments, otherwise I can't read it myself after a week or two). Care to explain it to me? haha yeah well it's a real mashup of the extended front end ( https://github.com/hardcpp/P2PoolExtendedFrontEnd) and some of my own code. It's pretty straight forward for the layout and the javascript is all from the goblin stats project. https://github.com/goblin/p2pool-stats/
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 19, 2014, 06:36:01 PM |
|
Does anybody know where p2pool puts its log files and what it calls them?
you need to specify that in the start up string. i.e. run_p2pool --logfile C:\p2pool-btc\logs\p2pool.log Aha. Thanks. Does it put the exact same stuff in the log file as it writes to the console?
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 19, 2014, 06:38:15 PM |
|
I have my nodes dashboard hosted on a separate web server and can access stats via standard http port. The code locally as well as remote does a json call. All you need to do is reference the pools URL instead of local json sources. There is a bit of into on this and I've based my front end on the alternate front end on the githib page. Have a look at the link in my sig and see if that's what you are after. Let me know if you need more help with it.
That looks really slick, norgan! I had a look at the source code for your page... if there were any comments in it, I might be able to figure out what it does (my own code is at least half comments, otherwise I can't read it myself after a week or two). Care to explain it to me? haha yeah well it's a real mashup of the extended front end ( https://github.com/hardcpp/P2PoolExtendedFrontEnd) and some of my own code. It's pretty straight forward for the layout and the javascript is all from the goblin stats project. https://github.com/goblin/p2pool-stats/Thanks for the links. I'll look into it.
|
|
|
|
norgan
|
|
May 19, 2014, 09:35:02 PM |
|
Does anybody know where p2pool puts its log files and what it calls them?
you need to specify that in the start up string. i.e. run_p2pool --logfile C:\p2pool-btc\logs\p2pool.log Aha. Thanks. Does it put the exact same stuff in the log file as it writes to the console? Yes it just dumps it's output.
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 20, 2014, 10:30:54 PM |
|
Yes it just dumps it's output.
Thanks again.
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 20, 2014, 10:35:37 PM |
|
There are a lot of interesting files in ~/p2pool/data/bitcoin with intriguing names like graph_db and log and stats and such like.
I could just grab these files with sftp and extract the information I want once I have them here.
Where can I find documentation for the file formats?
|
|
|
|
norgan
|
|
May 20, 2014, 11:14:28 PM |
|
There are a lot of interesting files in ~/p2pool/data/bitcoin with intriguing names like graph_db and log and stats and such like.
I could just grab these files with sftp and extract the information I want once I have them here.
Where can I find documentation for the file formats?
that's its own databases for tracking shares etc after you restart a node. it'd be much easier to just pull the json files. Web interface
Lots of data and useful tools are available at http://127.0.0.1:9332/something: /static/ - Lots of information from shares to graphs to payouts. /rate /users /fee /current_payouts /patron_sendmany - Gives sendmany outputs for fair donations to P2Pool /global_stats /local_stats /peer_addresses /payout_addr /recent_blocks /uptime /web/log - Some different stats collected over the last day
|
|
|
|
a.miner (OP)
Newbie
Offline
Activity: 43
Merit: 0
|
|
May 21, 2014, 12:12:02 AM |
|
that's its own databases for tracking shares etc after you restart a node. it'd be much easier to just pull the json files.
Well, I looked at what those return, and I would still have to write code to parse out the contents of the JSON objects. So I might as well parse out the data files directly. Besides, the JSON interface doesn't seem to give me any way to plot a graph of local hash rate. I assume the data for that is in the file graph_db. The file format must be documented somewhere...
|
|
|
|
norgan
|
|
May 21, 2014, 02:00:02 AM |
|
d3.json('http://pool.norgzpool.net.au:9332/global_stats', function(global_stats) { d3.select('#pool_rate').text(d3.format('.3s')(global_stats.pool_hash_rate) + 'H/s'); d3.select('#pool_stale').text(d3.format('.2p')(global_stats.pool_stale_prop)); d3.select('#difficulty').text(d3.format('.3r')(global_stats.min_difficulty)); var time_to_block = local_stats.attempts_to_block/global_stats.pool_hash_rate; d3.select('#time_to_block').text(d3.format('.3r')(time_to_block/3600) + " hours"); d3.select('#expected_payout_amount').text(d3.format('.3r')(local/global_stats.pool_hash_rate*local_stats.block_value*(1-local_stats.donation_proportion))); /// ============================================ var data = [ ['Local speed', local],['Local dead speed', local_dead], ['Global speed', global_stats.pool_hash_rate] ]; if (plot2) {plot2.destroy();} $("#targetPlot2").remove(); $("#SpeedChart").append("<div id='targetPlot2'></div>"); plot2 = jQuery.jqplot ('targetPlot2', [data], { seriesDefaults: { // Make this a pie chart. renderer: jQuery.jqplot.PieRenderer, rendererOptions: { // Put data labels on the pie slices. // By default, labels show the percentage of the slice. showDataLabels: true } }, legend: { show:true, location: 'e' } } ); }); /// ============================================ var data = [ ['Good', local_stats.shares.total - (local_stats.shares.orphan + local_stats.shares.dead)],['Dead', local_stats.shares.dead], ['Orphaned', local_stats.shares.orphan] ]; if (plot1) {plot1.destroy();} $("#targetPlot1").remove(); $("#ShareChart").append("<div id='targetPlot1'></div>"); plot1 = jQuery.jqplot ('targetPlot1', [data], { seriesDefaults: { // Make this a pie chart. renderer: jQuery.jqplot.PieRenderer, rendererOptions: { // Put data labels on the pie slices. // By default, labels show the percentage of the slice. showDataLabels: true } }, legend: { show:true, location: 'e' } } );
}); /// pool speed grapg plot_later(d3.select("#main-local"), "H/s", "H", [ {"url": "http://pool.norgzpool.net.au:9332/web/graph_data/local_hash_rate/last_" + period, "color": "#0000FF", "label": "Total"}, {"url": "http://pool.norgzpool.net.au:9332/web/graph_data/local_dead_hash_rate/last_" + period, "color": "#FF0000", "label": "Dead"} ],1000,300);
} I think that's the bit that does the graph.
|
|
|
|
|