# -*- perl -*- use strict; package CHIRP::Template::Template; use lib "/usr/local/cricket/lib"; use snmpUtils; my $oid_MyInOID = ".1.3.6.1.2.1.2.2.1.10"; my $oid_MyOutOID = ".1.3.6.1.2.1.2.2.1.16"; sub GenConfig { my($hostname, $snmp_community, $snmp_port, $options) = @_; $snmp_community = 'public' unless defined($snmp_community); $snmp_port = '161' unless defined($snmp_port); my($snmp) = "$snmp_community\@$hostname:$snmp_port"; my($config) = {}; # OIDs $config->{oid}->{"MyInOID"} = "$oid_MyInOID"; $config->{oid}->{"MyOutOID"} = "$oid_MyOutOID"; # DataSources $config->{datasource}->{"--default--"}->{"rrd-ds-type"} = "COUNTER"; $config->{datasource}->{"MyInSource"}->{"ds-source"} = "snmp://%snmp%/MyInOID.%inst%"; $config->{datasource}->{"MyOutSource"}->{"ds-source"} = "snmp://%snmp%/MyOutOID.%inst%"; # Graphs $config->{graph}->{"--default--"}->{"y-axis"} = '"Things per second"'; $config->{graph}->{"--default--"}->{"units"} = '"things/sec"'; $config->{graph}->{"--default--"}->{"bytes"} = "true"; $config->{graph}->{"--default--"}->{"precision"} = "0"; $config->{graph}->{"--default--"}->{"y-min"} = "0"; $config->{graph}->{"MyInSource"}->{"legend"} = '"Average Things In"'; $config->{graph}->{"MyInSource"}->{"draw-as"} = "AREA"; $config->{graph}->{"MyOutSource"}->{"legend"} = '"Average Things Out"'; $config->{graph}->{"MyOutSource"}->{"draw-as"} = "LINE3"; # TargetTypes $config->{targettype}->{"--default--"}->{"MyTag"} = '"My value"'; $config->{targettype}->{"MyTargetType1"}->{"ds"} = '"MyInSource, MyOutSource"'; $config->{targettype}->{"MyTargetType1"}->{"view"} = '"MyView: MyInSource MyOutSource"'; $config->{targettype}->{"MyTargetType2"}->{"ds"} = '"MyInSource, MyOutSource"'; $config->{targettype}->{"MyTargetType2"}->{"view"} = '"MyView: MyInSource MyOutSource"'; # Targets $config->{target}->{"--default--"}->{"snmp-host"} = "$hostname"; $config->{target}->{"--default--"}->{"snmp-community"} = "$snmp_community"; $config->{target}->{"--default--"}->{"snmp-port"} = "$snmp_port"; $config->{target}->{"--default--"}->{"snmp"} = "%snmp-community%@%snmp-host%:%snmp-port%"; $config->{target}->{"--default--"}->{"directory-desc"} = '"MyDevice Model X"'; $config->{target}->{"MyTarget1"}->{"short-desc"} = '"My Target 1"'; $config->{target}->{"MyTarget1"}->{"order"} = "1"; $config->{target}->{"MyTarget1"}->{"inst"} = "1"; $config->{target}->{"MyTarget2"}->{"short-desc"} = '"My Target 2"'; $config->{target}->{"MyTarget2"}->{"order"} = "2"; $config->{target}->{"MyTarget2"}->{"inst"} = "2"; return $config; } 1;