| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2016-07-22 14:29:29 -05:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |  * This program is free software: you can redistribute it and/or modify it | 
					
						
							|  |  |  |  * under the terms of the GNU General Public License as published by the | 
					
						
							|  |  |  |  * Free Software Foundation, either version 3 of the License, or (at your | 
					
						
							|  |  |  |  * option) any later version.  Please see LICENSE.txt at the top level of | 
					
						
							|  |  |  |  * the source code distribution for details. | 
					
						
							| 
									
										
										
										
											2016-07-22 14:29:29 -05:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |  * @package    LibreNMS | 
					
						
							|  |  |  |  * @subpackage graphs | 
					
						
							|  |  |  |  * @link       http://librenms.org | 
					
						
							|  |  |  |  * @copyright  2017 LibreNMS | 
					
						
							|  |  |  |  * @author     LibreNMS Contributors | 
					
						
							|  |  |  | */ | 
					
						
							| 
									
										
										
										
											2016-07-22 14:29:29 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-11 23:26:42 -05:00
										 |  |  | require 'includes/html/graphs/common.inc.php'; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  | $stacked = generate_stacked_graphs(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-24 09:53:38 +00:00
										 |  |  | $descr_len = 12; | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  | if ($nototal) { | 
					
						
							| 
									
										
										
										
											2015-11-15 11:48:39 +10:00
										 |  |  |     $descr_len += '2'; | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |     $unitlen += '2'; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2011-09-30 19:15:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  | $rrd_options .= " COMMENT:'" . rrdtool_escape($unit_text, $descr_len) . "      Now      Min      Max     Avg\l'"; | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  | $i = 0; | 
					
						
							| 
									
										
										
										
											2011-09-30 19:15:58 +00:00
										 |  |  | $iter = 0; | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  | foreach ($rrd_list as $rrd) { | 
					
						
							| 
									
										
										
										
											2016-07-22 14:29:29 -05:00
										 |  |  |     // get the color for this data set
 | 
					
						
							| 
									
										
										
										
											2016-08-18 20:28:22 -05:00
										 |  |  |     if (isset($rrd['colour'])) { | 
					
						
							| 
									
										
										
										
											2016-07-22 14:29:29 -05:00
										 |  |  |         $colour = $rrd['colour']; | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         if (!$config['graph_colours'][$colours][$iter]) { | 
					
						
							|  |  |  |             $iter = 0; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         $colour = $config['graph_colours'][$colours][$iter]; | 
					
						
							|  |  |  |         $iter++; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-01 08:08:06 +10:00
										 |  |  |     if (!empty($rrd['area']) && empty($rrd['areacolour'])) { | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |         $rrd['areacolour'] = $colour . "20"; | 
					
						
							| 
									
										
										
										
											2015-07-01 08:08:06 +10:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |     $ds = $rrd['ds']; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |     $filename = $rrd['filename']; | 
					
						
							| 
									
										
										
										
											2011-09-30 19:15:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |     $descr = rrdtool_escape($rrd['descr'], $descr_len); | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |     $id = 'ds' . $i; | 
					
						
							| 
									
										
										
										
											2011-03-11 12:01:13 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |     $rrd_options .= ' DEF:' . $id . "=$filename:$ds:AVERAGE"; | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |     if ($simple_rrd) { | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |         $rrd_options .= ' CDEF:' . $id . 'min=' . $id . ' '; | 
					
						
							|  |  |  |         $rrd_options .= ' CDEF:' . $id . 'max=' . $id . ' '; | 
					
						
							| 
									
										
										
										
											2016-08-18 20:28:22 -05:00
										 |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |         $rrd_options .= ' DEF:' . $id . "min=$filename:$ds:MIN"; | 
					
						
							|  |  |  |         $rrd_options .= ' DEF:' . $id . "max=$filename:$ds:MAX"; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2011-09-18 22:55:29 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |     if ($rrd['invert']) { | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |         $rrd_options .= ' CDEF:' . $id . 'i=' . $id . ',' . $stacked['stacked'] . ',*'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $rrd_optionsb .= ' LINE1.25:' . $id . 'i#' . $colour . ":'$descr'"; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |         if (!empty($rrd['areacolour'])) { | 
					
						
							| 
									
										
										
										
											2017-12-04 08:12:24 +00:00
										 |  |  |             $rrd_optionsb .= ' AREA:' . $id . 'i#' . $rrd['areacolour']; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2016-08-18 20:28:22 -05:00
										 |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |         $rrd_optionsb .= ' LINE1.25:' . $id . '#' . $colour . ":'$descr'"; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |         if (!empty($rrd['areacolour'])) { | 
					
						
							| 
									
										
										
										
											2017-12-04 08:12:24 +00:00
										 |  |  |             $rrd_optionsb .= ' AREA:' . $id . '#' . $rrd['areacolour'] ; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-10-27 13:04:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  |     $rrd_optionsb .= ' GPRINT:' . $id . ':LAST:%5.2lf%s' . $units . ' GPRINT:' . $id . 'min:MIN:%5.2lf%s' . $units; | 
					
						
							|  |  |  |     $rrd_optionsb .= ' GPRINT:' . $id . 'max:MAX:%5.2lf%s' . $units . ' GPRINT:' . $id . ":AVERAGE:'%5.2lf%s$units\\n'"; | 
					
						
							| 
									
										
										
										
											2011-09-30 13:09:14 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  |     $i++; | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2011-03-17 10:57:51 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-09-19 08:54:48 +00:00
										 |  |  | $rrd_options .= $rrd_optionsb; | 
					
						
							| 
									
										
										
										
											2015-07-10 13:36:21 +02:00
										 |  |  | $rrd_options .= ' HRULE:0#555555'; | 
					
						
							| 
									
										
										
										
											2017-12-02 22:28:03 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | unset($stacked); |