mrtglib.txt
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:8k
- MRTGLIB(1) mrtg MRTGLIB(1)
- NNAAMMEE
- MRTG_lib.pm - Library for MRTG and support scripts
- SSYYNNOOPPSSIISS
- use MRTG_lib;
- my ($configfile, @target_names, %globalcfg, %targetcfg);
- readcfg($configfile, @target_names, %globalcfg, %targetcfg);
- my (@parsed_targets);
- cfgcheck(@target_names, %globalcfg, %targetcfg, @parsed_targets);
- DDEESSCCRRIIPPTTIIOONN
- MRTG_lib is part of MRTG, the Multi Router Traffic Gra-
- pher. It was separated from MRTG to allow other programs
- to easily use the same config files. The main part of
- MRTG_lib is the config file parser but some other funcions
- are there too.
- $MRTG_lib::OS
- Type of OS: WIN, UNIX, VMS
- $MRTG_lib::SL
- _S_l_a_s_h in the current OS.
- $MRTG_lib::PS
- Path separator in PATH variable
- "readcfg"
- "readcfg($file, @targets, %globalcfg, %targetcfg [,
- $prefix, %extrules])"
- Reads a config file, parses it and fills some arrays
- and hashes. The mandatory arguments are: the name of
- the config file, a ref to an array which will be
- filled with a list of the target names, a hashref for
- the global configuration, a hashref for the target
- configuration.
- The configuration file syntax is:
- globaloption: value
- targetoption[targetname]: value
- aprefix*extglobal: value
- aprefix*exttarget[target2]: value
- E.g.
- workdir: /var/stat/mrtg
- target[router1]: 2:public@router1.local.net
- 14all*columns: 2
- The global config hash has the structure
- $globalcfg{configoption} = 'value'
- The target config hash has the structure
- $targetcfg{configoption}{targetname} = 'value'
- See mrtg-reference for more information about the MRTG
- configuration syntax.
- "readcfg" can take two additional arguments to extend
- the config file syntax. This allows programs to put
- their configuration into the mrtg config file. The
- fifth argument is the prefix of the extension, the
- sixth argument is a hash with the checkrules for these
- extension settings. E.g. if the prefix is "14all"
- "readcfg" will check config lines that begin with
- "14all*", i.e. all lines like
- 14all*columns: 2
- 14all*graphsize[target3]: 500 200
- against the rules in %extrules. The format of this
- hash is:
- $extrules{option} = [sub{$_[0] =~ m/^d+$/}, sub{"Error message for $_[0]"}]
- i.e.
- $extrules{option}[0] -> a test expression
- $extrules{option}[1] -> error message if test fails
- The first part of the array is a perl expression to
- test the value of the option. The test can access this
- value in the variable "$arg". The second part of the
- array is an error message to display when the test
- fails. The failed value can be integrated by using the
- variable "$arg".
- Config settings with an different prefix than the one
- given in the "readcfg" call are not checked but
- inserted into _%_g_l_o_b_a_l_c_f_g and _%_t_a_r_g_e_t_c_f_g. Prefixed
- settings keep their prefix in the config hashes:
- $targetcfg{'14all*graphsize'}{'target3'} = '500 200'
- "cfgcheck"
- "cfgcheck(@target_names, %globalcfg, %targetcfg,
- @parsed_targets)"
- Checks the configuration read by "readcfg". Checks the
- values in the config for syntactical and/or semantical
- errors. Sets defaults for some options. Parses the
- "target[...]" options and filles the array
- @parsed_targets ready for mrtg functions.
- The first three arguments are the same as for "read-
- cfg". The fourth argument is an arrayref which will be
- filled with the parsed target defs.
- "cfgcheck" converts the values of target settings
- _o_p_t_i_o_n_s, e.g.
- options[router1]: bits, growright
- to a hash:
- $targetcfg{'option'}{'bits'}{'router1'} = 1
- $targetcfg{'option'}{'growright'}{'router1'} = 1
- This is not done by "readcfg" so if you don't use
- "cfgcheck" you have to check the scalar variable _$_t_a_r_-
- _g_e_t_c_f_g_{_'_o_p_t_i_o_n_'_}_{_'_r_o_u_t_e_r_1_'_} (MRTG allows options to be
- separated by space or ',').
- "ensureSL"
- "ensureSL($pathname)"
- Checks that the _p_a_t_h_n_a_m_e does not contain double path
- separators and ends with a path separator. It uses
- $MRTG_lib::SL as path separator which will be / or
- depending on the OS.
- "log2rrd"
- "log2rrd ($router,%globalcfg,%targetcfg)"
- Convert log file to rrd format. Needs rrdtool.
- "datestr"
- "datestr(time)"
- Returns the time given in the argument as a nicely
- formated date string. The argument has to be in UNIX
- time format (seconds since 1970-1-1).
- "timestamp"
- "timestamp()"
- Return a string representing the current time.
- "setup_loghandlers"
- "setup_loghandlers(filename)"
- Install signalhandlers for __DIE__ and __WARN__ making
- the errors go the the specified destination. If file-
- name is 'eventlog' mrtg will log to the windows event
- logger.
- "expistr"
- "expistr(time)"
- Returns the time given in the argument formatted suit-
- able for HTTP Expire-Headers.
- "create_pid"
- "create_pid()"
- Creates a pid file for the mrtg daemon
- "demonize_me"
- "demonize_me()"
- Puts the running program into background, detaching it
- from the terminal.
- "populatecache"
- "populatecache(%confcache, $host, $reread, $snmpopt-
- shash)"
- Reads the SNMP variables _i_f_D_e_s_c_r, _i_p_A_d_E_n_t_I_f_I_n_d_e_x,
- _i_f_P_h_y_s_A_d_d_r_e_s_s, _i_f_N_a_m_e from the _h_o_s_t and stores the
- values in _%_c_o_n_f_c_a_c_h_e as follows:
- $confcache{$host}{'Descr'}{ifDescr}{oid} = (ifDescr or 'Dup')
- $confcache{$host}{'IP'}{ipAdEntIfIndex}{oid} = (ipAdEntIfIndex or 'Dup')
- $confcache{$host}{'Eth'}{ifPhysAddress}{oid} = (ifPhysAddress or 'Dup')
- $confcache{$host}{'Name'}{ifName}{oid} = (ifName or 'Dup')
- $confcache{$host}{'Type'}{ifType}{oid} = (ifType or 'Dup')
- The value (at the right side of =) is 'Dup' if a value
- was retrieved muliple times, the retrieved value else.
- "readconfcache"
- "my $confcache = readconfcache($file)"
- Preload the confcache from a file.
- "readfromconfcache"
- "writeconfcache($confcache,$file)"
- Store the current confcache into a file.
- "writeconfcache"
- "writeconfcache($confcache,$file)"
- Store the current confcache into a file.
- "storeincache"
- "storeincache($confcache,$host,$method,$key,$value)"
- "readfromcache"
- "readfromcache($confcache,$host,$method,$key)"
- "clearfromcache"
- "clearfromcache($confcache,$host)"
- "debug"
- "debug($type, $message)"
- Prints the _m_e_s_s_a_g_e on STDERR if debugging is enabled
- for type _t_y_p_e. A debug type is enabled if _t_y_p_e is in
- array @main::DEBUG.
- AAUUTTHHOORRSS
- Rainer Bawidamann <Rainer.Bawidamann@rz.uni-ulm.de>
- (This Manpage)
- 2.13.2 2006-02-03 MRTGLIB(1)