The purpose of graphR. is to automatize and simplify the analysis of RVTools exports and to give a visual presentation of the information contained within one Excel export. RVTools is a VMware utility that connects to a vCenter and gathers information with an impressive level of detail on the VMware environment (e. g. on virtual machines, on ESX hosts, on the network configuration). The data collection is fast and easy. The end result can be stored in a Microsoft Excel file. RVTools exports are a great way to collect data on VMware environments. However, analyzing RVTool exports especially of complex environments can be time-consuming, error-prone and cumbersome.
That's where graphR. steps in. GraphR. processes RVTool exports which are saved as Microsoft Excel files. It performs some statistical analysis on the data contained within the Microsoft Excel file. The dataset is visualized through some beautiful looking diagrams. Finally all tables and charts are assembled in one downloadable PDF report. Hence graphR. enables you to generate a concise report with some great graphics
in order to derive meaningful insights on the analyzed VMware enviroment.
If you are interested, find out more at the graphR. website. There you can also try the app online and get started right away.
To run graphR. you just need an eviroment which supports Docker containers. To customize graphR. according to your needs the installation of the open source programming language R is recommended.
The easiest way to use graphR. is to pull the latest pre-build Docker container from Dockerhub and to run it within your enviroment. The following commands will download graphR. from Dockerhub and make it available on your enviroment using it's ip-address
docker pull smichard/graphr
docker run -d -p 80:3838 smichard/graphr
To customize graphR. according to your needs, e. g. by adding new ways to plot the data, altering threshold values or adding a custom design just clone this repository:
git clone https://github.com/smichard/graphR.git
Since the core of graphR. is written in R the installation of R is recommended to see the chances taking effect. If you are using R-Studio as code editor the graphr_dashboard.Rproj
file contains all necessary files to adjust graphR.
Following a short description of the most important files:
app.R
- the main file, which is needed by the Shiny web framework to display the web app. Here the GUI of the web app is described, also sources thelibraries.R
and theserver_rv.R
filesserver_rv.R
- contains all necessary functions to ingest the raw data, to perform some basic analysis, to generate diagrams and to finally generate the pdf reportplottingFunctions.R
- a set of functions to display text, data frames and diagrams on slideslibraries.R
- contains a list of all required R packages, also sources theplottingFunctions.R
file
In case you want to use custom backgrounds according to your corporate identity just replace the image files within the /graphr/backgrounds
folder and make sure to use the .png
file format. The recommended image dimensions are 960 px times 540 px.
Once all changes are done you can build your own custom graphR. container using the following commands:
docker build -t <project name> .
docker run -d -p 80:3838 <project name>
The use of graphR. is designed to be simple:
- Collect the data with the RVTools and save the export as
.xls
or.xlsx
file - Upload the
.xls
or.xlsx
file to graphR. and hitGenerate Report
- Enjoy your report
get a glimpse through this YouTube video:
- R - The open source programming language for statistical computing
- R-Studio - Used as code editor for R and for debugging and visualization
- Shiny - Used as web application framework for R
- Docker - Used to package all dependencies into one container
- Stephan Michard - reach out on Twitter
MIT License
Copyright (c) [2017], [Stephan Michard]
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.
Please file bugs and issues at the GitHub issues page. The code and documentation are released with no warranties or SLAs and are intended to be supported through a community driven process.