Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
resources => {
		# this key defines the resource type
		'cpu' => {
			# the name that is displayed for this resource
			'resource_name' => 'CPU',
 
			# resources can inherit, and then override, use import to specify the file/section to import from
			'import' => 'Resources-Common/cpu',
 
			# is the NMIS model section we point at indexed?
			'indexed' => 'true',
 
			# which NMIS model section to look in (other egs: 'system','interface','storage', etc.  these are on the base level)
			# also points into the -node file, tells it which section in the node file to use
			'section' => 'device',
 
			# list of properties which are appended to create the index for this, they are joined together with ":"
			# and used as the resource name
			# not required if indexed is false
			'indexed_name' => ['index','hrDeviceDescr'],
 
			# graph_type, this is passed into getDBName to resolve the db path
			'rrd_resource' => 'hrsmpcpu',
 
			# array of graphs that relate to this resource
			'graphs' => ['hrsmpcpu'],
		
			# not listed: properties
			# properties are gleaned from the -node file, anything available in the section that relates to this
			# resource are available

			# list of virtual properties, see "virtual options", can access any properties,virtual properties
			'virtual_properties' => [
				{
					name => 'resource_enabled',
					operation => 'define',
					value => '1',
				},
				{
					name => 'friendly_name',
					operation => 'calculation',
					value => '"CPU $index"',
				}
			],
 
			# list of fields available from the RRD, fields must be listed here to be used, even if they surely exist in the rrd
			'fields' => [
				{
					name =>'hrCpuLoad',
					display_suffix => '%'
				}
			 ],
 
			# list of virtual fields, see "virtual options", can access any properties,virtual properties,fields or other virtual fields
			# NOTE: be sure not to create circular dependencies (x uses y for calculation, y uses x for calculation)
			'virtual_fields' => [
				{
					name => 'cpuLoad',
					operation => 'define',
					value => '$hrCpuLoad',
					display_suffix => '%'
				}
			],
 
			# this is for opTrend, can be ignored
			# tells optrend which fields to run seds on (virtual or normal)
			'seds_fields' => ['cpuLoad'],
 
			# also for opTrend, can be ignored
			# tells optrend which fields to run thresholding on, and which type to use
			'threshold_fields' => {
				'cpuLoad' => 'ev',
			}
		}
	}

...