[collectd] [PATCH 4/6] php-collection/definitions.php: Add MetaGraph definitions for bind plugin

Bruno Prémont bonbons at linux-vserver.org
Sun Mar 1 22:19:59 CET 2009


php-collection/definitions.php: Add MetaGraph definitions for bind plugin

Add metagraph definition and matching function for the various
types used by bind plugin.
Adjust the memory MetaGraph function to support bind memory statistics.

diff --git a/contrib/php-collection/definitions.php b/contrib/php-collection/definitions.php
--- a/contrib/php-collection/definitions.php
+++ b/contrib/php-collection/definitions.php
@@ -1576,6 +1576,18 @@ function load_graph_definitions($logarithmic = false, $tinylegend = false) {
 	$MetaGraphDefs['mysql_commands']    = 'meta_graph_mysql_commands';
 	$MetaGraphDefs['mysql_handler']     = 'meta_graph_mysql_commands';
 	$MetaGraphDefs['tcp_connections']   = 'meta_graph_tcp_connections';
+	$MetaGraphDefs['dns_opcode']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_qtype']         = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_rcode']         = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_request']       = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_resolver']      = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_update']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_zops']          = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_response']      = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_query']         = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_reject']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_notify']        = 'meta_graph_dns_event';
+	$MetaGraphDefs['dns_transfer']      = 'meta_graph_dns_event';
 
 	if (function_exists('load_graph_definitions_local'))
 		load_graph_definitions_local($logarithmic, $tinylegend);
@@ -1706,13 +1718,20 @@ function meta_graph_memory($host, $plugin, $plugin_instance, $type, $type_instan
 
 	$files = array();
 	$opts['colors'] = array(
+		// Linux - System memoery
 		'free'     => '00e000',
 		'cached'   => '0000ff',
 		'buffered' => 'ffb000',
-		'used'     => 'ff0000'
+		'used'     => 'ff0000',
+		// Bind - Server memory
+		'TotalUse'    => '00e000',
+		'InUse'       => 'ff0000',
+		'BlockSize'   => '8888dd',
+		'ContextSize' => '444499',
+		'Lost'        => '222222'
 	);
 
-	$type_instances = array('free', 'cached', 'buffered', 'used');
+	$type_instances = array('free', 'cached', 'buffered', 'used',   'TotalUse', 'InUse', 'BlockSize', 'ContextSize', 'Lost');
 	while (list($k, $inst) = each($type_instances)) {
 		$file = '';
 		foreach ($config['datadirs'] as $datadir)
@@ -2037,4 +2056,34 @@ function meta_graph_tcp_connections($host, $plugin, $plugin_instance, $type, $ty
 	return collectd_draw_meta_stack($opts, $sources);
 }
 
+function meta_graph_dns_event($host, $plugin, $plugin_instance, $type, $type_instances, $opts = array()) {
+	global $config;
+	$sources = array();
+
+	$title = "$host/$plugin".(!is_null($plugin_instance) ? "-$plugin_instance" : '')."/$type";
+	if (!isset($opts['title']))
+		$opts['title'] = $title;
+	$opts['rrd_opts'] = array('-v', 'Events', '-r', '-l', '0');
+
+	$files = array();
+//	$opts['colors'] = array(
+//	);
+
+//	$type_instances = array('IQUERY', 'NOTIFY');
+	while (list($k, $inst) = each($type_instances)) {
+		$file  = '';
+		$title = $opts['title'];
+		foreach ($config['datadirs'] as $datadir)
+			if (is_file($datadir.'/'.$title.'-'.$inst.'.rrd')) {
+				$file = $datadir.'/'.$title.'-'.$inst.'.rrd';
+				break;
+			}
+		if ($file == '')
+			continue;
+
+		$sources[] = array('name'=>$inst, 'file'=>$file);
+	}
+	return collectd_draw_meta_stack($opts, $sources);
+}
+
 ?>



More information about the collectd mailing list