...
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',
}
}
} |
...