```################################################################################ # rrdmrtg.class.php # # # # # # Created by Md. Monjurul Hasan # # # # Website: http://www.monjurulhasan.com # # # # Email: jewel.buet.cse@gmail.com # # # ################################################################################ Please read below to successfully implement this class Intended use To manipulate RRD values (Average, Maximum, Last and 95th Percentile) using PHP-RRDTool API, current PHP-RRDTool API only gives us the rrd values fetch feature. Pre-requisites 1. Network bandwidth calculation using SNMP-MRTG-RRDTool-PHP 2. Time series RRDTool-MRTG should be enabled in linux server. For this application, platform was CentOS 5.2 with RRDTool 1.2.27, PHP 5.1.6 and rrdtool-php-1.2.27 enabled. 3. RRD database is updated continuously otherwise you wont see values in the display table Value Estimation Algorithms Calculating Average: Sum of values/Total # of value Last/Current Value: Last updated value (in and out) in rrd file Maximum: Get the maximum of the rrd values (in and out) 95th Percentile: For my algorithm, please read the following example that I found from http://forums.cacti.net/post-95140.html&highlight= Say we have a series of data stored, we want to calculate the 95th percentile for this series of data. 1. We take the set of data, this data is an array of values retrieved from RRDtool. array: [ 2345, 3456, 1234, 5678, 7890, 5675, 3452, 56758, 2345, 234, 57788 ] 2. We have to sort the array, because we are only interested in knowing the 95th highest value. array: [ 234, 1234, 2345, 2345, 3452, 3456, 5675, 5678, 7890, 56758, 57788 ] 3. We take the number of elements in the array (11) and we multiply by the Nth percentage we want (.95) and we then round that value. round( 11 * .95 ) = 10 = Array element of interest 4. We then return the 95th percentile number, which is the 10 element in the array. All values are round up. Files included: config file //required for the rrdfiles path test.php //test file rrdmrtg.php // main class file HelperFunc.php //helper functions datagrid.css //css file for the table images/head_bg.gif //required for the display table Screenshot.png //a screenshot of the output Could not include here the rrd files: rra/test1.rrd //required rrd files for test rra/test2.rrd Thanks for reading. ################################ End ########################################### Md. Monjurul Hasan Website: http://www.monjurulhasan.com Please post me bugs and feature requests At: jewel.buet.cse@gmail.com ```
For more information send a message to `info at phpclasses dot org`.