###Custom graph front-end for ZENOSS - Cacti Like Graphs including date ranges and zoom
DEMO @ http://zenrrd.linuxjunkie.com
##Requirements:
- ZENOSS 4.2+ (This will probably work with older versions)
- Apache with CGI access (other flavors would work, just not tested)
- This MUST run on the same box as the ZENOSS collector
- sudo access as root (reason: step #3, bash wrapper runs sudo -i -h zenoss)
- PHP5 (older version will probably work)
- Perl
- Time::ParseDate
- Compress::Zlib
- MIME::Base64::URLSafe
- CGI
- LWP::UserAgent
##Installing:
-
unpack files into a [webroot] of your choice (apache has been tested)
- [webroot]/cgi-bin/.htaccess file is included to add cgi-support (AllowOverride All is needed to be set in the apache conf)
-
copy [webroot]/zenrrd.config.dist to [webroot]/zenrrd.config
** You must set 3 variables in the file before continuing. More details are in the config
- renderserver_url=
- zenoss_perf_dir=
- zenoss_users=
-
execute [webroot]/bin/zenoss_rrd_int_csv.sh
- you might needs to the change the first line in [webroot]/bin/get_interface_csv.py (depending on your zenoss install dir)
I.E. #!/opt/zenoss/bin/python
- verify it created the file "[webroot]/bin/interfaces.csv" INFO: All this does is execute a python script as the zenoss user (to access the zenoss device database) and creates the [webroot]/bin/interfaces.csv file.
- debug: you can run '[webroot]/bin/zenoss_rrd_int_csv.sh debug' to see the output
-
ADD to crontab: (once you have verified step 3 created a [webroot]/bin/interfaces.csv)
- this will update your interface csv
30 * * * * root [webroot]/bin/zenoss_rrd_int_csv.sh
-
Allow graph access without the need to login to zenoss
- Visit: http://[your_zenoss_url]/zport/RenderServer/manage_access
- Allow anonymouse to 'View' -- it's close to the bottom of the page
- Go to your website (wherever you put your [webroot])
...and explorer
##Modifying
-
Feel fee to modify/update anything. If you have time to fix and add features, let me know!
-
If you edit the zenrrd.js or zenrrd_zoom.js, make sure you run bin/compile_js.sh to update the minfified code or you won't see your updates. You can also of course change the includes to point at the non *.min.js files for testing.