small fixes: HTML5 charset, deprecated curly brackets, argument names
[php-utility-classes.git] / examples / rrd / rrd-config.inc.php
CommitLineData
4a778b7e 1<?php
880bcb60
RK
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
4 * You can obtain one at http://mozilla.org/MPL/2.0/. */
5
4a778b7e 6// RRD info for CPU info
7$rrd_info = array();
8$rrd_info['*']['graph']['path'] = 'graphs';
9// $rrd_info['*']['page']['graph_url'] = 'http://127.0.0.1/testbed/rrd/';
10$rrd_info['*']['graph']['units_length'] = 6;
11// $rrd_info['*']['graph']['force_recreate'] = true;
12
13$rrd_info['index']['page']['type'] = 'index';
14// $rrd_info['index']['page']['index_ids'] = 'hd,-hd.root';
15// $rrd_info['index']['page']['scan_config'] = false;
16$rrd_info['index']['page']['scan_files'] = true;
17$rrd_info['index']['hidden'] = true;
18
19$rrd_info['overview']['page']['type'] = 'overview';
4d8d65db 20$rrd_info['overview']['page']['index_ids'] = 'cpu,load,mem,rrdup';
4a778b7e 21$rrd_info['overview']['page']['scan_config'] = false;
22$rrd_info['overview']['page']['text_intro'] = 'Go to the <a href="?stat=index">index page</a> for a full list of all available statistics';
23// $rrd_info['overview']['hidden'] = true;
24
25$rrd_info['cpu']['file'] = 'system.cpu.rrd';
26$rrd_info['cpu']['auto-update'] = true;
7b9ebce7
RK
27$rrd_info['cpu']['fields'][] = array('name' => 'user', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
28$rrd_info['cpu']['fields'][] = array('name' => 'nice', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
29$rrd_info['cpu']['fields'][] = array('name' => 'system', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
30$rrd_info['cpu']['fields'][] = array('name' => 'idle', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
31$rrd_info['cpu']['fields'][] = array('name' => 'iowait', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
32$rrd_info['cpu']['fields'][] = array('name' => 'irq', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
33$rrd_info['cpu']['fields'][] = array('name' => 'softirq', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
34$rrd_info['cpu']['fields'][] = array('name' => 'total', 'type' => 'DERIVE', 'heartbeat' => 600, 'min' => 0, 'max' => 'U');
4a778b7e 35$rrd_info['cpu']['update'] =
36 'function {
7b9ebce7
RK
37 $udata = array("user"=>null,"nice"=>null,"system"=>null,"idle"=>null,
38 "iowait"=>null,"irq"=>null,"softirq"=>null, "total"=>null);
39 $sdata = file("/proc/stat");
4a778b7e 40 foreach ($sdata as $sline) {
41 if (preg_match("/^\s*cpu\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/", $sline, $regs)) {
42 $udata = array("user"=>$regs[1],"nice"=>$regs[2],"system"=>$regs[3],"idle"=>$regs[4],
7b9ebce7
RK
43 "iowait"=>$regs[5],"irq"=>$regs[6],"softirq"=>$regs[7],
44 "total"=>$regs[1]+$regs[2]+$regs[3]+$regs[4]+$regs[5]+$regs[6]+$regs[7]);
4a778b7e 45 }
46 }
47 return $udata;
48 }';
49$rrd_info['cpu']['graph']['rows'][] = array('name'=>'total', 'gType'=>'');
50$rrd_info['cpu']['graph']['rows'][] = array('name'=>'softirq_tmp', 'dsname'=>'softirq', 'gType'=>'');
51$rrd_info['cpu']['graph']['rows'][] = array('name'=>'irq_tmp', 'dsname'=>'irq', 'gType'=>'');
52$rrd_info['cpu']['graph']['rows'][] = array('name'=>'iowait_tmp', 'dsname'=>'iowait', 'gType'=>'');
53$rrd_info['cpu']['graph']['rows'][] = array('name'=>'system_tmp', 'dsname'=>'system', 'gType'=>'');
54$rrd_info['cpu']['graph']['rows'][] = array('name'=>'nice_tmp', 'dsname'=>'nice', 'gType'=>'');
55$rrd_info['cpu']['graph']['rows'][] = array('name'=>'user_tmp', 'dsname'=>'user', 'gType'=>'');
7b9ebce7 56$rrd_info['cpu']['graph']['rows'][] = array('dType'=>'CDEF', 'name'=>'softirq', 'rpn_expr'=>'softirq_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#CCCCCC', 'color_bg'=>'#606060', 'legend'=>'softIRQ');
4a778b7e 57$rrd_info['cpu']['graph']['rows'][] = array('dType'=>'CDEF', 'name'=>'irq', 'rpn_expr'=>'irq_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#808080', 'legend'=>'IRQ', 'stack'=>true);
58$rrd_info['cpu']['graph']['rows'][] = array('dType'=>'CDEF', 'name'=>'iowait', 'rpn_expr'=>'iowait_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#FF00FF', 'legend'=>'I/O wait', 'stack'=>true);
59$rrd_info['cpu']['graph']['rows'][] = array('dType'=>'CDEF', 'name'=>'system', 'rpn_expr'=>'system_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#FF0000', 'legend'=>'System', 'stack'=>true);
7b9ebce7 60$rrd_info['cpu']['graph']['rows'][] = array('dType'=>'CDEF', 'name'=>'nice', 'rpn_expr'=>'nice_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#FFFF00', 'color_bg'=>'#606060', 'legend'=>'Nice', 'stack'=>true);
4a778b7e 61$rrd_info['cpu']['graph']['rows'][] = array('dType'=>'CDEF', 'name'=>'user', 'rpn_expr'=>'user_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#0000FF', 'legend'=>'User', 'stack'=>true);
62$rrd_info['cpu']['graph']['units_length'] = 4;
7b9ebce7 63$rrd_info['cpu']['graph']['label_y'] = '% CPU Usage';
4a778b7e 64$rrd_info['cpu']['graph']['min_y'] = 0;
65$rrd_info['cpu']['graph']['max_y'] = 100;
66$rrd_info['cpu']['graph']['fix_scale_y'] = true;
67// $rrd_info['cpu']['graph']['force_recreate'] = true;
68
4a778b7e 69$rrd_info['mem']['file'] = 'system.mem.rrd';
70$rrd_info['mem']['auto-update'] = true;
71$rrd_info['mem']['fields'][] = array('name' => 'total', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
72$rrd_info['mem']['fields'][] = array('name' => 'used', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
73$rrd_info['mem']['fields'][] = array('name' => 'buffers', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
74$rrd_info['mem']['fields'][] = array('name' => 'cached', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
75$rrd_info['mem']['fields'][] = array('name' => 'swap_total', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
76$rrd_info['mem']['fields'][] = array('name' => 'swap_used', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
77$rrd_info['mem']['update'] =
78 'function {
7b9ebce7 79 $sdata = explode("\n", `/usr/bin/free -wb`);
4a778b7e 80 $udata = array("total"=>null,"used"=>null,"buffers"=>null,"cached"=>null,
81 "swap_total"=>null,"swap_used"=>null);
82 foreach ($sdata as $sline) {
7b9ebce7
RK
83 if (preg_match("/Mem:\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/", $sline, $regs)) {
84 $udata["total"] = $regs[1];
85 $udata["used"] = $regs[2];
86 $udata["buffers"] = $regs[5];
87 $udata["cached"] = $regs[6];
4a778b7e 88 }
89 elseif (preg_match("/Swap:\s+(\d+)\s+(\d+)\s+(\d+)/", $sline, $regs)) {
7b9ebce7
RK
90 $udata["swap_total"] = $regs[1];
91 $udata["swap_used"] = $regs[2];
4a778b7e 92 }
93 }
94 return $udata;
95 }';
96$rrd_info['mem']['graph']['rows'][] = array('name'=>'total', 'gType'=>'LINE1', 'color'=>'#000000', 'legend'=>'Available');
97$rrd_info['mem']['graph']['rows'][] = array('name'=>'used', 'gType'=>'AREA', 'color'=>'#0000FF', 'legend'=>'Used');
98$rrd_info['mem']['graph']['rows'][] = array('name'=>'buffers', 'gType'=>'AREA', 'color'=>'#FFFF00', 'legend'=>'Buffers', 'stack'=>true);
99$rrd_info['mem']['graph']['rows'][] = array('name'=>'cached', 'gType'=>'AREA', 'color'=>'#008000', 'legend'=>'Cache', 'stack'=>true);
100$rrd_info['mem']['graph']['rows'][] = array('name'=>'swap_total', 'gType'=>'LINE1', 'color'=>'#CCCCCC', 'legend'=>'Swap avail.');
101$rrd_info['mem']['graph']['rows'][] = array('name'=>'swap_used', 'gType'=>'LINE2', 'color'=>'#00FFFF', 'legend'=>'Swap used');
102$rrd_info['mem']['graph']['units_binary'] = true;
103$rrd_info['mem']['graph']['units_exponent'] = 6;
104$rrd_info['mem']['graph']['units_length'] = 6;
105$rrd_info['mem']['graph']['label_y'] = 'Memory';
106$rrd_info['mem']['graph']['min_y'] = 0;
107// $rrd_info['mem']['graph']['max_y'] = 100;
108// $rrd_info['mem']['graph']['fix_scale_y'] = true;
109// $rrd_info['mem']['graph']['force_recreate'] = true;
110$rrd_info['mem']['graph.pct']['rows'][] = array('name'=>'total', 'gType'=>'');
111$rrd_info['mem']['graph.pct']['rows'][] = array('name'=>'swap_total', 'gType'=>'');
112$rrd_info['mem']['graph.pct']['rows'][] = array('name'=>'used_tmp', 'dsname'=>'used', 'gType'=>'');
113$rrd_info['mem']['graph.pct']['rows'][] = array('name'=>'buffers_tmp', 'dsname'=>'buffers', 'gType'=>'');
114$rrd_info['mem']['graph.pct']['rows'][] = array('name'=>'cached_tmp', 'dsname'=>'cached', 'gType'=>'');
115$rrd_info['mem']['graph.pct']['rows'][] = array('name'=>'swap_tmp', 'dsname'=>'swap_used', 'gType'=>'');
116$rrd_info['mem']['graph.pct']['rows'][] = array('dType'=>'CDEF', 'name'=>'used', 'rpn_expr'=>'used_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#0000FF', 'legend'=>'Used');
117$rrd_info['mem']['graph.pct']['rows'][] = array('dType'=>'CDEF', 'name'=>'buffers', 'rpn_expr'=>'buffers_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#FFFF00', 'legend'=>'Buffers', 'stack'=>true);
118$rrd_info['mem']['graph.pct']['rows'][] = array('dType'=>'CDEF', 'name'=>'cached', 'rpn_expr'=>'cached_tmp,total,/,100,*', 'gType'=>'AREA', 'color'=>'#008000', 'legend'=>'Cache', 'stack'=>true);
119$rrd_info['mem']['graph.pct']['rows'][] = array('dType'=>'CDEF', 'name'=>'swap_used', 'rpn_expr'=>'swap_tmp,swap_total,/,100,*', 'gType'=>'LINE2', 'color'=>'#00FFFF', 'legend'=>'Swap');
120$rrd_info['mem']['graph.pct']['units_exponent'] = 0;
121$rrd_info['mem']['graph.pct']['units_length'] = 4;
122$rrd_info['mem']['graph.pct']['label_y'] = '% Memory';
123$rrd_info['mem']['graph.pct']['min_y'] = 0;
124$rrd_info['mem']['graph.pct']['max_y'] = 100;
125$rrd_info['mem']['graph.pct']['fix_scale_y'] = true;
126// $rrd_info['mem']['graph.pct']['force_recreate'] = true;
127$rrd_info['mem']['page.pct']['graph_sub'] = 'pct';
128
129$rrd_info['load']['file'] = 'system.load.rrd';
130$rrd_info['load']['auto-update'] = true;
131$rrd_info['load']['fields'][] = array('name' => 'load1', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
132$rrd_info['load']['fields'][] = array('name' => 'load5', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
133$rrd_info['load']['fields'][] = array('name' => 'load15', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
134$rrd_info['load']['update'] = 'function { $sdata = explode(" ",file_get_contents("/proc/loadavg")); return array("load1"=>$sdata[0],"load5"=>$sdata[1],"load15"=>$sdata[2]); }';
135$rrd_info['load']['graph']['rows'][] = array('name'=>'load1', 'gType'=>'AREA', 'color'=>'#00CC00', 'legend'=>'1 Min.');
136$rrd_info['load']['graph']['rows'][] = array('name'=>'load5', 'gType'=>'LINE1', 'color'=>'#FF4000', 'legend'=>'5 Min.');
137$rrd_info['load']['graph']['rows'][] = array('name'=>'load15', 'gType'=>'LINE1', 'color'=>'#0000FF', 'legend'=>'15 Min.');
138$rrd_info['load']['graph']['units_length'] = 4;
139$rrd_info['load']['graph']['units_exponent'] = 0;
140$rrd_info['load']['graph']['label_y'] = 'Load average';
141$rrd_info['load']['graph']['min_y'] = 0;
142// $rrd_info['load']['graph']['force_recreate'] = true;
143$rrd_info['load']['page']['data_colorize'] = true;
144
4a778b7e 145/* !!! be sure to call this one _last_ of all auto-update rrd stats */
146$rrd_info['rrdup']['file'] = 'test.rrdup.rrd';
147// $rrd_info['rrdup']['auto-update'] = true;
148$rrd_info['rrdup']['fields'][] = array('name' => 'usertime', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
149$rrd_info['rrdup']['fields'][] = array('name' => 'systime', 'type' => 'GAUGE', 'heartbeat' => 600, 'min' => 'U', 'max' => 'U');
150$rrd_info['rrdup']['update'] = 'function { $sdata = posix_times(); return array("usertime"=>$sdata["cutime"],"systime"=>$sdata["cstime"]); }';
151$rrd_info['rrdup']['graph']['rows'][] = array('name'=>'systime', 'gType'=>'AREA', 'color'=>'#FF0000', 'legend'=>'System CPU time');
152$rrd_info['rrdup']['graph']['rows'][] = array('name'=>'usertime', 'gType'=>'AREA', 'color'=>'#0000FF', 'legend'=>'User CPU time', 'stack'=>true);
153$rrd_info['rrdup']['graph']['scale'] = 0.01;
154$rrd_info['rrdup']['graph']['units_length'] = 4;
155$rrd_info['rrdup']['graph']['units_exponent'] = 0;
156$rrd_info['rrdup']['graph']['label_y'] = 'RRD update (seconds)';
157$rrd_info['rrdup']['graph']['min_y'] = 0;
158// $rrd_info['rrdup']['graph']['force_recreate'] = true;
159
4a778b7e 160?>