Thank you for youre detailed instructions. However I made a small CPU/RAM statistic from "onehost list -x" and parsed it's output with a ruby script. Crontab refresh it in every min. It should be enough for the public :)
2012-09-09 14:44 keltezéssel, Hector Sanjuan írta: > The statistics are only accesible if you are logged in and to put all > that in your own page is not inmmediate. > > If you can make an app that takes a screenshot of your sunstone screen > and serves it to the public that could be one easy way. > > Second dirty way would be to try deploy a second sunstone server whose > dashboard and layout are hacked in a way that it only shows the > statistics (hiding the menu, top/bottom bars). I never tried to deploy > a second server for the same install of ONE, but I think it should be > possible. Hacking would be done in layout.js and dashboard-tab.js > files mostly. You can hack sunstone-server.rb so that login happens > automaticly with the credentials you want and perform relogin if > session exprires. > > And programatically, it is not so straightforward. Dashboard > statistics are build by processing and regrouping the data that comes > when the list of Hosts, VMs... is fetched. This is done in > monitoring.js which groups and plots the information according to > configurations defined in the SunstoneMonitoringConfig object. > > So this approach would be a bit of a hell if you're not familiar with > the code: > > 1 - add a custom route to the sunstone server that generates the stats > page you want to show. > > get '/stats' do > #perhaps turn session expiration of here > erb :stats, :layout => false > end > > The generated html should contain the <div>s where you would like to > paint the things. You can try copying that from dashboard-tab.js. > > 2 - Include opennenbula.js, monitoring.js and all the jquery* vendor > libraries. Create a new stats.js file. After you login in sunstone, > you can directly go to http://sunstone-ip:port/stats Your stats.js > will need to make use of OpenNebula.Host.list(params) and similar to > get a list of resources. In the params you need to include a callback > function. > > 3 - your stats JS should include the SunstoneMonitoringConfig['HOST'] > You can copy it from hosts-tab.js. The only part I think you need to > edit is the plot() function inside it, which indicates where the plots > are going to be painted ("container"). > > 4 - Within the callback function for Host.list() you should call > > SunstoneMonitoring.monitor('HOST', host_list) > > (see updateHostsView() in hosts-tab.js, which is the callback for > Host.list()) > > 5 - If the steps above are ok then the pies and diagrams for hosts > should be painted in your stats page in the divs that you placed. If > you want VMs stats, you need to get the VMs list, the > SunstoneMonitoringConfig['VM'] object and repeat the process. > > I keep wondering if maybe I missed an easy brighter way to do this. > I'll write back if it cames to my mind. > _______________________________________________ Users mailing list Users@lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org