torrus-commit Mailing List for Torrus
Brought to you by:
ssinyagin
You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(44) |
|---|
|
From: Stanislav S. <ssi...@us...> - 2004-12-15 17:06:37
|
Update of /cvsroot/torrus/plugins/overview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8572/plugins/overview Modified Files: Makefile.am configure.ac ov_substvars.sh.in tp-overview.apache.conf.in Added Files: overview-torruscfg.pl Log Message: plugins updated Index: tp-overview.apache.conf.in =================================================================== RCS file: /cvsroot/torrus/plugins/overview/tp-overview.apache.conf.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tp-overview.apache.conf.in 14 Dec 2004 23:03:08 -0000 1.1 +++ tp-overview.apache.conf.in 15 Dec 2004 17:05:57 -0000 1.2 @@ -1,5 +1,5 @@ -ScriptAlias /menu/ "@webplaindir@/menu/" -ScriptAlias /overviews/ "@webplaindir@/overviews/" +ScriptAlias /menu/ "@webscriptsdir@/tp-overview/" +ScriptAlias /overviews/ "@webscriptsdir@/tp-overview/" PerlModule Apache::ASP Index: configure.ac =================================================================== RCS file: /cvsroot/torrus/plugins/overview/configure.ac,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- configure.ac 14 Dec 2004 15:02:41 -0000 1.2 +++ configure.ac 15 Dec 2004 17:05:56 -0000 1.3 @@ -76,6 +76,7 @@ AC_ARG_VAR(scriptsdir, [[PKGHOME/scripts] Script files]) AC_ARG_VAR(supdir, [[PKGHOME/sup] Supplementary files]) AC_ARG_VAR(webplaindir, [[SUPDIR/webplain] Web interface plain files path]) +AC_ARG_VAR(webscriptsdir, [[SUPDIR/webscripts] Directory for web scripts]) AC_ARG_VAR(tmpldir, [[PKGHOME/templates] Template files]) AC_ARG_VAR(tmpluserdir, [[SITEDIR/templates] User-defined Template files]) AC_ARG_VAR(distxmldir, [[PKGHOME/xmlconfig] Distribution XML config files]) Index: ov_substvars.sh.in =================================================================== RCS file: /cvsroot/torrus/plugins/overview/ov_substvars.sh.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ov_substvars.sh.in 14 Dec 2004 23:03:07 -0000 1.3 +++ ov_substvars.sh.in 15 Dec 2004 17:05:56 -0000 1.4 @@ -22,13 +22,16 @@ prefix=@prefix@ pkghome=@pkghome@ supdir=@supdir@ +varprefix=@varprefix@ rendererUrl=@rendererUrl@ @SED@ \ -e "s,\@webplaindir\@,@webplaindir@,g" \ + -e "s,\@webscriptsdir\@,@webscriptsdir@,g" \ -e "s,\@rendererUrl\@,${rendererUrl},g" \ -e "s,\@plainUrl\@,@plainUrl@,g" \ + -e "s,\@aspglobal\@,@aspglobal@,g" \ $1 # Local Variables: --- NEW FILE: overview-torruscfg.pl --- # Overview Torrus plugin configuration $Torrus::Renderer::styling{'default'}{'ovStylesheet'} = 'ov.css'; $Torrus::Renderer::styling{'printer'}{'ovStylesheet'} = 'ov-printer.css'; $Torrus::Renderer::Chooser::template = 'ov/ov-chooser.html'; 1; Index: Makefile.am =================================================================== RCS file: /cvsroot/torrus/plugins/overview/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile.am 14 Dec 2004 23:03:07 -0000 1.4 +++ Makefile.am 15 Dec 2004 17:05:56 -0000 1.5 @@ -22,20 +22,18 @@ SUBST = @abs_top_builddir@/ov_substvars.sh +CLEANFILES = \ + ov_substvars.sh \ + tp-overview.apache.conf + noinst_SCRIPTS = \ ov_substvars.sh EXTRA_DIST = \ - menu/bg.jpg \ menu/credits.htm \ - menu/menu.css \ - menu/menu.js \ menu/menu.xsl.in \ - menu/sampleMenu.xml \ menu/welcome.htm \ - overview/common.inc \ overview/overview.xsl.in \ - overview/sampleOverview.xml \ xtree/xtree.css \ xtree/xtree.js.in \ ov_substvars.sh.in \ @@ -67,28 +65,33 @@ .pod.txt: pod2text $< $@ + +##### XSLT scripts ##### +scriptsdir = $(webscriptsdir)/tp-overview +scripts_DATA = \ + menu/menu.xsl \ + overview/overview.xsl + +menu/menu.xsl: menu/menu.xsl.in + $(SUBST) menu/menu.xsl.in > menu/menu.xsl + +overview/overview.xsl: overview/overview.xsl.in + $(SUBST) overview/overview.xsl.in > overview/overview.xsl + ##### Menu files ##### menudir = $(webplaindir)/menu -menu_DATA = \ +dist_menu_DATA = \ menu/bg.jpg \ menu/menu.css \ menu/menu.js \ - menu/menu.xsl \ menu/sampleMenu.xml -menu/menu.xsl: menu/menu.xsl.in - $(SUBST) menu/menu.xsl.in > menu/menu.xsl - ##### Overview files ##### overviewsdir = $(webplaindir)/overviews -overviews_DATA = \ +dist_overviews_DATA = \ overview/common.inc \ - overview/overview.xsl \ overview/sampleOverview.xml -overview/overview.xsl: overview/overview.xsl.in - $(SUBST) overview/overview.xsl.in > overview/overview.xsl - ##### xtree files ##### xtreedir = $(webplaindir)/xtree xtree_DATA = xtree/xtree.js xtree/xtree.css |
|
From: Stanislav S. <ssi...@us...> - 2004-12-15 17:06:36
|
Update of /cvsroot/torrus/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8572/src Modified Files: configure.ac Log Message: plugins updated Index: configure.ac =================================================================== RCS file: /cvsroot/torrus/src/configure.ac,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- configure.ac 3 Dec 2004 21:34:48 -0000 1.4 +++ configure.ac 15 Dec 2004 17:05:57 -0000 1.5 @@ -161,6 +161,11 @@ if test -z "$webplaindir"; then webplaindir='${supdir}/webplain'; fi +AC_ARG_VAR(webscriptsdir, + [[SUPDIR/webscripts] Directory for optional web scripts]) +if test -z "$webscriptsdir"; then + webscriptsdir='${supdir}/webscripts'; fi + AC_ARG_VAR(tmpldir, [[PKGHOME/templates] Template files]) if test -z "$tmpldir"; then tmpldir='${pkghome}/templates'; fi |
|
From: Stanislav S. <ssi...@us...> - 2004-12-15 17:06:35
|
Update of /cvsroot/torrus/plugins/dummy In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8572/plugins/dummy Modified Files: configure.ac Log Message: plugins updated Index: configure.ac =================================================================== RCS file: /cvsroot/torrus/plugins/dummy/configure.ac,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- configure.ac 8 Dec 2004 14:29:52 -0000 1.3 +++ configure.ac 15 Dec 2004 17:05:55 -0000 1.4 @@ -66,6 +66,7 @@ AC_ARG_VAR(scriptsdir, [[PKGHOME/scripts] Script files]) AC_ARG_VAR(supdir, [[PKGHOME/sup] Supplementary files]) AC_ARG_VAR(webplaindir, [[SUPDIR/webplain] Web interface plain files path]) +AC_ARG_VAR(webscriptsdir, [[SUPDIR/webscripts] Directory for web scripts]) AC_ARG_VAR(tmpldir, [[PKGHOME/templates] Template files]) AC_ARG_VAR(tmpluserdir, [[SITEDIR/templates] User-defined Template files]) AC_ARG_VAR(distxmldir, [[PKGHOME/xmlconfig] Distribution XML config files]) |
|
From: Stanislav S. <ssi...@us...> - 2004-12-15 17:06:20
|
Update of /cvsroot/torrus/src/sup In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8572/src/sup Modified Files: Makefile.am Log Message: plugins updated Index: Makefile.am =================================================================== RCS file: /cvsroot/torrus/src/sup/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile.am 24 Nov 2004 18:25:15 -0000 1.1.1.1 +++ Makefile.am 15 Dec 2004 17:05:57 -0000 1.2 @@ -40,4 +40,5 @@ webplain/torrus-printer.css - +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(webscriptsdir) |
|
From: Stanislav S. <ssi...@us...> - 2004-12-15 10:08:53
|
Update of /cvsroot/torrus/src/perllib/Torrus In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12159/perllib/Torrus Modified Files: Monitor.pm Log Message: monitor updated Index: Monitor.pm =================================================================== RCS file: /cvsroot/torrus/src/perllib/Torrus/Monitor.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Monitor.pm 13 Dec 2004 08:49:08 -0000 1.2 +++ Monitor.pm 15 Dec 2004 10:08:42 -0000 1.3 @@ -336,7 +336,6 @@ $cmd =~ s/\>\;/\>/; $cmd =~ s/\<\;/\</; - $ENV{'TORRUS_HOME'} = $Torrus::Global::prefix; $ENV{'TORRUS_BIN'} = $Torrus::Global::pkgbindir; $ENV{'TORRUS_UPTIME'} = time() - $self->whenStarted(); |
|
From: Stanislav S. <ssi...@us...> - 2004-12-15 10:08:51
|
Update of /cvsroot/torrus/src/bin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12159/bin Modified Files: action_printemail.in action_snmptrap.in action_snmpv1trap.in Log Message: monitor updated Index: action_snmptrap.in =================================================================== RCS file: /cvsroot/torrus/src/bin/action_snmptrap.in,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- action_snmptrap.in 24 Nov 2004 18:24:53 -0000 1.1.1.1 +++ action_snmptrap.in 15 Dec 2004 10:08:42 -0000 1.2 @@ -27,10 +27,10 @@ require '@snmptrap_siteconfig_pl@'; -if( not $ENV{'Torrus_HOME'} or not $ENV{'Torrus_TOKEN'} ) +if( not $ENV{'TORRUS_TOKEN'} ) { - print STDERR ("Torrus environment variables missing. This program must be ", - "run from Torrus Monitor\n"); + print STDERR ("Torrus environment variables missing. This program ", + "must be run from Torrus Monitor\n"); exit 1; } @@ -63,22 +63,22 @@ INTEGER32, 1, $oid_prefix . '.2', - OCTET_STRING, $ENV{'Torrus_TOKEN'}, + OCTET_STRING, $ENV{'TORRUS_TOKEN'}, $oid_prefix . '.3', - OCTET_STRING, $ENV{'Torrus_MONITOR'}, + OCTET_STRING, $ENV{'TORRUS_MONITOR'}, $oid_prefix . '.4', - INTEGER, $event_type{$ENV{'Torrus_EVENT'}}, + INTEGER, $event_type{$ENV{'TORRUS_EVENT'}}, $oid_prefix . '.5', - OCTET_STRING, $ENV{'Torrus_NODEPATH'}, + OCTET_STRING, $ENV{'TORRUS_NODEPATH'}, $oid_prefix . '.6', - OCTET_STRING, snmp_dateandtime( $ENV{'Torrus_TSTAMP'} ), + OCTET_STRING, snmp_dateandtime( $ENV{'TORRUS_TSTAMP'} ), $oid_prefix . '.7', - OCTET_STRING, $ENV{'Torrus_TREE'} + OCTET_STRING, $ENV{'TORRUS_TREE'} ); foreach my $host ( @Torrus::Snmptrap::hosts ) Index: action_printemail.in =================================================================== RCS file: /cvsroot/torrus/src/bin/action_printemail.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- action_printemail.in 13 Dec 2004 08:49:08 -0000 1.3 +++ action_printemail.in 15 Dec 2004 10:08:42 -0000 1.4 @@ -27,7 +27,7 @@ require '@email_siteconfig_pl@'; -if( not $ENV{'TORRUS_HOME'} ) +if( not $ENV{'TORRUS_TREE'} ) { print STDERR ("Torrus environment variables missing. This program ", "must be run from Torrus Monitor\n"); Index: action_snmpv1trap.in =================================================================== RCS file: /cvsroot/torrus/src/bin/action_snmpv1trap.in,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- action_snmpv1trap.in 24 Nov 2004 18:24:53 -0000 1.1.1.1 +++ action_snmpv1trap.in 15 Dec 2004 10:08:42 -0000 1.2 @@ -33,10 +33,10 @@ $Torrus::Snmptrap::enterprise = '1.3.6.1.4.1.14697.1.1.1'; -if( not $ENV{'Torrus_HOME'} ) +if( not $ENV{'TORRUS_TOKEN'} ) { - print STDERR ("Torrus environment variables missing. This program must be ", - "run from Torrus Monitor\n"); + print STDERR ("Torrus environment variables missing. This program ", + "must be run from Torrus Monitor\n"); exit 1; } @@ -65,22 +65,22 @@ ); my @varbindlist = ( $Torrus::Snmptrap::enterprise . '.2', - OCTET_STRING, $ENV{'Torrus_TOKEN'}, + OCTET_STRING, $ENV{'TORRUS_TOKEN'}, $Torrus::Snmptrap::enterprise . '.5', - OCTET_STRING, $ENV{'Torrus_NODEPATH'}, + OCTET_STRING, $ENV{'TORRUS_NODEPATH'}, $Torrus::Snmptrap::enterprise . '.3', - OCTET_STRING, $ENV{'Torrus_MONITOR'}, + OCTET_STRING, $ENV{'TORRUS_MONITOR'}, $Torrus::Snmptrap::enterprise . '.4', - OCTET_STRING, $ENV{'Torrus_EVENT'}, + OCTET_STRING, $ENV{'TORRUS_EVENT'}, $Torrus::Snmptrap::enterprise . '.6', - OCTET_STRING, scalar(localtime($ENV{'Torrus_TSTAMP'})), + OCTET_STRING, scalar(localtime($ENV{'TORRUS_TSTAMP'})), $Torrus::Snmptrap::enterprise . '.7', - OCTET_STRING, $ENV{'Torrus_TREE'} + OCTET_STRING, $ENV{'TORRUS_TREE'} ); foreach my $host ( @Torrus::Snmptrap::hosts ) @@ -101,8 +101,8 @@ my $result = $session->trap( -enterprise => $Torrus::Snmptrap::enterprise, -generictrap => ENTERPRISE_SPECIFIC, - -specifictrap => $specifictrap{$ENV{'Torrus_EVENT'}}, - -timestamp => $ENV{'Torrus_UPTIME'} * 100, + -specifictrap => $specifictrap{$ENV{'TORRUS_EVENT'}}, + -timestamp => $ENV{'TORRUS_UPTIME'} * 100, -varbindlist => \@varbindlist ); |
|
From: Stanislav S. <ssi...@us...> - 2004-12-15 00:11:04
|
Update of /cvsroot/torrus/src/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20461/doc Modified Files: install.pod Log Message: intermediate commit Index: install.pod =================================================================== RCS file: /cvsroot/torrus/src/doc/install.pod,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- install.pod 24 Nov 2004 18:24:59 -0000 1.1.1.1 +++ install.pod 15 Dec 2004 00:10:53 -0000 1.2 @@ -22,7 +22,7 @@ =head1 Torrus Installation Instructions -These are the Round Robin Database Framework installation instructions. + =head2 Required Software @@ -40,20 +40,22 @@ C<Character devices ---E<gt> Enhanced Real Time Clock Support>. For other guest operating systems (e.g. FreeBSD), in order to let the Torrus collector and monitor run properly, you need to add the following -lines to your F<$Torrus_HOME/share/torrus/torrus-siteconfig.pl>: +lines to your F<torrus-siteconfig.pl>: $Torrus::Scheduler::maxSleepTime = 15; $Torrus::Scheduler::ignoreClockSkew = 1; -B<Debian> package is maintained by Jurij Smakov and is available at -E<lt>http://pkg-torrus.alioth.debian.orgE<gt>. +# B<Debian> package is maintained by Jurij Smakov and is available at +# E<lt>http://pkg-torrus.alioth.debian.orgE<gt>. =item * Perl -Perl version C<5.8.0> or higher is required. Version C<5.8.0> is not -recommended because of memory access bugs and unpredictable behaviour. -Perl interpreter must be in PATH environment variable when -running C<./configure>. +Perl version C<5.8.1> or higher is required. B<Version C<5.8.0> is not +recommended> because of memory access bugs and unpredictable behaviour. +Perl interpreter should be in PATH environment variable when +running C<./configure>, otherwise use + + ./configure PERL=/path/to/perl =item * RRDtool @@ -63,8 +65,9 @@ are supported. As of this writing, rrdtool version C<1.1.x> is still in its development -stage, but it is ready to use in production. There's a small glitch -in legend text alignment, and it will hopefully be fixed. +stage, but it is quite ready for using in production environments. +There's a small glitch in legend text alignment, and it will +hopefully be fixed. =item * libxml2 @@ -75,19 +78,25 @@ =item * Berkeley DB version 4.2.52 or later -The Berkeley DB from Sleepycat Software E<lt>http://www.sleepycat.comE<gt> -is used for all data storage. Versions C<4.2.52> and above are recommended. +There are two distinct packages with slightly conflicting names: +The Berkeley DB from Sleepycat Software E<lt>http://www.sleepycat.comE<gt>, +and C<BerkeleyDB> Perl module available from CPAN. We will always refer +the latter as I<BerkeleyDB Perl module>. + +The Berkeley DB database engine is used for all data storage. +Versions C<4.2.52> and above are recommended. Older versions of Berkeley DB had problems with database integrity in concurrent usage. By default, it installs into F</usr/local/BerkeleyDB.4.2/>. -Unfortunately, Perl module C<BerkeleyDB> cannot find the include and -library files in that directory. So, it either needs C<--prefix=/usr/local> -configure option, or you need to edit F<config.in> in C<BerkeleyDB> -distribution. + +Unfortunately, the BerkeleyDB Perl module cannot find the include and +library files in that directory. Thus either configure Berkeley DB +with the option C<--prefix=/usr/local>, or you need to edit +F<config.in> in BerkeleyDB Perl module distribution. =item * HTTP Server -This software requires Apache HTTP server (E<lt>http://httpd.apache.orgE<gt>) +Torrus requires Apache HTTP server (E<lt>http://httpd.apache.orgE<gt>) and mod_perl (E<lt>http://perl.apache.orgE<gt>). Apache version 1.3 and mod_perl version 1.0 are supported by ApacheHandler. @@ -96,7 +105,6 @@ Minimum supported mod_perl 2.0 version is B<1.99_15>. The handler also requires C<libapreq2> library, see the note below. -Plain CGI interface is no longer supported since Torrus version 0.1.1. See I<Torrus Web Interface Reference> for details on mod_perl configuration. =item * Perl Modules @@ -107,7 +115,7 @@ You can install all required modules with the following command, executed from within the distribution directory: - perl -I `pwd`/lib -MCPAN -e 'install Bundle::Torrus' + perl -I `pwd`/setup_tools -MCPAN -e 'install Bundle::Torrus' =over 8 @@ -116,7 +124,7 @@ This is a Perl interface for libxml2, providing DOM standards compliant interface. It is recommended that you use version C<1.54_3> or higher. -=item * BerkeleyDB +=item * BerkeleyDB perl module Perl interface to the database software. Version C<0.19> or higher is required. @@ -133,7 +141,7 @@ =item * Net::SNMP -SNMP queries and traps interface. Version C<4.0.3> is required. +SNMP queries and traps interface. Version C<4.0.3> or higher is required. =item * URI::Escape @@ -152,15 +160,15 @@ =item * C<libapreq2> Perl library Apache 2.0 handler requires an additional Perl library, C<libapreq2>. -It is available from CPAN E<lt>http://search.cpan.org/E<gt>, and only in -development version. You need to download and install it manually in order -for Apache2Handler to work. +It is available from CPAN E<lt>http://search.cpan.org/E<gt>, and currently +only in development version. You need to download and install it manually +in order for Apache2Handler to work. =item * HTTP Browser requirements The HTTP browser must be compatible with I<HTML 4.01 Strict> and I<CSS2> -specifications. The tests were made with: IE 5.5, Opera 6.12B1/Solaris, -Opera 7.03/Win2K, Netscape 7.02. +specifications. The tests were made with the following browsers: +IE 5.5, Opera 6.12B1/Solaris, Opera 7.03/Win2K, Netscape 7.02. =back @@ -188,9 +196,13 @@ =back + + =head2 Installation Procedure -Create the group C<torrus> and a user C<torrus> belonging to that group. +Create the group C<torrus> and a user C<torrus>. The user should be a member of +this group. + Add your Apache daemon user to the group C<torrus>. Other users that will run any of Torrus processes must be included in this group. @@ -199,7 +211,7 @@ according to your local administration policy): groupadd torrus - useradd -c 'Torrus Daemon' -d /usr/local/torrus-0.0 -g torrus torrus + useradd -c 'Torrus Daemon' -d /usr/local/torrus -g torrus torrus usermod -G www,torrus www Further installation process is mostly as usual: @@ -208,72 +220,112 @@ make make install -The package is installed by default in the directory -F</usr/local/torrus-X.Y> where X.Y.Z is the release version. -Further on, we reference this directory as -F<$Torrus_HOME>. - -Prerequisite Perl modules are checked at the time of C<./configure>. You -can disable this by giving I<--disable-modcheck> option. - -The only files that are not overwritten during C<make install> are -F<$Torrus_HOME/share/torrus/torrus-siteconfig.pl> and -F<$Torrus_HOME/share/torrus/xmlconfig/site-global.xml>. - -The following directories and their contents must be writable by your Torrus -processes, including the HTTP server (usually Apache web server): +The default directory layout is described below. Should you need to change it, +there is a number of variables and configuration options that you may use +as C<./configure> arguments. See C<./configure --help> for details. Example: -=over 4 + ./configure pkghome=/opt/torrus -=item * F<$Torrus_HOME/var/cache/> +Do not try to change any paths by supplying them as C<make> variables, +this would most probably break the installation. The only C<make> variable +that is supported is C<DESTDIR>. It may be used for preparing the package for +further distribution. For example, the following command would install +all Torrus files as if F</tmp/stage> were the root of the filesystem: -The placeholder directory for Renderer cache files. These are PNG and HTML -files ready for display by Apache handler. + make DESTDIR=/tmp/stage install -=item * F<$Torrus_HOME/var/db/> +The presence of prerequisite Perl modules is checked during the execution +of C<./configure>. You can disable this by giving I<--enable-pkgonly> option. -The home directory for Berkeley DB environment. Here all the databases are -stored. +The installer sets up the site configuration files, but only if +they don't already exist. -=item * F</var/snmpcollector/> +Plugin modules should be installed separately, after the Torrus software is +successfully installed. For each plugin, unpack the plugin distribution archive +to some directory, and execute -This is the default directory for SNMP collector RRD files. -It may be changed with the I<--datadir> option of C<devdiscover>. + torrus install_plugin <UNPACKED_PLUGIN_DIR> -=back +A number of directories is set up by default under the path C</var>, +and they must be writable by all Torrus processes, including the +Apache web server. You can control these directories' access rights by setting the following environment variables: I<var_user>, I<var_group>, I<var_mode>, like follows: ./configure var_group=wwwrun -Default values for a non-Cygwin OS are: I<var_user=torrus>, +Default values for operating systems other than Cygwin are: I<var_user=torrus>, I<var_group=torrus>, I<var_mode=775>. Setgid bit is set by default for these directories. -If available, you may place these directories onto a faster media, by -changing the I<--localstatedir=DIR> option of C<./configure>. +If available, you may place these directories on a fast media, for example, +a robust disk array. Changing the C<varprefix> variable would be generally +enough, for example: -Additional third-party components (plugins) may be included -in your installation. These components must be designed for this use. -Before running C<./configure>, unpack the plugin distribution archives into -some directory: + ./configure varprefix=/vol1/torrus_var - gzip -dc torrus-plugin-ABC-0.0.1.tar.gz | tar xvf - - gzip -dc torrus-plugin-XYZ-0.0.1.tar.gz | tar xvf - -Then, specify the plugin distribution paths separated by colon (:) in the -option I<--with-plugins> of C<./configure>: +=head2 Torrus directory layout - ./configure [VARIABLE=VALUE...] \ - --with-plugins=../torrus-plugin-ABC-0.0.1:../torrus-plugin-XYZ-0.0.1 \ - [other options...] +By default, Torrus uses the following directory structure: -After that, C<make install> will install Torrus together with the specified -plugins. -From the Torrus home page, you may download an example plugin called -I<torrus-plugin-dummy>, and use it as a template for your own add-ons. + /usr/local/torrus/ Home directory for Torrus distribution files + | + +- conf_defaults/ torrus-config.pl and others + | + +- bin/ Command-line executables + | + +- doc/ POD and TXT documentation files + | + +- examples/ Miscelaneous example files + | + +- perllib/ Perl libraries + | + +- plugins/ Plugins configuration + | + +- scripts/ Scripts + | + +- sup/ Supplementary files, DTDs, MIBs, color schemas, + | Web plain files + | + +- templates/ Renderer output templates + | + +- xmlconfig/ Distrubution XML files + + /usr/local/etc/torrus/ Site configurable files + | + +- conf/ Place for torrus-siteconfig.pl and other siteconfigs + | + +- discovery/ Devdiscover input files + | + +- templates/ User-defined Renderer output templates + | + +- xmlconfig/ User XML configuration files + + /usr/local/man/ Place for man pages. All articles will have the + prefix C<torrus_> + + /var/log/torrus/ Daemon logfiles + + /var/run/torrus/ Daemon PID files + + /var/torrus/cache/ Renderer cache + + /var/torrus/db/ Configuration databases + + /var/torrus/session_data/ Web interface session files + + /srv/torrus/collector_rrd/ Default directory for collector + generated RRD files + +B<Note:> RRFW used the path F</var/snmpcollector> as the default path for +storing the RRD files. According to FHS specification, the recommended +path for service data files is recommended to be a subdirectory of F</srv>. +The path F</srv/torrus/collector_rrd> is used as default by C<torrus genddx> +utility, and you can always change it in the command line or in your +DDX files. =head2 Configuring Torrus |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 23:03:19
|
Update of /cvsroot/torrus/plugins/overview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1645 Modified Files: .cvsignore Makefile.am ov_substvars.sh.in Added Files: tp-overview.apache.conf.in Removed Files: apache2.conf.in Log Message: intermediate commit --- apache2.conf.in DELETED --- --- NEW FILE: tp-overview.apache.conf.in --- ScriptAlias /menu/ "@webplaindir@/menu/" ScriptAlias /overviews/ "@webplaindir@/overviews/" PerlModule Apache::ASP <Location /menu> Allow from all SetHandler perl-script PerlHandler Apache::ASP PerlSetVar Global @aspglobal@ PerlSetVar NoState 1 PerlSetVar XSLTParser XML::Sablotron PerlSetVar XSLTParser XML::LibXSLT PerlSetVar XSLTMatch xml$ PerlSetVar XSLT menu.xsl PerlSetVar RequestParams 1 </Location> <Location /overviews> SetHandler perl-script PerlHandler Apache::ASP PerlSetVar Global @aspglobal@ PerlSetVar NoState 1 PerlSetVar XSLTParser XML::Sablotron PerlSetVar XSLTParser XML::LibXSLT PerlSetVar XSLTMatch xml$ PerlSetVar XSLT overview.xsl PerlSetVar RequestParams 1 </Location> Index: ov_substvars.sh.in =================================================================== RCS file: /cvsroot/torrus/plugins/overview/ov_substvars.sh.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ov_substvars.sh.in 13 Dec 2004 16:13:54 -0000 1.2 +++ ov_substvars.sh.in 14 Dec 2004 23:03:07 -0000 1.3 @@ -19,6 +19,10 @@ # Stanislav Sinyagin <ssi...@ya...> # +prefix=@prefix@ +pkghome=@pkghome@ +supdir=@supdir@ + rendererUrl=@rendererUrl@ @SED@ \ Index: Makefile.am =================================================================== RCS file: /cvsroot/torrus/plugins/overview/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.am 14 Dec 2004 15:02:41 -0000 1.3 +++ Makefile.am 14 Dec 2004 23:03:07 -0000 1.4 @@ -23,8 +23,7 @@ SUBST = @abs_top_builddir@/ov_substvars.sh noinst_SCRIPTS = \ - ov_substvars.sh \ - apache2.conf + ov_substvars.sh EXTRA_DIST = \ menu/bg.jpg \ @@ -38,7 +37,9 @@ overview/overview.xsl.in \ overview/sampleOverview.xml \ xtree/xtree.css \ - xtree/xtree.js.in + xtree/xtree.js.in \ + ov_substvars.sh.in \ + tp-overview.apache.conf.in welcome_htm = $(webplaindir)/menu/welcome.htm credits_htm = $(webplaindir)/menu/credits.htm @@ -148,8 +149,13 @@ dist_torruscfg_DATA = overview-torruscfg.pl -apache2.conf: apache2.conf.in - $(SUBST) apache2.conf.in > apache2.conf +##### Apache configuration ##### + +apachedir = $(supdir)/apache +nodist_apache_DATA = tp-overview.apache.conf + +tp-overview.apache.conf: tp-overview.apache.conf.in + $(SUBST) tp-overview.apache.conf.in > tp-overview.apache.conf htdocs: Index: .cvsignore =================================================================== RCS file: /cvsroot/torrus/plugins/overview/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- .cvsignore 14 Dec 2004 13:26:26 -0000 1.3 +++ .cvsignore 14 Dec 2004 23:03:07 -0000 1.4 @@ -12,3 +12,4 @@ pod2htmd.tmp *.txt ov_substvars.sh +tp-overview.apache.conf |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 23:03:17
|
Update of /cvsroot/torrus/plugins/overview/menu In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1645/menu Modified Files: welcome.htm Log Message: intermediate commit Index: welcome.htm =================================================================== RCS file: /cvsroot/torrus/plugins/overview/menu/welcome.htm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- welcome.htm 8 Dec 2004 14:39:46 -0000 1.1 +++ welcome.htm 14 Dec 2004 23:03:09 -0000 1.2 @@ -31,7 +31,7 @@ <h1>Torrus Overview Plugin</h1> - Edit this file (Torrus/plain/menu/welcome.htm) as needed. It will not be overwritten by future - plugin updates. + Edit this file (/usr/local/torrus/sup/webplain/menu/welcome.htm) as + needed. It will not be overwritten by future plugin updates. </body> -</html> \ No newline at end of file +</html> |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 18:05:01
|
Update of /cvsroot/torrus/htdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28098 Modified Files: rrfw_torrus_migration.pod.html Log Message: doc updated Index: rrfw_torrus_migration.pod.html =================================================================== RCS file: /cvsroot/torrus/htdocs/rrfw_torrus_migration.pod.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- rrfw_torrus_migration.pod.html 13 Dec 2004 22:49:04 -0000 1.2 +++ rrfw_torrus_migration.pod.html 14 Dec 2004 18:04:52 -0000 1.3 @@ -28,6 +28,7 @@ <li><a href="#stop_rrfw_collector_and_monitor_processes">Stop RRFW collector and monitor processes</a></li> <li><a href="#change_the_rrd_files_ownership">Change the RRD files ownership</a></li> <li><a href="#test_and_run_processes">Test and run processes</a></li> + <li><a href="#update_the_cron_jobs">Update the cron jobs</a></li> <li><a href="#update_documentation">Update documentation</a></li> </ul> @@ -184,6 +185,11 @@ <p>Run the startup script and verify that RRD files get updated.</p> <p> </p> +<h2><a name="update_the_cron_jobs">Update the cron jobs</a></h2> +<p>RRFW's cron job <em>/usr/local/rrfw-0.1/bin/cleanup</em> should be replaced with +the analogous job from Torrus: <em>/usr/local/torrus/bin/cleanup</em></p> +<p> +</p> <h2><a name="update_documentation">Update documentation</a></h2> <p>Update your site operational manuals to reflect the new software name, paths and URLs.</p> |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 18:04:40
|
Update of /cvsroot/torrus/src/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28028/doc Modified Files: rrfw_torrus_migration.pod Log Message: doc updated Index: rrfw_torrus_migration.pod =================================================================== RCS file: /cvsroot/torrus/src/doc/rrfw_torrus_migration.pod,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- rrfw_torrus_migration.pod 13 Dec 2004 22:48:44 -0000 1.7 +++ rrfw_torrus_migration.pod 14 Dec 2004 18:04:30 -0000 1.8 @@ -204,6 +204,13 @@ +=head2 Update the cron jobs + +RRFW's cron job F</usr/local/rrfw-0.1/bin/cleanup> should be replaced with +the analogous job from Torrus: F</usr/local/torrus/bin/cleanup> + + + =head2 Update documentation Update your site operational manuals to reflect the new software name, |
|
From: Christian S. <sch...@us...> - 2004-12-14 15:35:05
|
Update of /cvsroot/torrus/plugins/overview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26179 Added Files: apache2.conf.in Log Message: new file --- NEW FILE: apache2.conf.in --- ScriptAlias /menu/ "@webplaindir@/menu/" ScriptAlias /overviews/ "@webplaindir@/overviews/" PerlModule Apache::ASP <Location /menu> Allow from all SetHandler perl-script PerlHandler Apache::ASP PerlSetVar Global /tmp/asp PerlSetVar NoState 1 PerlSetVar XSLTParser XML::Sablotron PerlSetVar XSLTParser XML::LibXSLT PerlSetVar XSLTMatch xml$ PerlSetVar XSLT menu.xsl PerlSetVar RequestParams 1 </Location> <Location /overviews> SetHandler perl-script PerlHandler Apache::ASP PerlSetVar Global /tmp/asp PerlSetVar NoState 1 PerlSetVar XSLTParser XML::Sablotron PerlSetVar XSLTParser XML::LibXSLT PerlSetVar XSLTMatch xml$ PerlSetVar XSLT overview.xsl PerlSetVar RequestParams 1 </Location> |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 15:02:50
|
Update of /cvsroot/torrus/plugins/overview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19626 Modified Files: Makefile.am configure.ac ovExample.xml tp-overview.pod Log Message: installer updated Index: configure.ac =================================================================== RCS file: /cvsroot/torrus/plugins/overview/configure.ac,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- configure.ac 8 Dec 2004 14:39:45 -0000 1.1 +++ configure.ac 14 Dec 2004 15:02:41 -0000 1.2 @@ -101,6 +101,19 @@ if test -z "$plainUrl"; then plainUrl='${rendererUrl}/plain'; fi +AC_ARG_VAR(aspglobal, [[VARPREFIX/asp] Apache::ASP Global storage]) +if test -z "$aspglobal"; then + aspglobal='${varprefix}/asp'; fi + +AC_ARG_VAR(aspglbowner, [[torrus:torrus] Apache::ASP Global directory owner]) +if test -z "$aspglbowner"; then + aspglbowner='torrus:torrus'; fi + +AC_ARG_VAR(aspglbmode, [[775] Apache::ASP Global directory mode]) +if test -z "$aspglbmode"; then + aspglbmode='775'; fi + + AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([ov_substvars.sh], [chmod +x ov_substvars.sh]) Index: ovExample.xml =================================================================== RCS file: /cvsroot/torrus/plugins/overview/ovExample.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ovExample.xml 13 Dec 2004 16:13:54 -0000 1.2 +++ ovExample.xml 14 Dec 2004 15:02:41 -0000 1.3 @@ -36,7 +36,7 @@ <param name="collector-timeoffset" value="3" /> <param name="storage-type" value="rrd" /> - <param name="data-dir" value="/var/torrus/collector" /> + <param name="data-dir" value="/srv/torrus/collector_rrd" /> <param name="rrd-create-rra"> RRA:AVERAGE:0:1:209664 RRA:MAX:0:36:5824 RRA:MIN:0:36:5824 Index: tp-overview.pod =================================================================== RCS file: /cvsroot/torrus/plugins/overview/tp-overview.pod,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- tp-overview.pod 13 Dec 2004 16:13:54 -0000 1.3 +++ tp-overview.pod 14 Dec 2004 15:02:41 -0000 1.4 @@ -120,7 +120,7 @@ Add the following lines to your apache config file (http.conf). Or if you are using apache2 simply copy the file apache2.conf to the /etc/apache2/conf/modules.d directory. -(Note: WEBPLAINDIR is /usr/local/torrus-xyz/web/plain by default): +(Note: WEBPLAINDIR is /usr/local/torrus/sup/webplain by default): ScriptAlias /menu/ "WEBPLAINDIR/menu/" @@ -152,7 +152,9 @@ PerlSetVar RequestParams 1 </Location> -Create the directory /var/torrus/asp. +The plugin installer creates the directory F</var/torrus/asp> with +the default owner C<torrus> and group C<torrus> and mode 775. + Copy the contents of http://webfx.eae.net/download/tabpane102.zip to 'WEBPLAINDIR'/tabpane Index: Makefile.am =================================================================== RCS file: /cvsroot/torrus/plugins/overview/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.am 13 Dec 2004 16:13:54 -0000 1.2 +++ Makefile.am 14 Dec 2004 15:02:41 -0000 1.3 @@ -40,7 +40,6 @@ xtree/xtree.css \ xtree/xtree.js.in -webplaindir = @webplaindir@ welcome_htm = $(webplaindir)/menu/welcome.htm credits_htm = $(webplaindir)/menu/credits.htm @@ -52,12 +51,17 @@ if test ! -r $(DESTDIR)$(credits_htm); then \ $(INSTALL_DATA) menu/credits.htm $(DESTDIR)$(credits_htm); \ fi + if test ! -d $(DESTDIR)$(aspglobal); then \ + ( $(mkinstalldirs) $(DESTDIR)$(aspglobal) && \ + chown $(aspglbowner) $(DESTDIR)$(aspglobal) && \ + chmod $(aspglbmode) $(DESTDIR)$(aspglobal) ) || \ + ( rmdir $(DESTDIR)$(aspglobal); false );\ + fi ##### Documentation files ##### -pkghome = @pkghome@ -docdir = @docdir@ -dist_doc_DATA = tp-overview.txt tp-overview.pod +mydocdir = $(docdir) +dist_mydoc_DATA = tp-overview.txt tp-overview.pod SUFFIXES = .pod .txt .pod.txt: pod2text $< $@ @@ -114,8 +118,8 @@ css/overview.css ##### templates files ##### -tmpldir = @tmpldir@/ov -dist_tmpl_DATA = \ +mytmpldir = $(tmpldir)/ov +dist_mytmpl_DATA = \ templates/item-rrd.html \ templates/ov-chooser.html \ templates/ov-dir.html \ @@ -129,9 +133,8 @@ templates/tab-rrd.html ##### xmlconfig files ##### -distxmldir = @distxmldir@ -xmldir = $(distxmldir) -dist_xml_DATA = ovDefaults.xml +myxmldir = $(distxmldir) +dist_myxml_DATA = ovDefaults.xml xmlsampledir = $(distxmldir)/examples dist_xmlsample_DATA = ovExample.xml @@ -141,17 +144,14 @@ dist_icons_DATA = menu/menu.gif menu/torrus.ico ##### Perl configuration files ##### -pluginsdir=@pluginsdir@ -plugtorruscfgdir=@plugtorruscfgdir@ torruscfgdir = $(plugtorruscfgdir) dist_torruscfg_DATA = overview-torruscfg.pl apache2.conf: apache2.conf.in $(SUBST) apache2.conf.in > apache2.conf - - - + + htdocs: for f in *.pod; do \ pod2html -css=../torrusdoc.css $$f > ../../htdocs/plugins/$$f.html; \ |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 13:26:39
|
Update of /cvsroot/torrus/plugins/cbqos In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32271/cbqos Modified Files: .cvsignore Log Message: minor updates Index: .cvsignore =================================================================== RCS file: /cvsroot/torrus/plugins/cbqos/.cvsignore,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- .cvsignore 12 Dec 2004 13:02:40 -0000 1.2 +++ .cvsignore 14 Dec 2004 13:26:25 -0000 1.3 @@ -9,4 +9,5 @@ pod2htmi.tmp pod2htmd.tmp tp-cisco-cbqos-*.tar.gz +*.txt |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 13:26:37
|
Update of /cvsroot/torrus/plugins/dummy In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32271/dummy Modified Files: .cvsignore Log Message: minor updates Index: .cvsignore =================================================================== RCS file: /cvsroot/torrus/plugins/dummy/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- .cvsignore 3 Dec 2004 21:52:27 -0000 1.1 +++ .cvsignore 14 Dec 2004 13:26:25 -0000 1.2 @@ -9,4 +9,5 @@ dummyscript substvars.sh tp-dummy-*.tar.gz +*.txt |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 13:26:35
|
Update of /cvsroot/torrus/plugins/overview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32271/overview Modified Files: .cvsignore Log Message: minor updates Index: .cvsignore =================================================================== RCS file: /cvsroot/torrus/plugins/overview/.cvsignore,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- .cvsignore 8 Dec 2004 15:03:44 -0000 1.2 +++ .cvsignore 14 Dec 2004 13:26:26 -0000 1.3 @@ -10,5 +10,5 @@ tp-overview-*.tar.gz pod2htmi.tmp pod2htmd.tmp -tp-overview.txt +*.txt ov_substvars.sh |
|
From: Stanislav S. <ssi...@us...> - 2004-12-14 13:26:34
|
Update of /cvsroot/torrus/plugins/httpcollector In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32271/httpcollector Modified Files: .cvsignore Log Message: minor updates Index: .cvsignore =================================================================== RCS file: /cvsroot/torrus/plugins/httpcollector/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- .cvsignore 7 Dec 2004 17:11:36 -0000 1.1 +++ .cvsignore 14 Dec 2004 13:26:25 -0000 1.2 @@ -9,4 +9,5 @@ tp-httpcollector-*.tar.gz pod2htmi.tmp pod2htmd.tmp +*.txt |
|
From: Stanislav S. <ssi...@us...> - 2004-12-13 22:51:57
|
Update of /cvsroot/torrus/htdocs/manpages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18841/manpages Added Files: torrus_acledit.pod.html torrus_action_printemail.pod.html torrus_action_snmptrap.pod.html torrus_clearcache.pod.html torrus_collector.pod.html torrus_compilexml.pod.html torrus_configinfo.pod.html torrus_configsnapshot.pod.html torrus_devdiscover.pod.html torrus_genddx.pod.html torrus_monitor.pod.html torrus_schedulerinfo.pod.html Log Message: doc updated --- NEW FILE: torrus_acledit.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>acledit - Manage Torrus access control lists.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#group_management_options">GROUP MANAGEMENT OPTIONS</a></li> <li><a href="#user_management_options">USER MANAGEMENT OPTIONS</a></li> <li><a href="#general_options">GENERAL OPTIONS</a></li> <li><a href="#examples">EXAMPLES</a></li> <li><a href="#files">FILES</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>acledit - Manage Torrus access control lists (ACLs).</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>acledit</strong> [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This command manages the Torrus access control lists. Each user is identified by user ID, and has a set of attributes. Currently supported attributes are <code>cn</code> (common name) and <code>userPasswordMD5</code> (MD5 digest of the user's password).</p> <p>Each user belongs to one or several groups. Each group has its own set of privileges. A privilege is identified by privilege name and object name. Currently only one privilege name is supported: <code>DisplayTree</code>, and the object name is the name of the tree that this group is allowed to browse.</p> <p>User authorization in the web interface is controlled by the <code>$Torrus::ApacheHandler::authorizeUsers</code> variable in <em>torrus-siteconfig.pl</em>.</p> <p> </p> <hr /> <h1><a name="group_management_options">GROUP MANAGEMENT OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2daddgroup_3dgroup"><strong>--addgroup</strong>=<em>GROUP</em></a></strong><br /> </dt> <dd> Creates a new group with the given name. </dd> <p></p> <dt><strong><a name="item__2d_2ddelgroup_3dgroup"><strong>--delgroup</strong>=<em>GROUP</em></a></strong><br /> </dt> <dd> Deletes the group with the given name. </dd> <p></p> <dt><strong><a name="item__2d_2dmodgroup_3dgroup"><strong>--modgroup</strong>=<em>GROUP</em></a></strong><br /> </dt> <dd> Modifies the given group. </dd> <p></p> <dt><strong><a name="item__2d_2dpermit_3dprivilege"><strong>--permit</strong>=<em>PRIVILEGE</em></a></strong><br /> </dt> <dd> Grants privilege to group(s). Currently supported privileges are: <code>DisplayTree</code> for displaying a datasource tree, and <code>DisplayAdmInfo</code> for displaying the administrative information (all significant parameters for a given datasource leaf). </dd> <p></p> <dt><strong><a name="item__2d_2ddeny_3dprivilege"><strong>--deny</strong>=<em>PRIVILEGE</em></a></strong><br /> </dt> <dd> Revokes <code>group(s)</code> privilege. </dd> <p></p> <dt><strong><a name="item__2d_2dfor_3dobject"><strong>--for</strong>=<em>OBJECT</em></a></strong><br /> </dt> <dd> Object for which privileges are granted or revoked. Currently it must be the name of the tree for which the <code>DisplayTree</code> and <code>DisplayAdmInfo</code> privilegs are granted or revoked. The asterisk (*) instead of the object name assigns the privilege for all objects. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="user_management_options">USER MANAGEMENT OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dadduser_3duid"><strong>--adduser</strong>=<em>UID</em></a></strong><br /> </dt> <dd> Creates a new user with the given user ID. </dd> <p></p> <dt><strong><a name="item__2d_2ddeluser_3duid"><strong>--deluser</strong>=<em>UID</em></a></strong><br /> </dt> <dd> Deletes user with the given user ID. </dd> <p></p> <dt><strong><a name="item__2d_2dmoduser_3duid"><strong>--moduser</strong>=<em>UID</em></a></strong><br /> </dt> <dd> Modifies the user attributes for the given user ID. </dd> <p></p> <dt><strong><a name="item__2d_2daddtogroup_3dgroup"><strong>--addtogroup</strong>=<em>GROUP</em></a></strong><br /> </dt> <dd> Adds user to the given group. </dd> <p></p> <dt><strong><a name="item__2d_2ddelfromgroup_3dgroup"><strong>--delfromgroup</strong>=<em>GROUP</em></a></strong><br /> </dt> <dd> Deletes user from the given group. </dd> <p></p> <dt><strong><a name="item__2d_2dpassword_3dpassword"><strong>--password</strong>=<em>PASSWORD</em></a></strong><br /> </dt> <dd> Sets user's password. </dd> <p></p> <dt><strong><a name="item__2d_2dcn_3dname"><strong>--cn</strong>=<em>NAME</em></a></strong><br /> </dt> <dd> Sets user's common name. </dd> <p></p> <dt><strong><a name="item__2d_2dshowuser_3duid"><strong>--showuser</strong>=<em>UID</em></a></strong><br /> </dt> <dd> Displays information for a given user. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="general_options">GENERAL OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dexport_3dfile"><strong>--export</strong>=<em>FILE</em></a></strong><br /> </dt> <dd> Exports ACL configuration to a given file. </dd> <p></p> <dt><strong><a name="item__2d_2dtemplate_3dfile"><strong>--template</strong>=<em>FILE</em></a></strong><br /> </dt> <dd> Uses the given template file when exporting. Default value is <em>aclexport.xml</em>. </dd> <p></p> <dt><strong><a name="item__2d_2dimport_3dfile"><strong>--import</strong>=<em>FILE</em></a></strong><br /> </dt> <dd> Imports ACL configuration from the given file. </dd> <p></p> <dt><strong><a name="item__2d_2dclear"><strong>--clear</strong></a></strong><br /> </dt> <dd> Deletes all user and privileges configuration. </dd> <p></p> <dt><strong><a name="item__2d_2dlist"><strong>--list</strong></a></strong><br /> </dt> <dd> Lists all users and groups they belong to. </dd> <p></p> <dt><strong><a name="item__2d_2ddebug"><strong>--debug</strong></a></strong><br /> </dt> <dd> Sets the log level to debug. </dd> <p></p> <dt><strong><a name="item__2d_2dverbose"><strong>--verbose</strong></a></strong><br /> </dt> <dd> Sets the log level to info. </dd> <p></p> <dt><strong><a name="item__2d_2dhelp"><strong>--help</strong></a></strong><br /> </dt> <dd> Displays a help message. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="examples">EXAMPLES</a></h1> <pre> acledit --addgroup=staff --permit=DisplayTree \ --for=main --for=thecustomer acledit --adduser=jsmith --password=mysecretpassword \ --cn="John Smith" --addtogroup=staff acledit --addgroup=admin --permit=DisplayTree --for='*'</pre> <p>This example creates a group <em>staff</em> and gives all its members the permission to browse the datasource trees <em>main</em> and <em>thecustomer</em>. The next command creates a user <em>jsmith</em> and addts it to this group. The user name will be displayed as <em>John Smith</em>, and it will be let in with the given password. The third command creates a group <em>admin</em> which is allowed o browse all existing trees.</p> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item__40perlcfgdir_40_2ftorrus_2dsiteconfig_2epl"><em>@perlcfgdir@/torrus-siteconfig.pl</em></a></strong><br /> </dt> <dd> Torrus site configuration script. </dd> <p></p> <dt><strong><a name="item__2fusr_2flocal_2ftorrus_2ftemplates_2faclexport_2e"><em>/usr/local/torrus/templates/aclexport.xml</em></a></strong><br /> </dt> <dd> Default template for the exports of ACL configuration. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_action_printemail.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>action_printemail - A script for sending email from monitor action.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#files">FILES</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>action_printemail - A script for sending email from monitor action.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <pre> <action name="report-email"> <param name="action-type" value="exec" /> <param name="command"> $Torrus_BIN/action_printemail | mail al...@ex... </param> <param name="launch-when" value="set, clear" /> </action></pre> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This program is designed for usage from a monitor action only. It takes the arguments from environment variables, as described in action-type <code>exec</code> in <strong>Torrus XML Configuration Guide</strong>. In addition, some values may be supplied via command-line arguments (see section OPTIONS below).</p> <p>Site-specific variables must be specified in the file <em>email-siteconfig.pl</em>. Default values are installed by the first run of <code>make install</code>. Subsequent runs of <code>make install</code> do not override this file.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2durl_3dgrapher_2durl"><strong>--url</strong>=<em>GRAPHER-URL</em></a></strong><br /> </dt> <dd> Sets the URL of the grapher CGI script. </dd> <p></p> <dt><strong><a name="item__2d_2dtemplate_3dtemplate_2dfile"><strong>--template</strong>=<em>TEMPLATE-FILE</em></a></strong><br /> </dt> <dd> Uses given file as a template. The template file must reside in /usr/local/torrus/templates directory. It must be a Template-toolkit file, with the following variables defined: </dd> <dd> <pre> tree Tree name token Leaf token path Leaf path url URL for browsing this leaf ncomment This leaf comment npcomment Leaf's parent comment event Event type monitor Monitor name mcomment Monitor comment timestamp Time and date of the event env(VAR) Environment variable VAR</pre> </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item__40perlcfgdir_40_2femail_2dsiteconfig_2epl"><em>@perlcfgdir@/email-siteconfig.pl</em></a></strong><br /> </dt> <dd> Torrus site email configuration script. </dd> <p></p> <dt><strong><a name="item__2fusr_2flocal_2ftorrus_2ftemplates"><em>/usr/local/torrus/templates</em></a></strong><br /> </dt> <dd> Torrus template directory. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_compilexml.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>compilexml - Torrus XML configurationcompiler.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>compilexml - Torrus XML configuration (re)compiler.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>compilexml</strong> --tree=<em>TREENAME</em> [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This command (re)compiles the Torrus's XML configuration for the <code>tree(s)</code> <em>TREENAME</em>. It does not require any other processes to be restarted after the configuration is changed. Renderer's cache is automatically flushed on on the next Renderer's run. Monitor automatically resets on the next monitoring cycle. All tokensets in the given tree are emptied.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dall"><strong>--all</strong></a></strong><br /> </dt> <dd> Instructs to (re)compile configuration for all trees. </dd> <p></p> <dt><strong><a name="item__2d_2dnods"><strong>--nods</strong></a></strong><br /> </dt> <dd> Instructs to (re)compile non-datasource configuration only. </dd> <p></p> <dt><strong><a name="item__2d_2dnoval"><strong>--noval</strong></a></strong><br /> </dt> <dd> Disables all validation of the XML configuration. This speeds up the compilation up to 2 times, while adding a risk to end up with an unusable configuration. In addition, the first initialization cycle of Collector and Monitor in this case would be much longer. </dd> <p></p> <dt><strong><a name="item__2d_2ddebug"><strong>--debug</strong></a></strong><br /> </dt> <dd> Sets the log level to debug. </dd> <p></p> <dt><strong><a name="item__2d_2dverbose"><strong>--verbose</strong></a></strong><br /> </dt> <dd> Sets the debug level to info. </dd> <p></p> <dt><strong><a name="item__2d_2dhelp"><strong>--help</strong></a></strong><br /> </dt> <dd> Displays a help message. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_monitor.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>monitor - Torrus Monitor.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#files">FILES</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>monitor - Torrus Monitor.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>monitor</strong> --tree=<em>TREENAME</em> [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This command starts the Monitor process for the tree <em>TREENAME</em>. By default it forks into a daemon, sets the log output file to <em>/var/log/torrus/monitor.TREENAME.log</em>, performs one monitoring cycle, and sleeps until the next cycle is scheduled. In daemon mode the log file can be reopened by sending it a SIGHUP signal.</p> <p>Monitoring cycle scheduling is controlled by two variables whose values may be set in <em>torrus-siteconfig.pl</em>:</p> <dl> <dt><strong><a name="item__24torrus_3a_3aglobal_3a_3amonitorperiod">$Torrus::Global::monitorPeriod</a></strong><br /> </dt> <dd> Sets the period of the monitor run to a specified number of seconds. Default value is 300. </dd> <p></p> <dt><strong><a name="item__24torrus_3a_3aglobal_3a_3amonitorstartshift">$Torrus::Global::monitorStartShift</a></strong><br /> </dt> <dd> Controls the shift of the start of monitoring cycle. Monitor will run at <code>time() mod Period + Shift</code>, thus allowing the data to be updated during the shift period. Default value is 15. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dnodaemon"><strong>--nodaemon</strong></a></strong><br /> </dt> <dd> Prevents the process from becoming a daemon and sets the log to STDERR. </dd> <p></p> <dt><strong><a name="item__2d_2drunonce"><strong>--runonce</strong></a></strong><br /> </dt> <dd> Instructs the script to run once and exit. Implies <strong>--nodaemon</strong>. </dd> <p></p> <dt><strong><a name="item__2d_2ddebug"><strong>--debug</strong></a></strong><br /> </dt> <dd> Sets the log level to debug. </dd> <p></p> <dt><strong><a name="item__2d_2dverbose"><strong>--verbose</strong></a></strong><br /> </dt> <dd> Sets the debug level to info. </dd> <p></p> <dt><strong><a name="item__2d_2dhelp"><strong>--help</strong></a></strong><br /> </dt> <dd> Displays a help message. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item__40perlcfgdir_40_2ftorrus_2dsiteconfig_2epl"><em>@perlcfgdir@/torrus-siteconfig.pl</em></a></strong><br /> </dt> <dd> Torrus site configuration script. </dd> <p></p> <dt><strong><a name="item__2fvar_2flog_2ftorrus_2fmonitor_2etreename_2elog"><em>/var/log/torrus/monitor.TREENAME.log</em></a></strong><br /> </dt> <dd> Monitor's log for the tree <em>TREENAME</em>. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_devdiscover.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>devdiscover - Performs SNMP discovery and generates Torrus XML configuration file.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#files">FILES</a></li> <li><a href="#see_also">SEE ALSO</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>devdiscover - Performs SNMP discovery and generates Torrus XML configuration file.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>devdiscover</strong> --in=<em>XMLFILE</em> [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p><strong>devdiscover</strong> performs SNMP discovery using the <em>XMLFILE</em> for the discovery instructions. It generates a corresponding Torrus XML configuration file. See <strong>Torrus SNMP Discovery User Guide</strong> for details.</p> <p>The generic input file, or device discovery XML (DDX), may be generated by the <strong>genddx</strong> utility, and then edited and maintained manually.</p> <p>Input file name is searched in the current directory, and then in <em>/usr/local/etc/torrus/discovery/</em>.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dmkdir"><strong>--mkdir</strong></a></strong><br /> </dt> <dd> Creates <code>data-dir</code> directories. </dd> <p></p> <dt><strong><a name="item__2d_2dlimit_3dregexp"><strong>--limit</strong>=<em>REGEXP</em></a></strong><br /> </dt> <dd> Limits the discovery to the output files matching the regular expression <em>REGEXP</em>. </dd> <p></p> <dt><strong><a name="item__2d_2dverbose"><strong>--verbose</strong></a></strong><br /> </dt> <dd> Prints extra information. </dd> <p></p> <dt><strong><a name="item__2d_2ddebug"><strong>--debug</strong></a></strong><br /> </dt> <dd> Prints debugging information. </dd> <p></p> <dt><strong><a name="item__2d_2dsnmpdebug"><strong>--snmpdebug</strong></a></strong><br /> </dt> <dd> Prints SNMP protocol details </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item__40perlcfgdir_40_2fdevdiscover_2dsiteconfig_2epl"><em>@perlcfgdir@/devdiscover-siteconfig.pl</em></a></strong><br /> </dt> <dd> <strong>devdiscover</strong> site configuration file. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="see_also">SEE ALSO</a></h1> <p><strong>genddx</strong>(1)</p> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See <em>Torrus SNMP Discovery User Guide</em> for more details at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_configsnapshot.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>configsnapshot - Generates a configuration snapshot for a Torrus tree.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#files">FILES</a></li> <li><a href="#see_also">SEE ALSO</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>configsnapshot - Generates a configuration snapshot for a Torrus tree.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>configsnapshot</strong> --tree=<em>TREENAME</em> [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This command generates a configuration snapshot from current datasources for tree <em>TREENAME</em>. The output is an XML file, ready for compilation, representing all datasources, monitors and tokensets of a given tree. The snapshot does not include view definitions. Templates and file patterns are expanded inside the file. It does not require any other XML configuration files, except for <em>defaults.xml</em> and your custom view definitions.</p> <p><strong>Warning:</strong> <code>configsnapshot</code> from Torrus release 0.1.5 will not work correctly with databases from previous releases. Use release <code>0.1.4bf2</code> instead. <code>configsnapshot</code> utility from release 0.1.4bf2 does not preserve aliases.</p> <p>This utility is useful in Torrus upgrade process. In case when RRD files structure is changing in Torrus default templates, and <code>user(s)</code> demand to preserve the historical data, the following steps could be done:</p> <ul> <li></li> Stop the collector and monitor processes. <p></p> <li></li> Install newest Torrus software and do not run <code>compilexml</code> immediately. <p></p> <li></li> Create snapshots of the trees that you want to preserve for historical reasons: <pre> configsnapshot --tree=myrouters \ --out=share/xmlconfig/myrouters-snapshot.xml</pre> <p></p> <li></li> If needed, move the existing RRD files into different directory. Then change the <code>data-dir</code> parameters in the snapshot XML accordingly. <p></p> <li></li> Create a new tree with only the snapshot file in it. Compile the tree. <p></p> <li></li> At this stage, it is up to the user to decide wether to continue running the collector and monitor daemons for this new tree. The old data may be preserved for historical reference, and collector may be run with the newest tree structure and definitions. <p></p></ul> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dout_3dfile"><strong>--out</strong>=<em>FILE</em></a></strong><br /> </dt> <dd> Sets the output file to <em>FILE</em>. Default is <em>snapshot.xml</em>. </dd> <p></p> <dt><strong><a name="item__2d_2dverbose"><strong>--verbose</strong></a></strong><br /> </dt> <dd> Displays some extra information. </dd> <p></p> <dt><strong><a name="item__2d_2dhelp"><strong>--help</strong></a></strong><br /> </dt> <dd> Displays a help message. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item__40xmldir_40_2fdefaults_2exml"><em>@xmldir@/defaults.xml</em></a></strong><br /> </dt> <dd> XML configuration file with default settings for the datasources and tokensets, as well as default view definitions. </dd> <p></p> <dt><strong><a name="item_snapshot_2exml"><em>snapshot.xml</em></a></strong><br /> </dt> <dd> Default <strong>configsnapshot</strong> output file. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="see_also">SEE ALSO</a></h1> <p><strong>compilexml</strong>(1)</p> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_configinfo.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>configinfo - Displays useful statistics for all Torrus trees.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>configinfo - Displays useful statistics for all Torrus trees.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>configinfo</strong></p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This command displays information on all available Torrus trees, including the names of the trees, counts of leaves, subtrees, views, monitors and actions, and other information.</p> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_action_snmptrap.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>action_snmpv1trap - Scripts for sending SNMP traps from monitor action. action_snmpv1trap is obsolete as the preferred SNMP version is 2c.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#files">FILES</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>action_snmptrap, action_snmpv1trap - Scripts for sending SNMP traps (version 2c and 1 respectively) from monitor action. action_snmpv1trap is obsolete as the preferred SNMP version is 2c.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <pre> <action name="snmptrap"> <param name="action-type" value="exec" /> <param name="command" value="$Torrus_BIN/action_snmptrap" /> <param name="launch-when" value="set, clear" /> </action></pre> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This program is designed for usage from a monitor action only. It takes the arguments from environment variables, as described in action-type <code>exec</code> in <strong>Torrus XML Configuration Guide</strong>. In addition, some values may be supplied via command-line arguments (see section OPTIONS below).</p> <p>Site-specific variables must be specified in the file <em>snmptrap-siteconfig.pl</em>. Default values are installed by the first run of <code>make install</code>. Subsequent runs of <code>make install</code> do not override this file.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dhost_hostname"><strong>--host</strong> <em>HOSTNAME</em></a></strong><br /> </dt> <dd> Sets the hostname of the destination host. </dd> <p></p> <dt><strong><a name="item__2d_2dcommunity_community"><strong>--community</strong> <em>COMMUNITY</em></a></strong><br /> </dt> <dd> Sets the community string to use when sending the trap. </dd> <p></p> <dt><strong><a name="item__2d_2dport_port"><strong>--port</strong> <em>PORT</em></a></strong><br /> </dt> <dd> Sets the destination UDP port. </dd> <p></p> <dt><strong><a name="item__2d_2denterprise_oid"><strong>--enterprise</strong> <em>OID</em></a></strong><br /> </dt> <dd> Sets the <code>enterprise</code> field of the SNMPv1 trap to a given OID (see RFC 1157 for more details). This option is only available for action_snmpv1trap and will be ignored for action_snmptrap. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item__40perlcfgdir_40_2fsnmptrap_2dsiteconfig_2epl"><em>@perlcfgdir@/snmptrap-siteconfig.pl</em></a></strong><br /> </dt> <dd> Torrus site configuration script for SNMP traps. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_schedulerinfo.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>schedulerinfo - Displays extended scheduler tasks information.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>schedulerinfo - Displays extended scheduler tasks information.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>schedulerinfo</strong> --tree=<em>TREENAME</em> [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This utility displays the extended scheduler tasks information for tree <em>TREENAME</em> on standard output. This might be useful for scheduler planning and analysis.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dconfig"><strong>--config</strong></a></strong><br /> </dt> <dd> Reports scheduler's configuration. </dd> <p></p> <dt><strong><a name="item__2d_2druntime"><strong>--runtime</strong></a></strong><br /> </dt> <dd> Reports scheduler's runtime statistics, such as running cycle times, late starts etc. </dd> <p></p> <dt><strong><a name="item__2d_2dhelp"><strong>--help</strong></a></strong><br /> </dt> <dd> Displays a help message. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_collector.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>collector - Torrus data Collector.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#files">FILES</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>collector - Torrus data Collector.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>collector</strong> --tree=<em>TREENAME</em> [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This command starts the Collector process for the tree <em>TREENAME</em>. By default it forks into a daemon, sets the log output file to <em>/var/log/torrus/collector.TREENAME.log</em>, performs one Collector cycle, and sleeps until the next cycle is scheduled. In daemon mode the log file can be reopened by sending it a SIGHUP signal.</p> <p>Collector cycle scheduling is controlled by two parameters defined for each individual configuration leaf: <code>collector-period</code> and <code>collector-timeoffset</code>. See the <strong>Torrus Configuration Guide</strong> for more details.</p> <p>The number of OID (Object IDentifier) variable bindings sent by Collector is controlled by the datasource parameter <code>snmp-oids-per-pdu</code>. It is set to a default value of 40 in <em>snmp-defs.xml</em>, and may be overwritten at the host level.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dnodaemon"><strong>--nodaemon</strong></a></strong><br /> </dt> <dd> Prevents the process from becoming a daemon and sets the log to STDERR. </dd> <p></p> <dt><strong><a name="item__2d_2drunonce"><strong>--runonce</strong></a></strong><br /> </dt> <dd> Instructs the script to run once and exit. Implies <strong>--nodaemon</strong>. </dd> <p></p> <dt><strong><a name="item__2d_2ddebug"><strong>--debug</strong></a></strong><br /> </dt> <dd> Sets the log level to debug. </dd> <p></p> <dt><strong><a name="item__2d_2dverbose"><strong>--verbose</strong></a></strong><br /> </dt> <dd> Sets the debug level to info. </dd> <p></p> <dt><strong><a name="item__2d_2dhelp"><strong>--help</strong></a></strong><br /> </dt> <dd> Displays a help message. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item__40perlcfgdir_40_2ftorrus_2dsiteconfig_2epl"><em>@perlcfgdir@/torrus-siteconfig.pl</em></a></strong><br /> </dt> <dd> Torrus site configuration script. </dd> <p></p> <dt><strong><a name="item__2fvar_2flog_2ftorrus_2fcollector_2etreename_2elog"><em>/var/log/torrus/collector.TREENAME.log</em></a></strong><br /> </dt> <dd> Collector's log for the tree <em>TREENAME</em>. </dd> <p></p> <dt><strong><a name="item__40xmldir_40_2fsnmp_2ddefs_2exml"><em>@xmldir@/snmp-defs.xml</em></a></strong><br /> </dt> <dd> Basic variable definitions for the SNMP collector. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_clearcache.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>clearcache - Clears the Torrus Renderer's cache.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>clearcache - Clears the Torrus Renderer's cache.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>clearcache</strong></p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p>This program clears Torrus Renderer's cache. It is intended for debugging purposes only.</p> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_genddx.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>genddx - Generates SNMP discovery instructions file for devdiscover.</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <!-- <ul> <li><a href="#name">NAME</a></li> <li><a href="#synopsis">SYNOPSIS</a></li> <li><a href="#description">DESCRIPTION</a></li> <li><a href="#options">OPTIONS</a></li> <li><a href="#files">FILES</a></li> <li><a href="#see_also">SEE ALSO</a></li> <li><a href="#notes">NOTES</a></li> <li><a href="#author">AUTHOR</a></li> </ul> --> <!-- INDEX END --> <p> </p> <h1><a name="name">NAME</a></h1> <p>genddx - Generates SNMP discovery instructions file for devdiscover.</p> <p> </p> <hr /> <h1><a name="synopsis">SYNOPSIS</a></h1> <p><strong>genddx</strong> --host=<em>HOSTNAME</em> | --hostfile=<em>HOSTFILENAME</em> \ [<em>options...</em>]</p> <p> </p> <hr /> <h1><a name="description">DESCRIPTION</a></h1> <p><strong>genddx</strong> generates the SNMP discovery instructions file, which may be later used as input for the <strong>devdiscover</strong> utility to produce the corresponding Torrus XML configuration file. The <code>hostname(s)</code> of <code>router(s)</code> to be included in SNMP discovery must be specified either using the <strong>--host</strong> (for a single router) or <strong>--hostfile</strong> option. In the latter case the file <em>HOSTFILENAME</em> must contain a space-separated list of router hostnames. Hostnames may have the form <code>host:devname</code> where <code>devname</code> is a symbolic device name.</p> <p>This utility is designed to be used only once, in order to generate the discovery XML canvas, for futher manual editing. It generates only basic set of parameters, and there are much more of those that you may use to customize the discovery process.</p> <p>More information is available in <strong>Torrus SNMP Discovery User Guide</strong>.</p> <p> </p> <hr /> <h1><a name="options">OPTIONS</a></h1> <dl> <dt><strong><a name="item__2d_2dout_3doutfilename"><strong>--out</strong>=<em>OUTFILENAME</em></a></strong><br /> </dt> <dd> Sets the output file to <em>OUTFILENAME</em>. Default is <em>routers.ddx</em>. </dd> <p></p> <dt><strong><a name="item__2d_2ddiscout_3dfilename"><strong>--discout</strong>=<em>FILENAME</em></a></strong><br /> </dt> <dd> Sets the discovery output file to <em>FILENAME</em>. This will be the filename of the Torrus XML configuration file once the output file of the <strong>genddx</strong> is processed by the <strong>devdiscover</strong> utility. Default value is <em>@xmldir@/routers.xml</em>. </dd> <p></p> <dt><strong><a name="item__2d_2ddomain_3ddomain"><strong>--domain</strong>=<em>DOMAIN</em></a></strong><br /> </dt> <dd> Sets the DNS domain name to <em>DOMAIN</em>. </dd> <p></p> <dt><strong><a name="item__2d_2dversion_3dsnmpversion"><strong>--version</strong>=<em>SNMPVERSION</em></a></strong><br /> </dt> <dd> Sets discovery SNMP version to SNMPVERSION. Default value is <code>2c</code>. </dd> <p></p> <dt><strong><a name="item__2d_2dcommunity_3dcommunity"><strong>--community</strong>=<em>COMMUNITY</em></a></strong><br /> </dt> <dd> Sets discovery SNMP read community value to string <em>COMMUNITY</em>. Default is <code>public</code>. </dd> <p></p> <dt><strong><a name="item__2d_2dport_3dport"><strong>--port</strong>=<em>PORT</em></a></strong><br /> </dt> <dd> Sets SNMP port to <em>PORT</em>. Default is 161. </dd> <p></p> <dt><strong><a name="item__2d_2dretries_3dnumretries"><strong>--retries</strong>=<em>NUMRETRIES</em></a></strong><br /> </dt> <dd> Sets number of retries to <em>NUMRETRIES</em>. Default value is 2. </dd> <p></p> <dt><strong><a name="item__2d_2dtimeout_3dtimeout"><strong>--timeout</strong>=<em>TIMEOUT</em></a></strong><br /> </dt> <dd> Sets SNMP timeout to <em>TIMEOUT</em> seconds. Default value is 10. </dd> <p></p> <dt><strong><a name="item__2d_2dsubtree_3dsubtree"><strong>--subtree</strong>=<em>SUBTREE</em></a></strong><br /> </dt> <dd> Sets the subtree name to <em>SUBTREE</em>. Default is <code>/Routers</code>. </dd> <p></p> <dt><strong><a name="item__2d_2ddatadir_3ddatadir"><strong>--datadir</strong>=<em>DATADIR</em></a></strong><br /> </dt> <dd> Sets the path of the directory where SNMP data is collected to <em>DATADIR</em>. Default value is <em>/var/snmpcollector</em>. </dd> <p></p> <dt><strong><a name="item__2d_2dholtwinters"><strong>--holtwinters</strong></a></strong><br /> </dt> <dd> Enables Holt-Winters analysis. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="files">FILES</a></h1> <dl> <dt><strong><a name="item_routers_2eddx"><em>routers.ddx</em></a></strong><br /> </dt> <dd> Default output file of genddx. </dd> <p></p> <dt><strong><a name="item__40xmldir_40_2frouters_2exml"><em>@xmldir@/routers.xml</em></a></strong><br /> </dt> <dd> Default Torrus XML configuration file which will be written once the genddx output file is processed with devdiscover utility. </dd> <p></p></dl> <p> </p> <hr /> <h1><a name="see_also">SEE ALSO</a></h1> <p><strong>devdiscover</strong>(1)</p> <p> </p> <hr /> <h1><a name="notes">NOTES</a></h1> <p>See more documentation at Torrus home page: <a href="http://torrus.sf.net">http://torrus.sf.net</a></p> <p> </p> <hr /> <h1><a name="author">AUTHOR</a></h1> <p>Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> |
|
From: Stanislav S. <ssi...@us...> - 2004-12-13 22:51:56
|
Update of /cvsroot/torrus/htdocs/devdoc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18841/devdoc Added Files: architecture.pod.html devdiscover.pod.html progstyle.pod.html reqs.0.0.pod.html reqs.0.1.pod.html torrus_roadmap.pod.html wd.distributed.pod.html wd.messaging.pod.html wd.monitor-escalation.pod.html wd.uptime-mon.pod.html Log Message: doc updated --- NEW FILE: reqs.0.0.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRD Framework Requirements Version 0.0</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrd_framework_requirements_version_0_0">RRD Framework Requirements Version 0.0</a></li> <ul> <li><a href="#flexible_hierarchical_configuration">Flexible Hierarchical Configuration</a></li> </ul> <li><a href="#data_monitoring_principles">Data Monitoring Principles</a></li> <ul> <li><a href="#file_naming_flexibility">File Naming Flexibility</a></li> <li><a href="#datasource_naming">Datasource Naming</a></li> <li><a href="#monitoring_rules">Monitoring Rules</a></li> <li><a href="#event_processing">Event Processing</a></li> </ul> <li><a href="#data_displaying_principles">Data Displaying Principles</a></li> <li><a href="#author">Author</a></li> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrd_framework_requirements_version_0_0">RRD Framework Requirements Version 0.0</a></h1> <p>Date: Jul 10 2002</p> <p>This article defines some principles that a supposedly future RRD framework should have. The framework should consist of 3 independent subsystems:</p> <dl> <dt><strong><a name="item_data_collection">Data Collection</a></strong><br /> </dt> <dt><strong><a name="item_data_monitoring">Data Monitoring</a></strong><br /> </dt> <dt><strong><a name="item_data_displaying">Data Displaying</a></strong><br /> </dt> </dl> <p> </p> <h2><a name="flexible_hierarchical_configuration">Flexible Hierarchical Configuration</a></h2> <p>Inspired by Cricket hierarchical configuration, we state here that the configuration should be hierarchical. Child nodes should inherit the properties from parents.</p> <p>The format of the configuration files has not to be neccessary as in Cricket. I'm not sure if it's worth keeping them in a directory structure representing the hierarchy tree, but it's definitive that multiple files should be supported.</p> <p>A good step ahead would be the configuration in XML format. It is also possible to have a converter from some other formats (plain text, or an SQL database) into XML which will be consumed by the framework.</p> <p>I leave the Data collection uncovered, since all of the existing RRD frontends do this part already.</p> <p> </p> <hr /> <h1><a name="data_monitoring_principles">Data Monitoring Principles</a></h1> <p>At the moment, the only known solution for RRD data monitoring is Cricket. Its threshold monitoring has certain limitation and drawbacks. Nevertheless, it may be used as the basis for the ideas in the further development.</p> <p>The major idea is to build data monitoring as a part of a bigger RRD framework, still being the independent part of the whole. The data can come from many differet sources, from RRDs produced by any of the existing and future frontends.</p> <p> </p> <h2><a name="file_naming_flexibility">File Naming Flexibility</a></h2> <p>In most existing RRD frontends, each RRD datafile should be described individually. This is not very convenient, especially for the cases when you have several (dozens) files containing one type of data. (e.g., input traffic per source autonomous system). Also the files of same type can be created and deleted by their sourcing frontend, and it would be more convenient not having to change the monitoring configuration.</p> <p>Thus, we need a wildcards language which would allow to specify multiple files and derive the datasource names from thir names.</p> <p> </p> <h2><a name="datasource_naming">Datasource Naming</a></h2> <p>Each data being monitored (for RRDs, its definition specifies the <filename, DS, RRA> triple) has to have a universal name. The name can be fully or partly qualified, depending on the configuration tree. Examples of such data reference follow:</p> <pre> /Netflow/Exporters/63.2.3.224/if3/bps /* Interface #3 on router 63.2.3.224 */ /Netflow/Subnets/Dialin/bps /* Dial-in address pool */ /* different grouping for the rack temperature in Server Room 1 */ /Envmon/RackTemp/SR1 /SR1/Envmon/RackTemp</pre> <p>Name aliasing should allow short or symbolic names for data sources:</p> <pre> /* Alias for /Netflow/Exporters/63.2.3.224/if3 */ /Netflow/Upstream/FranceTelecom1</pre> <p> </p> <h2><a name="monitoring_rules">Monitoring Rules</a></h2> <p>Data threshold monitoring should be described in a hierarchical manner.</p> <p>It would be interesting to have monitoring rules separate from the data hierarchy. On the other hand, 1) some data sources might need special and unique monitoring rules; 2) in some cases, several data sources need to be combined in order to build a threshold rule. I'm not yet sure how this must be achieved.</p> <p> </p> <h2><a name="event_processing">Event Processing</a></h2> <p>Once the threshold violation occurs, the monitoring system should produce the alarm event.</p> <p>Cricket has a good set of ways to report the alarm, and they can be taken as the basis.</p> <p>Also what Cricket is really missing, is displaying those data sources being alarmed. The Monitoring system should produce the instructions to the Displaying system in order to display the summary of those data sources which produce alarms within certain time.</p> <p> </p> <hr /> <h1><a name="data_displaying_principles">Data Displaying Principles</a></h1> <p>View profiles should be configured in a hierarchical manner.</p> <p>Again as with data monitoring, some Views should be configured independently of the data hierarchy, but also some data should be able to define specific view profiles.</p> <p>There should be view profiles of different types:</p> <ul> <li></li> HTML Framework. Defines the HTML elements that should be displayed around the graphs. It also should define the child graphs. Also it should define the controls which would cause the option changes in the child graphs (e.g., enabling ``Show Holt-Winters Boundaries'' would produce the corresponding graph). <p></p> <li></li> Individual Graph. Defines the way the graph should look. It should also be capable of displaying an arbitrary number of data sources. It should have tunable options, like color, size, or time period. <p></p></ul> <p>The Displaying system should allow the following ways of viewing: 1) hierarchical browsing, like Cricket; 2) alarm summary display; 3) individual graph display, without HTML surrounding.</p> <p>The graph images should be cashed and reused whenever possible. In alarm summary browsing, these images can be generated at the moment of the event.</p> <p> </p> <hr /> <h1><a name="author">Author</a></h1> <p>Copyright (c) 2002 Stanislav Sinyagin <a href="mailto:ssi...@ya...">ssi...@ya...</a></p> </body> </html> --- NEW FILE: wd.distributed.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW Working Draft: Distributed collector architecture</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_working_draft__distributed_collector_architecture">RRFW Working Draft: Distributed collector architecture</a></li> <ul> <li><a href="#introduction">Introduction</a></li> <li><a href="#terminology">Terminology</a></li> <li><a href="#transport">Transport</a></li> <li><a href="#operation">Operation</a></li> <li><a href="#message_format">Message format</a></li> </ul> <li><a href="#author">Author</a></li> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_working_draft__distributed_collector_architecture">RRFW Working Draft: Distributed collector architecture</a></h1> <p>Status: pending implementation. Date: May 26, 2004. Last revised: June 14, 2004</p> <p> </p> <h2><a name="introduction">Introduction</a></h2> <p>In large installations, one server has often not enough capacity to collect the data from all the data sources. In other cases, because of the network bandwidth or security restrictions it is preferrable to collect (SNMP) data locally on the site, and transfer the updates to the central location less frequently.</p> <p> </p> <h2><a name="terminology">Terminology</a></h2> <p>We call <em>Hub</em> servers those which run the user web interfaces and optionally threshold monitors. These are normally placed in the central location or NOC datacenter.</p> <p><em>Spoke</em> servers are those running SNMP or other data collectors. They periodically transfer the data to Hub servers. One Spoke server may send copies of data to several Hub servers, and one Hub server may receive data from many Spoke servers.</p> <p>In general, the property of being a Hub or a Spoke is local to a pair of servers and their datasource trees, and it only describes the functions of data collection and transfer. In complex installations, the same instance of RRFW may function as a Hub for some remote Spokes, and as a Spoke for some other Hubs simultaneousely.</p> <p>We call <em>Association</em> a set of attributes that describe a single connection between Hub and Spoke servers. These attributes are:</p> <ul> <li><strong><a name="item_association_id">Association ID</a></strong><br /> </li> Unique symbolic name across the whole range of interconnected servers. <p></p> <li><strong><a name="item_hub_server_id_2c_spoke_server_id">Hub server ID, Spoke server ID</a></strong><br /> </li> Names of the servers, usually hostnames. <p></p> <li><strong><a name="item_transport_type">Transport type</a></strong><br /> </li> One of SSH, RSH, HTTP, etc. <p></p> <li><strong><a name="item_transport_mode">Transport mode</a></strong><br /> </li> PUSH or PULL <p></p> <li><strong><a name="item_transport_parameters">Transport parameters</a></strong><br /> </li> Parameters needed for this transport connection, like login name, password, URL, etc. <p></p> <li><strong><a name="item_compression_type_and_level">Compression type and level</a></strong><br /> </li> Optional, gzip or bzip2 or something else, with compression levels from 1 to 9. <p></p> <li><strong><a name="item_tree_name_on_hub_server">Tree name on Hub server</a></strong><br /> </li> Target datasource tree that will receive data from Spokes <p></p> <li><strong><a name="item_subtree_path_on_hub_server">Subtree path on Hub server</a></strong><br /> </li> The data updates from this association will be placed in a subtree under the specified path. <p></p> <li><strong><a name="item_tree_name_on_spoke_server">Tree name on Spoke server</a></strong><br /> </li> The tree where a collector runs and stores data into this association. <p></p> <li><strong><a name="item_path_translation_rules">Path translation rules</a></strong><br /> </li> Datasource paths from Spoke server may be changed to look different in the tree of Hub server. <p></p></ul> <p> </p> <h2><a name="transport">Transport</a></h2> <p>The modular architecture design should allow different types of data transfer. The default transport is Secure Shell version 2 (SSH). Other possible transports may be RSH, HTTP/HTTPS, rsync.</p> <p>Two transport modes should be implemented: PUSH and PULL. In PUSH mode, Spoke servers initiate the data transfer and push the data to Hub servers. In PULL mode, Hub servers initiate the data transfer and ask Spokes for data updates. It should be possible to mix the transport modes for different Associations on the same server, but within each Association the mode should be strictly determined. The choice of transport mode should be based on local security policies, and server and network performance.</p> <p>Optionally the compression method and level can be configured. Although SSH protocol supports its own compression, more aggressive compression methods may be used for the sake of better bandwidth usage.</p> <p>Transport agents should notify the operator in cases of delivery failures.</p> <p> </p> <h2><a name="operation">Operation</a></h2> <p>For Spoke servers, distributed data transfer will be implemented as additional storage type. For Hub servers, this will be a new collector type.</p> <p>Each data transfer is a concatenation of <em>messages</em>. Messages may be of one of two types: <em>CONFIG</em> and <em>DATA</em>. Spoke server generates the messages and stores them for the transfer. Messages are delivered to Hub servers with a certain delay, but they are guaranteed to arrive in sequential order. For each pair of servers, messages are consecutively numbered. These numbers are used for failure detection.</p> <p>A Spoke server keeps track of its configuration, and after each configuration change, it sends a CONFIG message. This message contains information about mapping between Spoke server tokens and datasource paths, and a limited set of parameters for displaying and monitoring the data.</p> <p>After each collector cycle, Spoke server sends DATA messages. These messages contain the following information: timestamp of the update, token, and value. The format of the message should be designed to consume minimum bandwidth.</p> <p>Hub server picks up the messages delivered by the transport agents. Upon receiving a CONFIG message, it sets a preconfigured delay, in order to collect as many as possible CONFIG messages. Then the data transfer agent generates a new XML configuration based on the messages, and starts the compilation of configuration. The DATA messages are queued for the collector to pick up and and store the values. It must be ensured that all DATA messages queued for the old configuration are processed before the compilation starts.</p> <p>In case of fatal failure and loss of data, Hub server ignores all DATA messages until it gets a new CONFIG message. A periodic configuration update schedule should be defined. If no configuration changes occur within a certain period of time, Spoke server periodically sends the CONFIG messages with the same timestamp.</p> <p> </p> <h2><a name="message_format">Message format</a></h2> <p>Message is a text in email-like format: it starts with a header, followed by an empty line and the body. Single dot (.) in a line specifies the end of the message. Blocks within a CONFIG message are separated with semicolon (;), each block representing a single datasource leaf.</p> <p>Example:</p> <pre> MsgID:100001 Type:CONFIG Timestamp:1085528682</pre> <pre> level2-token:T0005 level2-path:/Routers/RTR1/Interface_Counters/Ethernet0/InOctets vertical-label:bps .... ; level2-token:T0006 level2-path:/Routers/RTR1/Interface_Counters/Ethernet0/OutOctets vertical-label:bps . MsgID:100002 Type:DATA Timestamp:1085528690</pre> <pre> T0005:12345678 T0006:987654321 .</pre> <p> </p> <hr /> <h1><a name="author">Author</a></h1> <p>Copyright (c) 2004 Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: wd.messaging.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW Working Draft: Messaging subsystem</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_working_draft__messaging_subsystem">RRFW Working Draft: Messaging subsystem</a></li> <ul> <li><a href="#introduction">Introduction</a></li> <li><a href="#description">Description</a></li> </ul> <li><a href="#author">Author</a></li> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_working_draft__messaging_subsystem">RRFW Working Draft: Messaging subsystem</a></h1> <p>Status: pending implementation. Date: Jun 30 2004. Last revised:</p> <p> </p> <h2><a name="introduction">Introduction</a></h2> <p>Due to the modular and flexible architecture of RRFW, nothing prevents us from having the possibility of user messages displayed in RRFW pages. This design document describes the concept of this functionality.</p> <p> </p> <h2><a name="description">Description</a></h2> <p>The messaging subsystem will allow the RRFW users to leave comments and short messages directly at the RRFW pages. Those may be remarks about the graph contents, troubleshooting journal, etc.</p> <p>Each user is uniquely identified by RRFW ACL susbsystem. We introduce several new attributes and privileges for messaging functionality. Privilege objects are the tree names.</p> <p>Attributes:</p> <ul> <li><strong><a name="item_email">email</a></strong><br /> </li> The user's e-mail where the notifications will be sent <p></p> <li><strong><a name="item_msgnotify">msgnotify</a></strong><br /> </li> When set to true value, e-mail notifications will be sent to this users. <p></p></ul> <p>Privileges:</p> <ul> <li><strong><a name="item_postmessages">PostMessages</a></strong><br /> </li> allows the user to add messages to the tree objects. <p></p> <li><strong><a name="item_displaymessages">DisplayMessages</a></strong><br /> </li> allows the user to see all messages for the tree <p></p> <li><strong><a name="item_receivenotifications">ReceiveNotifications</a></strong><br /> </li> allows the user to receive e-mail notifications. For those notifications generated by Messages, <a href="#item_displaymessages"><code>DisplayMessages</code></a> must be granted too. <p></p> <li><strong><a name="item_deletemessages">DeleteMessages</a></strong><br /> </li> allows the user to delete messages from the tree objects <p></p> <li><strong><a name="item_editmessages">EditMessages</a></strong><br /> </li> allows the user to change any message <p></p> <li><strong><a name="item_editownmessages">EditOwnMessages</a></strong><br /> </li> allows the user to change his/her own messages <p></p></ul> <p>The <code>acledit</code> program will have two additional options that simplify administration: <code>--msguser</code> will grant all privileges except <a href="#item_deletemessages"><code>DeleteMessages</code></a> and <a href="#item_editmessages"><code>EditMessages</code></a>, and <code>--msgadmin</code> will grant all messaging privileges.</p> <p>The messaging options database will contain parameters that each user can tune for himself or herself:</p> <ul> <li><strong><a name="item_notify_when">Notify when</a></strong><br /> </li> a) any new message in all trees; b) (default) new message for objects that I commented only. <p></p> <li><strong><a name="item_notification_format">Notification format</a></strong><br /> </li> a) plain text (default); b) HTML; c) RSS 2.0 <p></p> <li><strong><a name="item_subject_line_format">Subject line format</a></strong><br /> </li> The format pattern with keywords like <code>$TREE</code>, <code>$PATH</code>, <code>$AUTHOR</code>, <code>$MSGID</code>, etc. <p>Default:</p> <pre> [rrfw $MSGID] $TREE $AUTHOR: $PATH</pre> <p></p></ul> <p>Each message will have the status of Read/Unread per each user in the system.</p> <p>On the tree chooser page in RRFW Web interface, the user will be shown the unread messages.</p> <p>RRS 2.0 feed will be provided for messages export and for integration with other messaging systems.</p> <p> </p> <hr /> <h1><a name="author">Author</a></h1> <p>Copyright (c) 2004 Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: torrus_roadmap.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW to Torrus transition roadmap</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_to_torrus_transition_roadmap">RRFW to Torrus transition roadmap</a></li> <ul> <li><a href="#introduction">Introduction</a></li> <li><a href="#releases_roadmap">Releases roadmap</a></li> <li><a href="#multiple_xml_cofiguration_directories">Multiple XML cofiguration directories</a></li> <li><a href="#separated_directories_for_templates_and_configuration">Separated directories for templates and configuration</a></li> <li><a href="#commandline_launcher">Commandline launcher</a></li> <li><a href="#new_directory_hierarchy">New directory hierarchy</a></li> <ul> <li><a href="#default_layout">Default layout</a></li> <li><a href="#fhs_compliant_layout">FHS compliant layout</a></li> </ul> <li><a href="#new_plugins_design">New plugins design</a></li> <li><a href="#authors">Authors</a></li> </ul> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_to_torrus_transition_roadmap">RRFW to Torrus transition roadmap</a></h1> <p> </p> <h2><a name="introduction">Introduction</a></h2> <p>The name ``RRFW'' appeared to be quite difficult to remember and to pronounce. There has been a call for a new name, and recently a good suggestion came from Francois Mikus:</p> <pre> --- Francois Mikus <fmikus[at]acktomic.com> wrote: > Here is my humble flash, which I think may be appropriate. Which I will > explain why below... > > The name I would suggest is; > > Torrus > > Has a mythical sounding name without the actual history. Has a resonance > with Torrent, where rrfw deals with a torrent of information. A google > search comes up with near nothing, and nothing commercial. Has a > resonance with Taurus, which is mythical, astrological and has an > underlying strength connotation. > > Anyway, this is the best I could think of. And it provides an opening to > have a semi-mythical/comic style yet serious mascot. > > You have a LOT of documentation. web pages, code, etc.. But marketing is > the way to win hearts and minds, create a following and get rabid > developpers on-board!</pre> <p>Thus the project will be renamed to Torrus, and few other structural changes will accompany the transition.</p> <p> </p> <h2><a name="releases_roadmap">Releases roadmap</a></h2> <p>Version 0.1.8 will be the last of RRFW, unless some urgencies arise.</p> <p>The first Torrus release will be 1.0.0.</p> <p> </p> <h2><a name="multiple_xml_cofiguration_directories">Multiple XML cofiguration directories</a></h2> <p>During XML compilation, the datasource configuration files will be searched in multiple directories. The list of directories and the search sequence will be configurable. This will allow not to mix the distribution XML files and the ones created locally.</p> <p> </p> <h2><a name="separated_directories_for_templates_and_configuration">Separated directories for templates and configuration</a></h2> <p>Perl configuration files and HTML templates will also be separated into different directories, so that user-editable files don't mix with the ones from distribution.</p> <p> </p> <h2><a name="commandline_launcher">Commandline launcher</a></h2> <p>A small shell script will be installed as <code>/usr/local/bin/torrus</code>, and it will pass all arguments to appropriate torrus executables. For example,</p> <pre> torrus compile --tree=main</pre> <p>will execute <code>compilexml</code> torrus utility with the argument <code>--tree=main</code>.</p> <p> </p> <h2><a name="new_directory_hierarchy">New directory hierarchy</a></h2> <p>Filesystem Hierarchy Standard <<a href="http://www.pathname.com/fhs/">http://www.pathname.com/fhs/</a>> proposes to put the software add-on packages into <code>/opt</code> directory and user services data, such as database contents or RRD files, in <code>/srv</code> directory.</p> <p>However, FreeBSD and some other systems are not FHS-compliant, and require to install all additional software into <code>/usr/local</code> hierarchy.</p> <p>We propose that Torrus distribution will support three different directory layouts, and the system administrator will decide the most suitable one:</p> <ol> <li></li> Default layout based in <code>/usr/local</code>; <p></p> <li></li> FHS compliant layout, set by running <code>./configure_fhs</code> instead of <code>./configure</code>; <p></p> <li></li> Custom layout, tunable with standard options and variables in <code>./configure</code>. <p></p></ol> <p> </p> <h3><a name="default_layout">Default layout</a></h3> <p>Although many systems like FreeBSD discourage creation of new package-specific subdirectories in /usr/local, we find it quite a common practice, and quite convenient for keeping the files together.</p> <pre> /usr/local/torrus/ Home directory for Torrus distribution files | +- conf_defaults/ torrus-config.pl and others | +- bin/ Command-line executables | +- doc/ POD and TXT documentation files | +- examples/ Miscelaneous example files | +- perllib/ Perl libraries | +- plugins/ Plugins configuration | +- scripts/ Scripts | +- sup/ Supplementary files, DTDs, MIBs, color schemas, | Web plain files | +- templates/ Renderer output templates | +- xmlconfig/ Distrubution XML files</pre> <pre> /usr/local/etc/torrus/ Site configurable files | +- conf/ Place for torrus-siteconfig.pl and other siteconfigs | +- discovery/ Devdiscover input files | +- templates/ User-defined Renderer output templates | +- xmlconfig/ User XML configuration files</pre> <pre> /usr/local/man/ Place for man pages. All articles will have the prefix C<torrus_></pre> <pre> /var/log/torrus/ Daemon logfiles</pre> <pre> /var/run/torrus/ Daemon PID files</pre> <pre> /var/torrus/cache/ Renderer cache</pre> <pre> /var/torrus/db/ Configuration databases</pre> <pre> /var/torrus/session_data/ Web interface session files</pre> <pre> /srv/torrus/collector_rrd/ Default directory for collector generated RRD files</pre> <p> </p> <h3><a name="fhs_compliant_layout">FHS compliant layout</a></h3> <pre> /opt/torrus/ Home directory for Torrus distribution files | +- conf_defaults/ torrus-config.pl and others | +- bin/ Command-line executables | +- doc/ POD and TXT documentation files | +- examples/ Miscelaneous example files | +- perllib/ Perl libraries | +- plugins/ Plugins configuration | +- scripts/ Scripts | +- sup/ Supplementary files, DTDs, MIBs, color schemas | +- templates/ Renderer output templates | +- xmlconfig/ Distrubution XML files</pre> <pre> /etc/opt/torrus/ Site configurable files | +- conf/ Place for torrus-siteconfig.pl and other siteconfigs | +- discovery/ Devdiscover input files | +- xmlconfig/ User XML configuration files</pre> <pre> /opt/torrus/share/man/ Place for man pages. All articles will have the prefix C<torrus_></pre> <pre> /var/log/torrus/ Daemon logfiles</pre> <pre> /var/run/torrus/ Daemon PID files</pre> <pre> /var/torrus/cache/ Renderer cache</pre> <pre> /var/torrus/session_data/ Web interface session files</pre> <pre> /srv/torrus/db/ Configuration databases</pre> <pre> /srv/torrus/collector_rrd/ Default directory for collector generated RRD files</pre> <p> </p> <h2><a name="new_plugins_design">New plugins design</a></h2> <p>Unlike RRFW, the plugins in Torrus will be installed independently. This will allow to easily add new plugins to an existing installation.</p> <p>The Torrus installer stores all important variable settings in a special file, <em>conf_defaults/instvars</em>. Then the plugin installer is able to access the settings without accessing the Torrus distribution directory.</p> <p>There is a helper utility, <code>install_plugin</code>, which applies all <em>configure</em> variables to the plugin configuration utility. It follows then the standard installation way:</p> <pre> ./configure && make && make install</pre> <p>Thus the OS-dependent package installators may follow the standard configuration procedure, while those who manually install the software, will use the helper.</p> <p>There are two special directories: <em>/usr/local/torrus/plugins/torrus-config</em> and <em>/usr/local/torrus/plugins/devdiscover-config</em>. Plugins are allowed to add Perl files there. They will be automatically <em>require</em>'d by <em>torrus-config.pl</em> and <em>devdiscover-config.pl</em>.</p> <p> </p> <h2><a name="authors">Authors</a></h2> <p>Copyright (c) 2004 Stanislav Sinyagin</p> </body> </html> --- NEW FILE: reqs.0.1.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW Requirements Version 0.1</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_requirements_version_0_1">RRFW Requirements Version 0.1</a></li> <li><a href="#independent_datasource_trees">Independent datasource trees</a></li> <ul> <li><a href="#changes_in_rrfwsiteconfig_pl">Changes in rrfw-siteconfig.pl</a></li> <li><a href="#configtree_object_internals">ConfigTree object internals</a></li> <li><a href="#database_structure">Database structure</a></li> <li><a href="#user_interface">User interface</a></li> <li><a href="#daemons_launch_master">Daemons launch master</a></li> </ul> <li><a href="#separate_database_for_nondatasource_objects">Separate database for non-datasource objects</a></li> <li><a href="#user_privileges">User privileges</a></li> <li><a href="#author">Author</a></li> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_requirements_version_0_1">RRFW Requirements Version 0.1</a></h1> <p>Date: Jun 29 2003; Last revised: Aug 05 2003</p> <p>In this article, I describe the important changes that are planned for RRFW version 0.1.X.</p> <p> </p> <hr /> <h1><a name="independent_datasource_trees">Independent datasource trees</a></h1> <p>As noted by many users, RRFW lacks the scalability when the number of network devices is more than 100. The XML compiler takes minutes to process the configuration, and the Collector process initialization time is too long.</p> <p>Christian Schnidrig <<a href="mailto:chr...@gm...">chr...@gm...</a>> has proposed a solution to split the database into several subsystems, each being compiled separately, and with separate collector process. In his concept, there is a ``global'' datasource tree, and ``subsystem'' trees, each making a subset of global datasource nodes.</p> <p>I propose to have a number of independent datasource trees, without any superset. This would ease the administrator's work, and add more security.</p> <p> </p> <h2><a name="changes_in_rrfwsiteconfig_pl">Changes in rrfw-siteconfig.pl</a></h2> <p>Instead of <code>@RRFW::Global::xmlFiles</code>, the following hash will contain the information about the trees:</p> <pre> %RRFW::Global::treeConfig = ( 'tree_A' => { 'description' => 'The First Tree', 'xmlfiles' => ['a1.xml', 'a2.xml', 'a3.xml'], 'run' => { 'collector' => 1, 'monitor' => 1 } }, 'tree_B' => { 'description' => 'The Second Tree', 'xmlfiles' => ['b1.xml', 'b2.xml'], 'run' => {} } );</pre> <p>In this hash, the keys give the tree names, <em>xmlfiles</em> points to an array of source XML files, <em>run</em> points to the names of the daemons that would be automatically launched for the tree.</p> <p>Two additional arrays: <code>@RRFW::Global::xmlAlwaysIncludeFirst</code> and <code>@RRFW::Global::xmlAlwaysIncludeLast</code> will give a list of source XML files that are included in every tree, in the beginning or in the end of the XML files list.</p> <p> </p> <h2><a name="configtree_object_internals">ConfigTree object internals</a></h2> <p>There will be no such thing as globalInstance. All methods and procedures that need to reference the current ConfigTree object will have it as argument.</p> <p><code>RRFW::ConfigTree::new()</code> will have a mandatory argument ``TreeName''.</p> <p> </p> <h2><a name="database_structure">Database structure</a></h2> <p>All datasource trees will share one BerkeleyDB environment. The BDB environment home directory will stay the same, defined by <em>dbhome</em> config variable.</p> <p>For each tree, the database files will be placed in a separate subdirectory of a subdirectory of <em>dbhome</em>.</p> <p> </p> <h2><a name="user_interface">User interface</a></h2> <p>All relevant command-line executables will support the following options:</p> <ul> <li><strong><a name="item__2d_2dtree__3ctree_name_3e">--tree <tree_name></a></strong><br /> </li> Specifies the datasource tree for processing; <p></p> <li><strong><a name="item__2d_2dall">--all</a></strong><br /> </li> If applicable, performs the operation on all available trees. <p></p></ul> <p>When in verbose mode (<strong>--verbose</strong>), the command-line programs must print the tree names they operate with.</p> <p>The web interface will take the PATH_INFO string as the tree name. For mod_perl handler, it will be also possible to prohibit PATH_INFO selection, and to configure the tree name in Apache configuration.</p> <p>When no PATH_INFO is given to the web interface handler, a special superlevel menu may be shown with the list of available trees.</p> <p>It will also be possible to specify tree-specific renderer attributes, like <code>%RRFW::Renderer::styling</code>, <code>$RRFW::Renderer::companyName</code>, etc.</p> <p><strong>Plain CGI interface will not be supported</strong> As Renderer gets more complex, CGI initialization time will increase. Also it will become harder to support two user interfaces with similar functionality.</p> <p> </p> <h2><a name="daemons_launch_master">Daemons launch master</a></h2> <p>There will be a master process that will launch collector and monitor daemons for each tree. It will be configurable from a separate file, specifying the daemons and execution parameters for each tree.</p> <p>The master process will watch the child processes and issue warnings in the events of child process termination.</p> <p>Stopping the master process will stop all child daemons gracefully.</p> <p> </p> <hr /> <h1><a name="separate_database_for_nondatasource_objects">Separate database for non-datasource objects</a></h1> <p>In RRFW version 0.0.X, all the parameters for datasources, views, monitors, and tokensets are stored in <em>configuration.db</em> database.</p> <p>As proposed by Christian Schnidrig, storing all non-datasource objects information in a separate database would improve the scalability.</p> <p>In RRFW version 0.1.X, datasource parameters will be stored in <em>ds_config.db</em>, and all other object's parameters in <em>other_config.db</em>.</p> <p>The XML compiler will have a new option, <strong>--nods</strong>, which disables processing of <datasources> elements in the input XML files.</p> <p>In addition to <code>ConfigurationReady</code> flag, there will be a flag that indicates the readiness of datasource tree only.</p> <p>All these measures will allow faster administration and testing of non-datasource objects, and will prevent the collector from unneeded interruptions.</p> <p> </p> <hr /> <h1><a name="user_privileges">User privileges</a></h1> <p>User privileges will apply to the tree level: across one datasource tree a given user will have uniform privileges.</p> <p>Each user belongs to one or more groups. Privileges are assigned to groups only, not to individual users. Groups are one-level deep: they consist of users only. Probably in the future groups will consist of groups too.</p> <p>In the beginning, only one privilege will be implemented: <em>DisplayTree</em>. The design should be flexible enough to add more privileges in the future. Examples: <em>GenerateReport</em>, <em>Debug</em>, <em>ScheduleTask</em>, and so on.</p> <p>Privileges maintenance interface will include a command-line utility. In the future, a web interface is also possible. In this case, a new privilege will be added: <em>EditPrivileges</em>.</p> <p>Privileges editor will include the following functions:</p> <ul> <li><strong><a name="item_add_2fdelete_group">add/delete group</a></strong><br /> </li> <li><strong><a name="item_add_2fdelete_user">add/delete user</a></strong><br /> </li> <li><strong><a name="item_change_user_password">change user password</a></strong><br /> </li> <li><strong><a name="item_add_2fdelete_user_membership_in_a_group">add/delete user membership in a group</a></strong><br /> </li> <li><strong><a name="item_edit_privileges_for_groups_and_trees">edit privileges for groups and trees</a></strong><br /> </li> <li><strong><a name="item_list_group_members">list group members</a></strong><br /> </li> <li><strong><a name="item_list_groups_a_user_belongs_to">list groups a user belongs to</a></strong><br /> </li> <li><strong><a name="item_list_privileges_for_a_given_group_or_user">list privileges for a given group or user</a></strong><br /> </li> <li><strong><a name="item_groups">list privileges and groups (or users) for a given tree</a></strong><br /> </li> <li><strong><a name="item_export_2fimport_the_privileges_database_to_2ffrom_">export/import the privileges database to/from XML</a></strong><br /> </li> </ul> <p>Privileges logics implementation must be separate from the database backend. At first, BerkeleyDB backend will be supported. In the future, LDAP backend is possible.</p> <p> </p> <hr /> <h1><a name="author">Author</a></h1> <p>Copyright (c) 2003 Stanislav Sinyagin <a href="mailto:ssi...@ya...">ssi...@ya...</a></p> </body> </html> --- NEW FILE: wd.monitor-escalation.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW Working Draft: Monitor escalation levels</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_working_draft__monitor_escalation_levels">RRFW Working Draft: Monitor escalation levels</a></li> <ul> <li><a href="#introduction">Introduction</a></li> <li><a href="#monitor_events">Monitor events</a></li> <li><a href="#monitor_parameters">Monitor parameters</a></li> <li><a href="#action_parameters">Action parameters</a></li> <li><a href="#implementation">Implementation</a></li> </ul> <li><a href="#author">Author</a></li> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_working_draft__monitor_escalation_levels">RRFW Working Draft: Monitor escalation levels</a></h1> <p>Status: pending implementation. Date: Nov 5 2003. Last revised: Nov 10 2003</p> <p> </p> <h2><a name="introduction">Introduction</a></h2> <p>The initial idea comes from Francois Mikus in Cricket development team. His proposal was to raise the alarm only after several true consecutive monitor conditions.</p> <p>The idea has developed into the concept of escalation levels.</p> <p> </p> <h2><a name="monitor_events">Monitor events</a></h2> <p>Current implementation supports four types of monitor events: <code>set</code>, <code>repeat</code>, <code>clear</code>, and <code>forget</code>. New event type will be <code>escalate(X)</code>. <code>X</code> designates a symbolic name for a certain escalation level. Each level is associated with the escalation time interval.</p> <p>Given <code>Te</code> as the escalation interval, <code>Ta</code> as the monitor condition age, and <code>P</code> as period, the escalation event will occur simultaneously with one of <code>repeat</code> events, when the following condition is true:</p> <pre> Te >= Ta</pre> <p>New event types <code>clear(X)</code> and <code>forget(X)</code> will occur at the same time as <code>clear</code> and <code>forget</code> respectively, for each escalated level.</p> <p> </p> <h2><a name="monitor_parameters">Monitor parameters</a></h2> <p>New parameter will be introduced: <code>escalation</code>. Value will be a comma-separated list of <code>name=interval</code> parts, where <code>name</code> designates the escalation level, and <code>interval</code> specifies the escalation interval in seconds.</p> <p>Example:</p> <pre> <monitor name="rate-limits"> <param name="escalation value="Medium=1800, High=7200, Critical=14400" /> ... </monitor></pre> <p>Another example would be Cisco TAC style priorities: P3, P2, P1.</p> <p> </p> <h2><a name="action_parameters">Action parameters</a></h2> <p><code>launch-when</code> parameter will be valid not for <code>exec</code> actions only, but also for <code>tset</code> actions. New valid values will be <code>escalate(X)</code>, <code>clear(X)</code>, and <code>forget(X)</code>.</p> <p>XML configuration validator will not verify if escalation levels in action definition match those in datasource configuration.</p> <p>New optional action parameter: <code>allowed-time</code>. Contains an RPN expression which must be true at the time when the action is allowed to execute. Two new RPN functions may be used here: <code>TOD</code> and <code>DOW</code>.</p> <p><code>TOD</code> returns the current time of day as integer: <code>HH*100+MM</code>. For example, 830 means 8:30 AM, and 1945 means 7:45 PM.</p> <p><code>DOW</code> returns the current day of the week as integer between and including 0 and 6, with 0 corresponding to Sunday, 1 to Monday, and 6 to Saturday.</p> <p>In this example, the action is allowed between 8 AM and 6 PM from Monday to Friday:</p> <pre> <param name="allowed-time"> TOD,800,GE, TOD,1800,LE, AND, DOW,1,GE, AND, DOW,5,LE, AND </param></pre> <p> </p> <h2><a name="implementation">Implementation</a></h2> <p><strong>monitor_alarms.db</strong> database format will change: The values will consist of five colon-separated fields. The first four fields will be as earilier, and the fifth one will be a comma-separated list of escalation level names that have already fired.</p> <p>The implementation of this feature is preferred after the planned redesign of the monitor daemon. The new monitor design would support individual schedule for each datasource leaf, analogous to collector schedules.</p> <p>In turn, the monitor daemon redesign is better to do after the collector daemon redesign. Then it would allow to keep similar design and architecture where possible.</p> <p> </p> <hr /> <h1><a name="author">Author</a></h1> <p>Copyright (c) 2003 Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: wd.uptime-mon.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW Working Draft: Service uptime monitoring and reporting</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_working_draft__service_uptime_monitoring_and_reporting">RRFW Working Draft: Service uptime monitoring and reporting</a></li> <ul> <li><a href="#definitions">Definitions</a></li> <li><a href="#event_datasource_type">Event datasource type</a></li> <li><a href="#event_summary_reports">Event summary reports</a></li> <li><a href="#events_generation">Events generation</a></li> </ul> <li><a href="#author">Author</a></li> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_working_draft__service_uptime_monitoring_and_reporting">RRFW Working Draft: Service uptime monitoring and reporting</a></h1> <p>Status: in pre-design phase. Date: Sep 26 2003; Last revised:</p> <p> </p> <h2><a name="definitions">Definitions</a></h2> <p>It is often required to monitor the service level in networks. Service level is normally covered by Service Level Agreement (SLA), which defines the following parameters:</p> <ul> <li><strong><a name="item_service_definition">Service definition</a></strong><br /> </li> Describes the particular service in terms of functionality and means of monitoring. Examples are: IP VPN connectivity, WAN uplink, SQL database engine. <p></p> <li><strong><a name="item_maintenance_window">Maintenance window</a></strong><br /> </li> Describes the periodic time intervals when service outage is possible due to some maintenance work. It may be unconditional (outage is always possible within the window), or conditional (customer confirmation required for outage within the window). Notification period is normally defined for maintenance outages. Example: every 1st Tuesday of the month between 6AM and 8 AM, with 96 hours notification time. <p></p> <li><strong><a name="item_outage_types">Outage types</a></strong><br /> </li> Outages may be caused by: 1). system failure; 2). service provider's infrastructure failure; 3). customer activity. <p></p> <li><strong><a name="item_service_level_objectives">Service level objectives</a></strong><br /> </li> These are the guarantees that the sevice provider gives to the customer. Violation of these guarantees is compensated by penalties defined. <p>These may include: Maxium maintenance downtime per specified period; Maximum downtime period due to failures on the service provider side; Minimum service availability per specified period.</p> <p></p></ul> <p> </p> <h2><a name="event_datasource_type">Event datasource type</a></h2> <p>In order to store the service level information, we need a new datasource type in RRFW: <em>event</em>. It represents an atomic information about a single event in time, e.g. it canot be devided into more specific elements or sub-events. Its attributes are as follows:</p> <ul> <li><strong><a name="item_event_group_name">Event group name</a></strong><br /> </li> Several events belong to one and only one group. Event group is a unique entity that describes the service. <p></p> <li><strong><a name="item_event_name">Event name</a></strong><br /> </li> Unique name within the event group. Describes the type of the event, such as <code>maintenance</code>, <code>downtime</code>. Events with the same names cannot overlap in time. <p></p> <li><strong><a name="item_start_time">Start time</a></strong><br /> </li> Timestamp of the event start. <p></p> <li><strong><a name="item_duration">Duration</a></strong><br /> </li> Positive integer that specifies the length of the event in seconds. Zero duration means that the event has not yet finished. <p></p> <li><strong><a name="item_parameters">Parameters</a></strong><br /> </li> Event-specific <em>(name, value)</em> pairs. <p></p></ul> <p>Events are uniquely identified by <em>(Event group, Event name, Start time)</em> triple.</p> <p> </p> <h2><a name="event_summary_reports">Event summary reports</a></h2> <p>Renderer should be able to display the events at different summary levels and in different combinations. Event reports should be specified by expressions, as follows:</p> <ul> <li><strong><a name="item_boolean_operators">Boolean operators</a></strong><br /> </li> <code>downtime AND NOT maintenance</code>. <p></p> <li><strong><a name="item_time_period">Time period</a></strong><br /> </li> <code>(downtime AND NOT maintenance)[-2DAYS,NOW]</code> <p><code>(downtime[-2DAYS,NOW] AND NOT maintenance AND NOT downtime[200309151200,200309151300])</code></p> <p></p> <li><strong><a name="item_arithmetic_operations">Arithmetic operations</a></strong><br /> </li> Sum of durations, substract of durations... <p></p></ul> <p> </p> <h2><a name="events_generation">Events generation</a></h2> <p>Events may be generated by the following sources:</p> <ul> <li><strong><a name="item_collector">Collector</a></strong><br /> </li> SNMP collector may create events on some faulty conditions, like host unreacheable, or on SNMP variables change, like interface status. Also it's possible to create an ICMP Echo collector type, which would generate events based on pinging the hosts. <p></p> <li><strong><a name="item_monitor">Monitor</a></strong><br /> </li> Obviously, a new monitor action will be to create events. <p></p> <li><strong><a name="item_human_operator">Human operator</a></strong><br /> </li> First from commandline interface, and later from thr Web interface, the human operators may create the scheduled events, like maintenance outages. Security policy should protect certain types of events from human intervention. <p></p></ul> <p> </p> <hr /> <h1><a name="author">Author</a></h1> <p>Copyright (c) 2003 Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: progstyle.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW Programming Style Guide</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_programming_style_guide">RRFW Programming Style Guide</a></li> <ul> <li><a href="#perl_indentation_style">Perl indentation style</a></li> <li><a href="#common_file_properties">Common file properties</a></li> <li><a href="#gnu_emacs_settings">GNU Emacs settings</a></li> <li><a href="#xemacs_settings">X-Emacs settings</a></li> <li><a href="#normalizing_multiple_files">Normalizing multiple files</a></li> </ul> <li><a href="#author">Author</a></li> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_programming_style_guide">RRFW Programming Style Guide</a></h1> <p> </p> <h2><a name="perl_indentation_style">Perl indentation style</a></h2> <p>The indentation style is a kind of BSD/Allman style:</p> <pre> while( not $success and time() < $waitingTimeout ) { $self->clearReader();</pre> <pre> Info('Sleeping ' . $RRFW::Global::ConfigReadyRetryPeriod . ' seconds'); sleep $RRFW::Global::ConfigReadyRetryPeriod;</pre> <pre> $self->setReader();</pre> <pre> if( $self->isReady() ) { $success = 1; Info('Now configuration is ready'); } else { Info('Configuration is still not ready'); } }</pre> <p>Indentation is 4 characters. Opening and closing braces are aligned. There's no space between the keyword (<code>while</code>, <code>if</code>, etc.) and the opening parenthesis.</p> <p>Tab characters are prohibited.</p> <p>Page width is strictly 80 characters. All longer lines must be wrapped.</p> <p>When possible, leave space between parentheses and the inside content. This is not necessary for debug or print statements.</p> <p>There's always space around the equal sign (<code>=</code>).</p> <p>The object method calls always have parentheses, even if no arguments are reqiured.</p> <p>Use keywords for logical operations instead of C operators: <code>and</code>, <code>or</code>, <code>not</code>.</p> <p>Use single quotes in hash references: <code>$a->{'abc'}</code>.</p> <p> </p> <h2><a name="common_file_properties">Common file properties</a></h2> <p>With the exception of special-purpose files, each source file must ontain the GNU copying statement, CVS <code>Id</code> tag, and author's name and e-mail address.</p> <p>C, Perl, and Bourne shell files must contain Gnu Emacs variables at the end of the file:</p> <pre> # Local Variables: # mode: perl # indent-tabs-mode: nil # perl-indent-level: 4 # End:</pre> <p>Each file must always end with the linebreak. Otherwise it might conflict with CVS. All files must have Unix linebreak format.</p> <p> </p> <h2><a name="gnu_emacs_settings">GNU Emacs settings</a></h2> <p>Standard <code>perl-mode.el</code> does the thing:</p> <pre> ;; Set up Perl mode (autoload 'perl-mode "perl-mode") (setq auto-mode-alist (append (list (cons "\\.pl$" 'perl-mode) (cons "\\.pm$" 'perl-mode) (cons "\\.pl\\.cgi$" 'perl-mode)) auto-mode-alist))</pre> <pre> (custom-set-variables ;; custom-set-variables was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. '(indent-tabs-mode nil) '(tab-width 8) )</pre> <p> </p> <h2><a name="xemacs_settings">X-Emacs settings</a></h2> <p>In X-Emacs, the default handler for Perl files is <code>cperl-mode.el</code>. The following custom variables must be set in order to comply to our styling standards:</p> <pre> (custom-set-variables ;; custom-set-variables was added by Custom -- don't edit or cut/paste it! ;; Your init file should contain only one such instance. '(cperl-brace-offset -4) '(cperl-continued-statement-offset 4) '(cperl-indent-level 4) '(indent-tabs-mode nil) '(tab-width 8) )</pre> <p> </p> <h2><a name="normalizing_multiple_files">Normalizing multiple files</a></h2> <p>In RRFW CVS repository, in the root of module <code>src</code>, there is a small utility that fixes some styling issues for all the sources in current directory and subdirectories:</p> <pre> perl normalize-all-sources.pl</pre> <p>It replaces tabs with spaces, deletes space at the end of line, and removes empty lines at the start and the end of file.</p> <p> </p> <hr /> <h1><a name="author">Author</a></h1> <p>Copyright (c) 2003 Stanislav Sinyagin <<a href="mailto:ssi...@ya...">ssi...@ya...</a>></p> </body> </html> --- NEW FILE: devdiscover.pod.html --- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>RRFW SNMP Device Discovery Developer's Guide</title> <link rel="stylesheet" href="../torrusdoc.css" type="text/css" /> <link rev="made" href="mailto:gp...@fa..." /> </head> <body> <p><a name="__index__"></a></p> <!-- INDEX BEGIN --> <ul> <li><a href="#rrfw_snmp_device_discovery_developer_s_guide">RRFW SNMP Device Discovery Developer's Guide</a></li> <ul> <li><a href="#devdiscover_overview"><code>devdiscover</code> overview</a></li> <li><a href="#discovery_module_internals">Discovery Module Internals</a></li> <ul> <li><a href="#module_registration">Module Registration</a></li> <li><a href="#oid_definitions">OID Definitions</a></li> <li><a href="#template_references">Template References</a></li> <li><a href="#interface_filtering">Interface filtering</a></li> </ul> <li><a href="#authors">Authors</a></li> </ul> </ul> <!-- INDEX END --> <hr /> <p> </p> <h1><a name="rrfw_snmp_device_discovery_developer_s_guide">RRFW SNMP Device Discovery Developer's Guide</a></h1> <p> </p> <h2><a name="devdiscover_overview"><code>devdiscover</code> overview</a></h2> <p><code>devdiscover</code> is an extensible, module based, SNMP device discovery utility. It is intended to automatically generate RRFW configuration files, based on SNMP discovery results and templates.</p> <p>See <em>RRFW Command Reference</em> for command usage and functionality overview.</p> <p>In general, <code>devdiscover</code> consists of the following files and functional parts:</p> <ul> <li><strong><a name="item_bin_2fdevdiscover_2ein"><code>bin/devdiscover.in</code></a></strong><br /> </li> This file is installed as <code>bin/devdiscover</code> in RRFW installation directory, with certain variables substituted. The program provides all the commandline functionality and options processing. Once the CLI options are processed and verified, the control is passed to an <a href="#item_rrfw_3a_3adevdiscover"><code>RRFW::DevDiscover</code></a> object. <p></p> <li><strong><a name="item_rrfw_3a_3adevdiscover"><code>RRFW::DevDiscover</code></a></strong><br /> </li> This Perl module is responsible for the SNMP discovery process organization: <ul> <li></li> registers the discovery modules; <p></p> <li></li> establishes an SNMP session to the target host; <p></p> <li></li> initiates a new <a href="#item_rrfw_3a_3adevdiscover_3a_3adevdetails"><code>RRFW::DevDiscover::DevDetails</code></a> object for the target host; <p></p> <li></li> stores the connection-specific parameters to the device object; <p></p> <li></li> for each registered discovery module, executes <a href="#item_checkdevtype"><code>checkdevtype()</code></a> in <em>sequential</em> order; <p></p> <li></li> for those discovery modules which paid interest in this target host, executes <a href="#item_discover"><code>discover()</code></a> in <em>sequential</em> order; <p></p> <li></li> upon request from <code>bin/devdiscover</code>, builds the configuration XML tree, by calling <a href="#item_buildconfig"><code>buildConfig()</code></a> in <em>sequential</em> order for each relevant discovery module for each target host. <p></p></ul> <li><strong><a name="item_rrfw_3a_3adevdiscover_3a_3adevdetails"><code>RRFW::DevDiscover::DevDetails</code></a></strong><br /> </li> This Perl module is defined in <em>lib/RRFW/DevDiscover.pm</em>, and provides the functionality to store the results of SNMP device discovery. <p></p> <li><strong><a name="item_rrfw_3a_3aconfigbuilder"><code>RRFW::ConfigBuilder</code></a></strong><br /> </li> This module is an encapsulation wrapper for XML configuration builder. It provides methods for every element of RRFW configuration. <p></p> <li><strong><a name="item_discovery_modules">Discovery Modules</a></strong><br /> </li> These provide all the functionality for SNMP discovery. Normally one module covers one MIB, or sometimes several vendor-specific MIBs, and it is responsible for finding out the device details necessary for RRFW configuration building. Usually a discovery module refers to one or several <em>template definition files</em>. A module may depend on other modules' discovery results. This is controlled by its <code>sequence number</code>. Vendor-independent discovery modules are normally named as <code>RRFW::DevDiscover::RFCXXXX_SOME_HUMAN_NAME</code>, and vendor-specific ones are named as <code>RRFW::DevDiscover::VendorProduct[Subsystem]</code>. <p></p> <li><strong><a name="item_template_definition_files">Template definition files</a></strong><br /> </li> These are XML documents residing in <em>xmlconfig/vendor</em> and <em>xmlconfig/generic</em> directories. Each file is a piece of RRFW configuration, and contains definitions and templates for particular MIB or vendor. Generic template definition files are for vendor-independent MIBs, and normally they are named as <em>rfcXXXX.some-human-name.xml</em>. Vendor-specific files are named as <em>vendor.product[.subsystem].xml</em>. <p></p></ul> <p> </p> <h2><a name="discovery_module_internals">Discovery Module Internals</a></h2> <p>Discovery modules are Perl packages with few required components. Before creating your own modules, please read and follow <em>RRFW Programming Style Guide</em>.</p> <p>Upon initialization, <a href="#item_rrfw_3a_3adev... [truncated message content] |
|
From: Stanislav S. <ssi...@us...> - 2004-12-13 22:49:14
|
Update of /cvsroot/torrus/htdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18121 Modified Files: rrfw_torrus_migration.pod.html Log Message: doc updated Index: rrfw_torrus_migration.pod.html =================================================================== RCS file: /cvsroot/torrus/htdocs/rrfw_torrus_migration.pod.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- rrfw_torrus_migration.pod.html 12 Dec 2004 13:01:10 -0000 1.1 +++ rrfw_torrus_migration.pod.html 13 Dec 2004 22:49:04 -0000 1.2 @@ -18,8 +18,9 @@ <li><a href="#introduction">Introduction</a></li> <li><a href="#software_installation">Software installation</a></li> - <li><a href="#perl_configuration_files">Perl configuration files</a></li> + <li><a href="#the_perl_configuration_files">The Perl configuration files</a></li> <li><a href="#xml_configuration_files">XML configuration files</a></li> + <li><a href="#monitor_actions">Monitor actions</a></li> <li><a href="#snmp_discovery_files">SNMP discovery files</a></li> <li><a href="#web_interface_acls">Web interface ACLs</a></li> <li><a href="#sitespecific_text_templates">Site-specific text templates</a></li> @@ -27,6 +28,7 @@ <li><a href="#stop_rrfw_collector_and_monitor_processes">Stop RRFW collector and monitor processes</a></li> <li><a href="#change_the_rrd_files_ownership">Change the RRD files ownership</a></li> <li><a href="#test_and_run_processes">Test and run processes</a></li> + <li><a href="#update_documentation">Update documentation</a></li> </ul> <li><a href="#author">Author</a></li> @@ -41,9 +43,9 @@ </p> <h2><a name="introduction">Introduction</a></h2> <p>Torrus is the new marketing name for RRFW (Round-robin Database Framework), -a robust and flexible software data series processing. The last release -of RRFW is 0.1.8. The upcoming release 1.0.0 of Torrus will introduce -some significant changes and design improvements.</p> +a robust and flexible software package for data series processing. +The last release of RRFW is 0.1.8. The upcoming release 1.0.0 of Torrus +will introduce some significant changes and design improvements.</p> <p>The directory structure of Torrus is more standards-compliant, and more convenient for system adminisrators. The user files are strictly separated from the distribution files. The XML configurations and HTML templates @@ -79,7 +81,7 @@ torrus install_plugin <UNPACKED_PLUGIN_DIR></pre> <p> </p> -<h2><a name="perl_configuration_files">Perl configuration files</a></h2> +<h2><a name="the_perl_configuration_files">The Perl configuration files</a></h2> <p>Te distribution contains a short Shell script called <code>TORRUS_DISTR/setup_tools/replace_rrfw.sh</code>. This script takes one file name as an argument, replaces all occurrences of <em>RRFW</em> to <em>Torrus</em> and <em>rrfw</em> @@ -111,6 +113,15 @@ torrus compilexml --all --verbose</pre> <p> </p> +<h2><a name="monitor_actions">Monitor actions</a></h2> +<p>If you utilize the monitor daemon, you will most probably need +to change the action statements.</p> +<p>In the action of type <code>exec</code>, the <code>command</code> parameter should be edited. +RRFW was usually referencing the email notification command as +<em>$RRFW_HOME/bin/action_printemail</em>. In Torrus, this command should be +referred as <em>$TORRUS_BIN/action_printemail</em>.</p> +<p> +</p> <h2><a name="snmp_discovery_files">SNMP discovery files</a></h2> <pre> cd /usr/local/etc/torrus/ @@ -170,6 +181,12 @@ ln -s S90torrus ../init.d/torrus cd /etc/rc0.d ln -s K90torrus ../init.d/torrus</pre> +<p>Run the startup script and verify that RRD files get updated.</p> +<p> +</p> +<h2><a name="update_documentation">Update documentation</a></h2> +<p>Update your site operational manuals to reflect the new software name, +paths and URLs.</p> <p> </p> <hr /> |
|
From: Stanislav S. <ssi...@us...> - 2004-12-13 22:48:53
|
Update of /cvsroot/torrus/src/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18025/doc Modified Files: rrfw_torrus_migration.pod Log Message: doc updated Index: rrfw_torrus_migration.pod =================================================================== RCS file: /cvsroot/torrus/src/doc/rrfw_torrus_migration.pod,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- rrfw_torrus_migration.pod 13 Dec 2004 08:55:30 -0000 1.6 +++ rrfw_torrus_migration.pod 13 Dec 2004 22:48:44 -0000 1.7 @@ -27,9 +27,9 @@ =head2 Introduction Torrus is the new marketing name for RRFW (Round-robin Database Framework), -a robust and flexible software data series processing. The last release -of RRFW is 0.1.8. The upcoming release 1.0.0 of Torrus will introduce -some significant changes and design improvements. +a robust and flexible software package for data series processing. +The last release of RRFW is 0.1.8. The upcoming release 1.0.0 of Torrus +will introduce some significant changes and design improvements. The directory structure of Torrus is more standards-compliant, and more convenient for system adminisrators. The user files are strictly separated @@ -74,7 +74,7 @@ -=head2 Perl configuration files +=head2 The Perl configuration files Te distribution contains a short Shell script called C<TORRUS_DISTR/setup_tools/replace_rrfw.sh>. This script takes one file name @@ -116,7 +116,7 @@ =head2 Monitor actions -In case if you utilize the monitor daemon, you will most probably need +If you utilize the monitor daemon, you will most probably need to change the action statements. In the action of type C<exec>, the C<command> parameter should be edited. |
|
From: Stanislav S. <ssi...@us...> - 2004-12-13 19:04:22
|
Update of /cvsroot/torrus/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27971 Modified Files: TODO Log Message: task added Index: TODO =================================================================== RCS file: /cvsroot/torrus/src/TODO,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- TODO 12 Dec 2004 01:41:08 -0000 1.8 +++ TODO 13 Dec 2004 19:04:05 -0000 1.9 @@ -13,6 +13,7 @@ -- Minus sign in tree name (ApacheHadler.pm line 75) -- Optionally show Admin info when authentication disabled +-- RRD Renderer to take CF from the view definition -- Startup script that verifies database consistency at server boot -- Collector that reports the BerkeleyDB stats -- Sysedge ntregperf discovery optimization (Shawn) |
|
From: Christian S. <sch...@us...> - 2004-12-13 16:14:06
|
Update of /cvsroot/torrus/plugins/overview/templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16338/templates Modified Files: item-rrd.html ov-chooser.html ov-dir.html ov-html-incblocks.txt ov-tset.html tab-rrd.html Log Message: fixed new torrus makefiles and adapted to new release Index: ov-tset.html =================================================================== RCS file: /cvsroot/torrus/plugins/overview/templates/ov-tset.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ov-tset.html 8 Dec 2004 14:39:47 -0000 1.1 +++ ov-tset.html 13 Dec 2004 16:13:55 -0000 1.2 @@ -10,17 +10,21 @@ [% SET pos = 1; SET global.hwpredict = 0 %] [% FOREACH node = sortTokens(tsetMembers(token)) %] - [% comment = nodeParam(parent(node),'comment',1) %] <DIV> [% IF pos == 1 %] <DIV CLASS="ShortLeft"> [% ELSE %] <DIV CLASS="ShortRight"> [% END %] - [% INCLUDE tsgraph + [% nodename=nodeParam(node,'descriptive-nickname'); + IF nodename==''; + nodename=path(node); + END; + INCLUDE tsgraph token=node - nodename=path(node) - comment=nodeParam(parent(node),'comment',1) %] + nodename=nodename + comment=nodeParam(parent(node),'comment',1) + %] </DIV> </DIV> [% IF pos == 1 %] Index: ov-chooser.html =================================================================== RCS file: /cvsroot/torrus/plugins/overview/templates/ov-chooser.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ov-chooser.html 8 Dec 2004 14:39:46 -0000 1.1 +++ ov-chooser.html 13 Dec 2004 16:13:55 -0000 1.2 @@ -1,7 +1,8 @@ [% PROCESS 'ov/ov-html-incblocks.txt' %] [% INCLUDE htmlstart title="Torrus Top: " _ companyName - contentClass="SingleColumnContent" %] + contentClass="SingleColumnContent" + noTopMenu=1 %] <P>Choose the datasource tree</P> Index: tab-rrd.html =================================================================== RCS file: /cvsroot/torrus/plugins/overview/templates/tab-rrd.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tab-rrd.html 8 Dec 2004 14:39:47 -0000 1.1 +++ tab-rrd.html 13 Dec 2004 16:13:55 -0000 1.2 @@ -68,7 +68,7 @@ termvars = []; IF nodeParam(token, 'rrd-hwpredict') == 'enabled' and param(view, 'rrd-hwpredict') != 'disabled'; - IF not variables.NOHW; + IF not variables.NOHW; hwaction = 'Disable'; hwvars = ['NOHW', 1]; termvars = ['NOHW', '']; @@ -81,8 +81,13 @@ text=hwaction _ " Holt-Winters" title="Switch Holt-Winters prediction boundaries"; END; + + INCLUDE shortcut url=plainURL _ 'explain-rrdgraph.html' + text='Explain graph' + title='Describe graph elements and values' + newwindow=1; %] -</DIV> +</DIV> [% INCLUDE bottomline %] [% INCLUDE htmlend %] Index: ov-dir.html =================================================================== RCS file: /cvsroot/torrus/plugins/overview/templates/ov-dir.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ov-dir.html 8 Dec 2004 14:39:46 -0000 1.1 +++ ov-dir.html 13 Dec 2004 16:13:55 -0000 1.2 @@ -8,12 +8,12 @@ <P>Directories you can jump to:</P> <DIV CLASS="Listing"> -[% hasLeaves = 0; +[% hasLeaves = 0; + childCounter = 0; hasSubNodes = 0; evenRow = 0; FOREACH child = sortTokens(children(token)); hidden = 0; - counter = counter + 1; IF nodeParam(child,'hidden') == 'yes'; hidden = 1; END; @@ -29,12 +29,9 @@ urlTitle = ''; END; END; - IF counter % 2 == 0; - evenRow = 1; - ELSE; - evenRow = 0; - END; - IF not hidden or variables.SHOWHIDDEN + IF not hidden or variables.SHOWHIDDEN; + childCounter = childCounter + 1; + evenRow = childCounter % 2 == 0; %] <DIV CLASS="[% evenRow ? 'ListRowEven' : 'ListRow' %]"> <SPAN CLASS="NodeName"> @@ -61,13 +58,13 @@ [% INCLUDE shortcut url=url(token, 'expanded-dir-html') text="Expand leaves" title="Show all leaf graphs in one page" %] -</DIV> +</DIV> [% END %] [% IF hasSubNodes %] <DIV CLASS="BottomShortcuts"> [% INCLUDE shortcut url=url(token, 'sub-nodes-dir-html') - text="Expand leaves & sub-nodes" - title="Show all leaf & sub-nodes graphs in one page" %] + text="Expand leaves and leaves of sub-nodes" + title="Show all graphs of leaves & of leaves of sub-nodes in one page" %] </DIV> [% END %] Index: item-rrd.html =================================================================== RCS file: /cvsroot/torrus/plugins/overview/templates/item-rrd.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- item-rrd.html 8 Dec 2004 14:39:46 -0000 1.1 +++ item-rrd.html 13 Dec 2004 16:13:55 -0000 1.2 @@ -54,7 +54,7 @@ termvars = []; IF nodeParam(token, 'rrd-hwpredict') == 'enabled' and param(view, 'rrd-hwpredict') != 'disabled'; - IF not variables.NOHW; + IF not variables.NOHW; hwaction = 'Disable'; hwvars = ['NOHW', 1]; termvars = ['NOHW', '']; @@ -67,9 +67,14 @@ text=hwaction _ " Holt-Winters" title="Switch Holt-Winters prediction boundaries"; END; + + INCLUDE shortcut url=plainURL _ 'explain-rrdgraph.html' + text='Explain graph' + title='Describe graph elements and values' + newwindow=1; %] -</DIV> +</DIV> [% INCLUDE htmlend %] Index: ov-html-incblocks.txt =================================================================== RCS file: /cvsroot/torrus/plugins/overview/templates/ov-html-incblocks.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ov-html-incblocks.txt 8 Dec 2004 14:39:46 -0000 1.1 +++ ov-html-incblocks.txt 13 Dec 2004 16:13:55 -0000 1.2 @@ -12,6 +12,15 @@ <HTML> <!-- Torrus Copyright (c) 2003 Stanislav Sinyagin --> <HEAD> +<SCRIPT language="JavaScript"> +<!-- +function helpwindow() +{ +window.open('[%url(token) _ '&view=helptext-html'%]','helpwindow', +'width=600,height=400,resizable=yes,left=200,top=100'); +} +//--> +</SCRIPT> <TITLE>[% title %]</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <STYLE type="text/css" media="all"> @@ -31,8 +40,20 @@ </HEAD> <BODY style='background-color:transparent'> <DIV CLASS="Header"> +<SPAN CLASS="CompanyInfo"> <A TITLE="company info" HREF="[%companyURL%]">[%companyName%]</A> -</DIV> +</SPAN> +[% IF siteInfo %] +<SPAN CLASS="SiteInfo"> +[% siteInfo %] +</SPAN> +[% END %] + +[% IF treeName and treeInfo %] +<SPAN CLASS="TreeInfo"> +[% treeInfo %] +</SPAN> +[% END %] [% IF userAuth and uid; commonname = userAttr('cn'); IF commonname == ''; commonname = uid; END; %] @@ -52,6 +73,9 @@ </DIV> </DIV> [% END %] +[% IF not noTopMenu %] +[% END %] + <DIV CLASS="[%contentClass%]"> [% global.contentFinished = 0; END %] @@ -121,6 +145,16 @@ </SPAN> [% END %] +[%# ########### Print the Help shortcut ################ %] +[% BLOCK helpshortcut; + IF nodeParam(token, 'help-text', 1); + INCLUDE shortcut + url="javascript:helpwindow()" + text="Help" + title="Open a help window for this page"; + END; + END %] + [%# ########### Print the common bottomline ################ %] [% BLOCK bottomline %] @@ -136,6 +170,14 @@ text="Printable view" title="Prepare this page for printing" newwindow=1%] +[% INCLUDE helpshortcut %] +[% IF mayDisplayAdmInfo(token); + INCLUDE shortcut url=url(token,'adminfo') + text="AdmInfo" + title="Administrative details" + newwindow=1; + END +%] </DIV> [% END %] @@ -152,6 +194,7 @@ text="Printable view" title="Prepare this page for printing" newwindow=1%] +[% INCLUDE helpshortcut %] </DIV> [% END %] @@ -217,11 +260,12 @@ IF not hidden or variables.SHOWHIDDEN %] <DIV CLASS="ShortGraph"> + [% IF not urltoken; urltoken = token; END %] [% hidden ? '<SPAN CLASS="ShowHidden">':'' %] <DIV CLASS="NodeName"> - <A HREF="[%url(token)%]">[%IF nodeparent %][%nodeparent%]/[%END%][% nodename %]</A> + <A HREF="[%url(urltoken,urlview)%]">[%IF nodeparent %][%nodeparent%]/[%END%][% nodename %]</A> </DIV> - [%IF comment%]<DIV CLASS="NodeDescr">[%comment%]</DIV>[%END%] + [%IF comment%]<DIV CLASS="NodeDescr">[%xmlnorm(comment)%]</DIV>[%END%] [% hidden ? '</SPAN>':'' %] [% @@ -244,7 +288,7 @@ <DIV CLASS="GraphImage"> <A HREF="[%url(token)%]"> <IMG SRC="[%url(token, overviewView, overviewvars)%]" - ALT="Last Day Graph"> + ALT="[% param(overviewView, 'description') %]"> </A> </DIV> </DIV> |
|
From: Christian S. <sch...@us...> - 2004-12-13 16:14:05
|
Update of /cvsroot/torrus/plugins/overview In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16338 Modified Files: Makefile.am ovDefaults.xml ovExample.xml ov_substvars.sh.in tp-overview.pod Log Message: fixed new torrus makefiles and adapted to new release Index: ovDefaults.xml =================================================================== RCS file: /cvsroot/torrus/plugins/overview/ovDefaults.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ovDefaults.xml 8 Dec 2004 14:39:45 -0000 1.1 +++ ovDefaults.xml 13 Dec 2004 16:13:54 -0000 1.2 @@ -38,18 +38,6 @@ overview,hour,day,week,month,year </param> - <param name="graph-cfplot-ignore-ds" value="up,down,off,unkn" /> - <param name="gprint-ignore-ds" value="up,down,off,unkn" /> - <param name="gprint-format" value="%7.3lf%s" /> - - <param name="line-style" value="LINE2" /> - <param name="line-color" value="##blue" /> - <param name="line-style-AVERAGE" value="LINE2" /> - <param name="line-color-AVERAGE" value="##blue" /> - <param name="line-style-MIN" value="LINE2" /> - <param name="line-color-MIN" value="##green" /> - <param name="line-style-MAX" value="LINE2" /> - <param name="line-color-MAX" value="##red" /> </datasources> <token-sets> @@ -61,11 +49,6 @@ <!-- Defaults being used by other graphs --> <view name="default-rrgraph"> - <param name="expires" value="1" /> - <param name="graph-cfplot" value="no" /> - <param name="graph-cfplot-list" value="MAX,AVERAGE,MIN" /> - <param name="gprint" value="yes" /> - <param name="gprint-list" value="MIN,AVERAGE,MAX,LAST" /> <param name="ignore-limits" value="no" /> <param name="view-type" value="rrgraph" /> <param name="start" value="-36h" /> @@ -74,110 +57,58 @@ <param name="height-hint" value="305" /> <param name="width-hint" value="595" /> - <param name="hw-bndr-style" value="LINE1" /> - <param name="hw-bndr-color" value="##red" /> - <param name="hw-fail-color" value="#FFFFA0" /> - - <!-- foregrounds --> - <!-- these are thin marks at beginning of day and week --> - <param name="dec-expr-dayMarker" value="LTIME,86400,%,10,LT,INF,UNKN,IF" /> - <param name="dec-color-dayMarker" value="##timeMark" /> - <param name="dec-style-dayMarker" value="##timeMark" /> - <param name="dec-order-dayMarker" value="1" /> - - <param name="dec-expr-weekMarker" value="LTIME,259200,+,604800,%,2100,LT,INF,UNKN,IF" /> - <param name="dec-color-weekMarker" value="##timeMark" /> - <param name="dec-style-weekMarker" value="##timeMark" /> - <param name="dec-order-weekMarker" value="1" /> - - <!-- backgrounds --> - <param name="dec-expr-night" value="LTIME,86400,%,DUP,25200,LE,EXC,82800,GE,+,INF,UNKN,IF" /> - <param name="dec-color-night" value="##night" /> - <param name="dec-style-night" value="##night" /> - <param name="dec-order-night" value="-1" /> - - <param name="dec-expr-evening" value="LTIME,86400,%,DUP,64800,GE,EXC,82800,LE,*,INF,UNKN,IF" /> - <param name="dec-color-evening" value="##evening" /> - <param name="dec-style-evening" value="##evening" /> - <param name="dec-order-evening" value="-2" /> - - <param name="dec-expr-hourOdd" value="LTIME,7200,%,3600,LT,INF,UNKN,IF" /> - <param name="dec-color-hourOdd" value="##hour" /> - <param name="dec-style-hourOdd" value="##hour" /> - <param name="dec-order-hourOdd" value="-3" /> - - <param name="dec-expr-dayOdd" value="LTIME,172800,%,86400,LT,INF,UNKN,IF" /> - <param name="dec-color-dayOdd" value="##day" /> - <param name="dec-style-dayOdd" value="##day" /> - <param name="dec-order-dayOdd" value="-4" /> - - <param name="dec-expr-weekOdd" value="LTIME,259200,+,1209600,%,604800,LT,INF,UNKN,IF" /> - <param name="dec-color-weekOdd" value="##week" /> - <param name="dec-style-weekOdd" value="##week" /> - <param name="dec-order-weekOdd" value="-5" /> - <view name="hour"> <param name="start" value="-8h" /> - <param name="decorations" value="dayMarker,night,evening" /> <view name="hourAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="day"> <param name="start" value="-36h" /> - <param name="decorations" value="dayMarker,night,evening" /> <view name="dayAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="week"> <param name="start" value="-9days" /> - <param name="decorations" value="weekMarker,dayOdd" /> <view name="weekAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="month"> <param name="start" value="-45days" /> - <param name="graph-cfplot" value="yes" /> <param name="rrd-hwpredict" value="disabled" /> - <param name="decorations" value="weekOdd" /> <view name="monthAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="year"> <param name="start" value="-15month" /> - <param name="graph-cfplot" value="yes" /> <param name="rrd-hwpredict" value="disabled" /> - <param name="decorations" value="weekOdd" /> <view name="yearAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="expand-views"> <!--used in expand leaves...--> - <param name="width" value="595" /> - <param name="height" value="100" /> - <param name="ignore-limits" value="no" /> + + <param name="width" value="595" /> + <param name="height" value="100" /> + <param name="ignore-limits" value="no" /> <view name="expHour"> <param name="start" value="-8h" /> - <param name="foreground" value="day" /> - <param name="decorations" value="night,evening" /> <view name="expHourAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="expDay"> <param name="start" value="-36hours" /> - <param name="decorations" value="dayMarker,night,evening" /> <view name="expDayAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="expWeek"> <param name="start" value="-9days" /> - <param name="decorations" value="weekMarker,dayOdd" /> <view name="expWeekAuto"> <param name="ignore-limits" value="yes" /> </view> @@ -185,7 +116,6 @@ <view name="expMonth"> <param name="start" value="-45days" /> <param name="rrd-hwpredict" value="disabled" /> - <param name="decorations" value="weekOdd" /> <view name="expMonthAuto"> <param name="ignore-limits" value="yes" /> </view> @@ -193,35 +123,36 @@ <view name="expYear"> <param name="start" value="-15month" /> <param name="rrd-hwpredict" value="disabled" /> - <param name="decorations" value="weekOdd" /> <view name="expYearAuto"> <param name="ignore-limits" value="yes" /> </view> </view> </view> <view name="token-set-views"> <!--used in tokensets--> - <param name="gprint-list" value="MAX,LAST" /> + # GPRINT stuff + <param name="gprint-values" value="max,last"/> + <param name="gprint-header" value=""/> + <param name="gprint-format-last" value="LAST:LAST\: %8.2lf%s"/> + <param name="gprint-format-max" value="MAX:MAX\: %8.2lf%s"/> + <param name="width" value="300" /> <param name="height" value="30" /> <param name="width-hint" value="400" /> <param name="ignore-limits" value="no" /> <view name="tsHour"> <param name="start" value="-8h" /> - <param name="decorations" value="dayMarker,night,evening" /> <view name="tsHourAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="tsDay"> <param name="start" value="-36hours" /> - <param name="decorations" value="dayMarker,night,evening" /> <view name="tsDayAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="tsWeek"> <param name="start" value="-9days" /> - <param name="decorations" value="weekMarker,dayOdd" /> <view name="tsWeekAuto"> <param name="ignore-limits" value="yes" /> </view> @@ -229,7 +160,6 @@ <view name="tsMonth"> <param name="start" value="-45days" /> <param name="rrd-hwpredict" value="disabled" /> - <param name="decorations" value="weekOdd" /> <view name="tsMonthAuto"> <param name="ignore-limits" value="yes" /> </view> @@ -237,49 +167,48 @@ <view name="tsYear"> <param name="start" value="-15month" /> <param name="rrd-hwpredict" value="disabled" /> - <param name="decorations" value="weekOdd" /> <view name="tsYearAuto"> <param name="ignore-limits" value="yes" /> </view> </view> </view> - <view name="ov-views"> <!--used in overviews by NIC--> - <param name="gprint-list" value="MAX,LAST" /> + <view name="ov-views"> <!--used in overviews--> + # GPRINT stuff + <param name="gprint-values" value="max,last"/> + <param name="gprint-header" value=""/> + <param name="gprint-format-last" value="LAST:LAST\: %8.2lf%s"/> + <param name="gprint-format-max" value="MAX:MAX\: %8.2lf%s"/> + <param name="width" value="300" /> <param name="height" value="70" /> <param name="ignore-limits" value="no" /> <param name="rrd-hwpredict" value="disabled" /> <view name="ovHour"> <param name="start" value="-8h" /> - <param name="decorations" value="dayMarker,night,evening" /> <view name="ovHourAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="ovDay"> <param name="start" value="-36hours" /> - <param name="decorations" value="dayMarker,night,evening" /> <view name="ovDayAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="ovWeek"> <param name="start" value="-9days" /> - <param name="decorations" value="weekMarker,dayOdd" /> <view name="ovWeekAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="ovMonth"> <param name="start" value="-45days" /> - <param name="decorations" value="weekOdd" /> <view name="ovMonthAuto"> <param name="ignore-limits" value="yes" /> </view> </view> <view name="ovYear"> <param name="start" value="-15month" /> - <param name="decorations" value="weekOdd" /> <view name="ovYearAuto"> <param name="ignore-limits" value="yes" /> </view> @@ -333,14 +262,12 @@ <param name="view-type" value="rrprint" /> <param name="expires" value="300" /> <param name="start" value="-24h" /> - <param name="print-cf" value="MIN,AVERAGE,MAX" /> </view> <view name="rrd-print-last"> <param name="view-type" value="rrprint" /> <param name="expires" value="300" /> <param name="start" value="-1h" /> - <param name="print-cf" value="LAST" /> </view> <!-- This is the HTML page for tokenset browsing --> @@ -352,7 +279,7 @@ <view name="ov-tset-list-html"> <param name="view-type" value="html" /> - <param name="expires" value="60" /> + <param name="expires" value="300" /> <param name="html-template" value="ov/ov-tset-list.html" /> </view> Index: ov_substvars.sh.in =================================================================== RCS file: /cvsroot/torrus/plugins/overview/ov_substvars.sh.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ov_substvars.sh.in 8 Dec 2004 14:39:45 -0000 1.1 +++ ov_substvars.sh.in 13 Dec 2004 16:13:54 -0000 1.2 @@ -19,10 +19,12 @@ # Stanislav Sinyagin <ssi...@ya...> # +rendererUrl=@rendererUrl@ @SED@ \ + -e "s,\@webplaindir\@,@webplaindir@,g" \ + -e "s,\@rendererUrl\@,${rendererUrl},g" \ -e "s,\@plainUrl\@,@plainUrl@,g" \ - -e "s,\@rendererUrl\@,@rendererUrl@,g" \ $1 # Local Variables: Index: tp-overview.pod =================================================================== RCS file: /cvsroot/torrus/plugins/overview/tp-overview.pod,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- tp-overview.pod 8 Dec 2004 15:00:18 -0000 1.2 +++ tp-overview.pod 13 Dec 2004 16:13:54 -0000 1.3 @@ -117,7 +117,9 @@ Install the perl module Apache::ASP acording to the instructions on http://www.apache-asp.org/ -Add the following lines to your apache config file (http.conf). +Add the following lines to your apache config file (http.conf). Or +if you are using apache2 simply copy the file apache2.conf to the +/etc/apache2/conf/modules.d directory. (Note: WEBPLAINDIR is /usr/local/torrus-xyz/web/plain by default): @@ -128,8 +130,7 @@ SetHandler perl-script PerlModule Apache::ASP PerlHandler Apache::ASP - PerlSetVar Global /www/asp - PerlSetVar StateDir /tmp/asp + PerlSetVar Global /var/torrus/asp PerlSetVar NoState 1 PerlSetVar XSLTParser XML::Sablotron PerlSetVar XSLTParser XML::LibXSLT @@ -142,8 +143,7 @@ SetHandler perl-script PerlModule Apache::ASP PerlHandler Apache::ASP - PerlSetVar Global /www/asp - PerlSetVar StateDir /tmp/asp + PerlSetVar Global /var/torrus/asp PerlSetVar NoState 1 PerlSetVar XSLTParser XML::Sablotron PerlSetVar XSLTParser XML::LibXSLT @@ -152,7 +152,7 @@ PerlSetVar RequestParams 1 </Location> -Create the directories /www/asp and /tmp/asp. +Create the directory /var/torrus/asp. Copy the contents of http://webfx.eae.net/download/tabpane102.zip to 'WEBPLAINDIR'/tabpane @@ -166,7 +166,7 @@ =over 2 -=item * install torrus-plugin-overview +=item * install randomcollector-plugin =item * Edit your torrus-siteconfig.pl: @@ -178,26 +178,11 @@ 'ovExamples' => { 'description' => 'Example data for overview', 'xmlfiles' => [ - 'defaults.xml', 'ovDefaults.xml', 'examples/ovExample.xml', ], 'run' => { 'collector' => 1, 'monitor' => 1 } }, -Also add the following lines: - - %Torrus::Renderer::styling = - ( 'default' => {'stylesheet' => 'torrus.css', - 'ovStylesheet' => 'ov.css', - }, - 'printer' => {'stylesheet' => 'torrus-printer.css', - 'ovStylesheet' => 'ov-printer.css', - }, - ); - - $Torrus::Renderer::Chooser::template = 'ov/ov-chooser.html'; - - =over 2 =item * run the collector Index: ovExample.xml =================================================================== RCS file: /cvsroot/torrus/plugins/overview/ovExample.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ovExample.xml 8 Dec 2004 14:39:45 -0000 1.1 +++ ovExample.xml 13 Dec 2004 16:13:54 -0000 1.2 @@ -36,7 +36,7 @@ <param name="collector-timeoffset" value="3" /> <param name="storage-type" value="rrd" /> - <param name="data-dir" value="/var/snmpcollector" /> + <param name="data-dir" value="/var/torrus/collector" /> <param name="rrd-create-rra"> RRA:AVERAGE:0:1:209664 RRA:MAX:0:36:5824 RRA:MIN:0:36:5824 @@ -52,20 +52,23 @@ <param name="rrd-create-dstype" value="GAUGE" /> + <param name="monitor-period" value="300" /> + <param name="monitor-timeoffset" value="200" /> + <subtree name="Sample_Router1"> <subtree name="Interface_1"> <param name="comment" value="Interface with random bit couters" /> <param name="rnd-baseline-offset" value="1000" /> - <param name="graph-lower-limit" value="0" /> - <param name="graph-upper-limit" value="3000" /> + <param name="graph-lower-limit" value="0" /> + <param name="graph-upper-limit" value="3000" /> <param name="data-file" value="random_sample1.rrd" /> <apply-template name="dummy-interface-counters" /> </subtree> <subtree name="Interface_2"> <param name="comment" value="Interface with random bit couters" /> <param name="rnd-baseline-offset" value="0" /> - <param name="graph-lower-limit" value="0" /> - <param name="graph-upper-limit" value="3000" /> + <param name="graph-lower-limit" value="0" /> + <param name="graph-upper-limit" value="3000" /> <param name="data-file" value="random_sample2.rrd" /> <apply-template name="dummy-interface-counters" /> </subtree> @@ -74,16 +77,16 @@ <subtree name="Interface_1"> <param name="comment" value="Interface with random bit couters" /> <param name="rnd-baseline-offset" value="1000" /> - <param name="graph-lower-limit" value="0" /> - <param name="graph-upper-limit" value="3000" /> + <param name="graph-lower-limit" value="0" /> + <param name="graph-upper-limit" value="3000" /> <param name="data-file" value="random_sample1.rrd" /> <apply-template name="dummy-interface-counters" /> </subtree> <subtree name="Interface_2"> <param name="comment" value="Interface with random bit couters" /> <param name="rnd-baseline-offset" value="0" /> - <param name="graph-lower-limit" value="0" /> - <param name="graph-upper-limit" value="3000" /> + <param name="graph-lower-limit" value="0" /> + <param name="graph-upper-limit" value="3000" /> <param name="data-file" value="random_sample2.rrd" /> <apply-template name="dummy-interface-counters" /> </subtree> Index: Makefile.am =================================================================== RCS file: /cvsroot/torrus/plugins/overview/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile.am 8 Dec 2004 14:39:45 -0000 1.1 +++ Makefile.am 13 Dec 2004 16:13:54 -0000 1.2 @@ -22,7 +22,9 @@ SUBST = @abs_top_builddir@/ov_substvars.sh -noinst_SCRIPTS = ov_substvars.sh +noinst_SCRIPTS = \ + ov_substvars.sh \ + apache2.conf EXTRA_DIST = \ menu/bg.jpg \ @@ -36,8 +38,9 @@ overview/overview.xsl.in \ overview/sampleOverview.xml \ xtree/xtree.css \ - xtree/xtree.js.in + xtree/xtree.js.in +webplaindir = @webplaindir@ welcome_htm = $(webplaindir)/menu/welcome.htm credits_htm = $(webplaindir)/menu/credits.htm @@ -52,6 +55,7 @@ ##### Documentation files ##### +pkghome = @pkghome@ docdir = @docdir@ dist_doc_DATA = tp-overview.txt tp-overview.pod SUFFIXES = .pod .txt @@ -110,7 +114,7 @@ css/overview.css ##### templates files ##### -tmpldir = $(tmpldir)/ov +tmpldir = @tmpldir@/ov dist_tmpl_DATA = \ templates/item-rrd.html \ templates/ov-chooser.html \ @@ -125,6 +129,7 @@ templates/tab-rrd.html ##### xmlconfig files ##### +distxmldir = @distxmldir@ xmldir = $(distxmldir) dist_xml_DATA = ovDefaults.xml @@ -135,7 +140,18 @@ iconsdir = $(webplaindir)/icons dist_icons_DATA = menu/menu.gif menu/torrus.ico +##### Perl configuration files ##### +pluginsdir=@pluginsdir@ +plugtorruscfgdir=@plugtorruscfgdir@ +torruscfgdir = $(plugtorruscfgdir) +dist_torruscfg_DATA = overview-torruscfg.pl + +apache2.conf: apache2.conf.in + $(SUBST) apache2.conf.in > apache2.conf + + + htdocs: for f in *.pod; do \ pod2html -css=../torrusdoc.css $$f > ../../htdocs/plugins/$$f.html; \ |
|
From: Christian S. <sch...@us...> - 2004-12-13 16:14:05
|
Update of /cvsroot/torrus/plugins/overview/menu In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16338/menu Modified Files: menu.js menu.xsl.in Log Message: fixed new torrus makefiles and adapted to new release Index: menu.xsl.in =================================================================== RCS file: /cvsroot/torrus/plugins/overview/menu/menu.xsl.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- menu.xsl.in 8 Dec 2004 14:39:46 -0000 1.1 +++ menu.xsl.in 13 Dec 2004 16:13:55 -0000 1.2 @@ -60,10 +60,10 @@ </span> <span class='datePickerField'> Date/Time: - <input type='text' id="dc" size="10" class="plain"/> - <input id="NOW" value="" type='hidden' /> + <input type='text' id="dc" name="dc" size="10" class="plain"/> + <input id="NOW" value="now" type='hidden' /> <input type="reset" value=" ... " - onclick="return showCalendar('dc', 'dd.mm.y');"/> + onclick="return showCalendar('dc', '%d.%m.%Y');"/> <select id='timec' class='timebox' onchange='this.form.NOW.value = this.options[this.selectedIndex].value + " " + this.form.dc.value' > Index: menu.js =================================================================== RCS file: /cvsroot/torrus/plugins/overview/menu/menu.js,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- menu.js 8 Dec 2004 14:39:46 -0000 1.1 +++ menu.js 13 Dec 2004 16:13:55 -0000 1.2 @@ -88,8 +88,10 @@ }; function clearDate() { - document.getElementById('NOW').value = ''; - frames['displayFrame'].location.href = cleanUrl('NOW'); + var url = cleanUrl('NOW'); + if (url.indexOf('?') != (url.length-1)) { url = url + '&';}; + document.getElementById('NOW').value = 'now'; + frames['displayFrame'].location.href = url + 'NOW=' + document.getElementById('NOW').value; }; function setShowHidden() { |