diff options
author | ivan <ivan> | 2010-12-27 00:04:44 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-12-27 00:04:44 +0000 |
commit | 74e058c8a010ef6feb539248a550d0bb169c1e94 (patch) | |
tree | 6e8d3efb218dd0f41970b62c7f29758d1ae9a937 /torrus/sup | |
parent | 35359a73152b3d7a9ad5e3d37faf81f6fedb76e8 (diff) |
import torrus 1.0.9
Diffstat (limited to 'torrus/sup')
-rw-r--r-- | torrus/sup/Makefile.am | 45 | ||||
-rw-r--r-- | torrus/sup/Makefile.in | 455 | ||||
-rw-r--r-- | torrus/sup/dtd/snmp-discovery.dtd | 39 | ||||
-rw-r--r-- | torrus/sup/dtd/torrus-config.dtd | 96 | ||||
-rw-r--r-- | torrus/sup/mibs/RRDTOOL-SMI.txt | 39 | ||||
-rw-r--r-- | torrus/sup/mibs/TORRUS-MIB.txt | 183 | ||||
-rw-r--r-- | torrus/sup/styling/colornames.pl | 183 | ||||
-rw-r--r-- | torrus/sup/styling/rainbow-schema.pl | 26 | ||||
-rw-r--r-- | torrus/sup/styling/torrus-schema.pl | 171 | ||||
-rw-r--r-- | torrus/sup/webplain/explain-rrdgraph.html | 85 | ||||
-rw-r--r-- | torrus/sup/webplain/torrus-printer.css | 264 | ||||
-rw-r--r-- | torrus/sup/webplain/torrus-report.css | 172 | ||||
-rw-r--r-- | torrus/sup/webplain/torrus.css | 503 |
13 files changed, 2261 insertions, 0 deletions
diff --git a/torrus/sup/Makefile.am b/torrus/sup/Makefile.am new file mode 100644 index 0000000..4579fd0 --- /dev/null +++ b/torrus/sup/Makefile.am @@ -0,0 +1,45 @@ + +# Copyright (C) 2002 Stanislav Sinyagin +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + +# $Id: Makefile.am,v 1.1 2010-12-27 00:04:04 ivan Exp $ +# Stanislav Sinyagin <ssinyagin@yahoo.com> +# + +dtddir = $(supdir)/dtd +dist_dtd_DATA = dtd/snmp-discovery.dtd dtd/torrus-config.dtd + +mibsdir = $(supdir)/mibs +dist_mibs_DATA = mibs/RRDTOOL-SMI.txt \ + mibs/TORRUS-MIB.txt + +styldir = $(supdir)/styling +dist_styl_DATA = \ + styling/colornames.pl \ + styling/rainbow-schema.pl \ + styling/torrus-schema.pl + + +webplaindir = @webplaindir@ +dist_webplain_DATA = \ + webplain/explain-rrdgraph.html \ + webplain/torrus.css \ + webplain/torrus-printer.css \ + webplain/torrus-report.css + + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(webscriptsdir) diff --git a/torrus/sup/Makefile.in b/torrus/sup/Makefile.in new file mode 100644 index 0000000..eaccd49 --- /dev/null +++ b/torrus/sup/Makefile.in @@ -0,0 +1,455 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# Copyright (C) 2002 Stanislav Sinyagin +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + +# $Id: Makefile.in,v 1.1 2010-12-27 00:04:04 ivan Exp $ +# Stanislav Sinyagin <ssinyagin@yahoo.com> +# + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = sup +DIST_COMMON = $(dist_dtd_DATA) $(dist_mibs_DATA) $(dist_styl_DATA) \ + $(dist_webplain_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(dtddir)" "$(DESTDIR)$(mibsdir)" \ + "$(DESTDIR)$(styldir)" "$(DESTDIR)$(webplaindir)" +dist_dtdDATA_INSTALL = $(INSTALL_DATA) +dist_mibsDATA_INSTALL = $(INSTALL_DATA) +dist_stylDATA_INSTALL = $(INSTALL_DATA) +dist_webplainDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_dtd_DATA) $(dist_mibs_DATA) $(dist_styl_DATA) \ + $(dist_webplain_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +FIND = @FIND@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KILL = @KILL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PERLINC = @PERLINC@ +POD2MAN = @POD2MAN@ +POD2MAN_PRESENT_FALSE = @POD2MAN_PRESENT_FALSE@ +POD2MAN_PRESENT_TRUE = @POD2MAN_PRESENT_TRUE@ +POD2TEXT = @POD2TEXT@ +POD2TEXT_PRESENT_FALSE = @POD2TEXT_PRESENT_FALSE@ +POD2TEXT_PRESENT_TRUE = @POD2TEXT_PRESENT_TRUE@ +RM = @RM@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SLEEP = @SLEEP@ +STRIP = @STRIP@ +SU = @SU@ +VERSION = @VERSION@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +cachedir = @cachedir@ +cfgdefdir = @cfgdefdir@ +datadir = @datadir@ +dbhome = @dbhome@ +defrrddir = @defrrddir@ +distxmldir = @distxmldir@ +enable_pkgonly = @enable_pkgonly@ +enable_varperm = @enable_varperm@ +exec_prefix = @exec_prefix@ +exmpdir = @exmpdir@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +logdir = @logdir@ +mandir = @mandir@ +mansec_misc = @mansec_misc@ +mansec_usercmd = @mansec_usercmd@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +perlithreads = @perlithreads@ +perllibdir = @perllibdir@ +perllibdirs = @perllibdirs@ +piddir = @piddir@ +pkgbindir = @pkgbindir@ +pkgdocdir = @pkgdocdir@ +pkghome = @pkghome@ +plugdevdisccfgdir = @plugdevdisccfgdir@ +pluginsdir = @pluginsdir@ +plugtorruscfgdir = @plugtorruscfgdir@ +plugwrapperdir = @plugwrapperdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +reportsdir = @reportsdir@ +sbindir = @sbindir@ +scriptsdir = @scriptsdir@ +seslockdir = @seslockdir@ +sesstordir = @sesstordir@ +sharedstatedir = @sharedstatedir@ +siteconfdir = @siteconfdir@ +sitedir = @sitedir@ +sitexmldir = @sitexmldir@ +supdir = @supdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +tmpldir = @tmpldir@ +tmpluserdir = @tmpluserdir@ +torrus_user = @torrus_user@ +var_group = @var_group@ +var_mode = @var_mode@ +var_user = @var_user@ +varprefix = @varprefix@ +webplaindir = @webplaindir@ +webscriptsdir = @webscriptsdir@ +wrapperdir = @wrapperdir@ +dtddir = $(supdir)/dtd +dist_dtd_DATA = dtd/snmp-discovery.dtd dtd/torrus-config.dtd +mibsdir = $(supdir)/mibs +dist_mibs_DATA = mibs/RRDTOOL-SMI.txt \ + mibs/TORRUS-MIB.txt + +styldir = $(supdir)/styling +dist_styl_DATA = \ + styling/colornames.pl \ + styling/rainbow-schema.pl \ + styling/torrus-schema.pl + +dist_webplain_DATA = \ + webplain/explain-rrdgraph.html \ + webplain/torrus.css \ + webplain/torrus-printer.css \ + webplain/torrus-report.css + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sup/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu sup/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-dist_dtdDATA: $(dist_dtd_DATA) + @$(NORMAL_INSTALL) + test -z "$(dtddir)" || $(mkdir_p) "$(DESTDIR)$(dtddir)" + @list='$(dist_dtd_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_dtdDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(dtddir)/$$f'"; \ + $(dist_dtdDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(dtddir)/$$f"; \ + done + +uninstall-dist_dtdDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_dtd_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(dtddir)/$$f'"; \ + rm -f "$(DESTDIR)$(dtddir)/$$f"; \ + done +install-dist_mibsDATA: $(dist_mibs_DATA) + @$(NORMAL_INSTALL) + test -z "$(mibsdir)" || $(mkdir_p) "$(DESTDIR)$(mibsdir)" + @list='$(dist_mibs_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_mibsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(mibsdir)/$$f'"; \ + $(dist_mibsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(mibsdir)/$$f"; \ + done + +uninstall-dist_mibsDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_mibs_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(mibsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(mibsdir)/$$f"; \ + done +install-dist_stylDATA: $(dist_styl_DATA) + @$(NORMAL_INSTALL) + test -z "$(styldir)" || $(mkdir_p) "$(DESTDIR)$(styldir)" + @list='$(dist_styl_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_stylDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(styldir)/$$f'"; \ + $(dist_stylDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(styldir)/$$f"; \ + done + +uninstall-dist_stylDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_styl_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(styldir)/$$f'"; \ + rm -f "$(DESTDIR)$(styldir)/$$f"; \ + done +install-dist_webplainDATA: $(dist_webplain_DATA) + @$(NORMAL_INSTALL) + test -z "$(webplaindir)" || $(mkdir_p) "$(DESTDIR)$(webplaindir)" + @list='$(dist_webplain_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_webplainDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(webplaindir)/$$f'"; \ + $(dist_webplainDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(webplaindir)/$$f"; \ + done + +uninstall-dist_webplainDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_webplain_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(webplaindir)/$$f'"; \ + rm -f "$(DESTDIR)$(webplaindir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/dtd $(distdir)/mibs $(distdir)/styling $(distdir)/webplain + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(dtddir)" "$(DESTDIR)$(mibsdir)" "$(DESTDIR)$(styldir)" "$(DESTDIR)$(webplaindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-data-local install-dist_dtdDATA \ + install-dist_mibsDATA install-dist_stylDATA \ + install-dist_webplainDATA + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_dtdDATA uninstall-dist_mibsDATA \ + uninstall-dist_stylDATA uninstall-dist_webplainDATA \ + uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-data-local install-dist_dtdDATA install-dist_mibsDATA \ + install-dist_stylDATA install-dist_webplainDATA install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-dist_dtdDATA uninstall-dist_mibsDATA \ + uninstall-dist_stylDATA uninstall-dist_webplainDATA \ + uninstall-info-am + + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(webscriptsdir) +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/torrus/sup/dtd/snmp-discovery.dtd b/torrus/sup/dtd/snmp-discovery.dtd new file mode 100644 index 0000000..e8953ab --- /dev/null +++ b/torrus/sup/dtd/snmp-discovery.dtd @@ -0,0 +1,39 @@ +<!-- + Copyright (C) 2002 Stanislav Sinyagin + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + + $Id: snmp-discovery.dtd,v 1.1 2010-12-27 00:04:04 ivan Exp $ + Stanislav Sinyagin <ssinyagin@yahoo.com> + + Torrus Discovery Instructions XML DTD + +--> + +<!ELEMENT creator-info ( #PCDATA ) > + +<!ELEMENT file-info ( format-version ) > + +<!ELEMENT format-version ( #PCDATA ) > + +<!ELEMENT host ( param+ ) > + +<!ELEMENT param ( #PCDATA ) > +<!ATTLIST param name CDATA #REQUIRED > +<!ATTLIST param value CDATA #IMPLIED > + +<!ELEMENT snmp-discovery ( file-info, creator-info*, param+, host+ ) > + + diff --git a/torrus/sup/dtd/torrus-config.dtd b/torrus/sup/dtd/torrus-config.dtd new file mode 100644 index 0000000..5227f81 --- /dev/null +++ b/torrus/sup/dtd/torrus-config.dtd @@ -0,0 +1,96 @@ +<!-- + Copyright (C) 2002 Stanislav Sinyagin + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + + $Id: torrus-config.dtd,v 1.1 2010-12-27 00:04:04 ivan Exp $ + Stanislav Sinyagin <ssinyagin@yahoo.com> + + Torrus Configuration XML DTD + +--> + +<!ELEMENT action ( param+ ) > +<!ATTLIST action name NMTOKEN #REQUIRED > + +<!ELEMENT alias ( #PCDATA ) > + +<!ELEMENT apply-template EMPTY > +<!ATTLIST apply-template name NMTOKEN #REQUIRED > + +<!ELEMENT configuration ( creator-info | definitions | datasources | + include | monitors | param-properties | + token-sets | views )* > + +<!ELEMENT creator-info ( #PCDATA ) > + +<!ELEMENT datasources ( template | alias | apply-template | + leaf | param | subtree | + setvar | iftrue | iffalse )* > + +<!ELEMENT def EMPTY > +<!ATTLIST def name ID #REQUIRED > +<!ATTLIST def value CDATA #REQUIRED > + +<!ELEMENT definitions ( def )* > + +<!ELEMENT detailed ( alias | apply-template | + leaf | param | subtree | + setvar | iftrue | iffalse )* > +<!ATTLIST detailed match NMTOKEN #REQUIRED > + +<!ELEMENT include EMPTY > +<!ATTLIST include filename ID #REQUIRED > + +<!ELEMENT leaf ( alias | apply-template | param | + setvar | iftrue | iffalse )* > +<!ATTLIST leaf name NMTOKEN #REQUIRED > + +<!ELEMENT monitor ( param+ ) > +<!ATTLIST monitor name NMTOKEN #REQUIRED > + +<!ELEMENT monitors ( action | monitor )* > + +<!ELEMENT param ( #PCDATA ) > +<!ATTLIST param name NMTOKEN #REQUIRED > +<!ATTLIST param value CDATA #IMPLIED > + +<!ELEMENT param-properties ( prop )* > + +<!ELEMENT prop > +<!ATTLIST prop param NMTOKEN #REQUIRED > +<!ATTLIST prop prop NMTOKEN #REQUIRED > +<!ATTLIST prop value CDATA #REQUIRED > + +<!ELEMENT subtree ( alias | apply-template | + leaf | param | subtree | setvar | iftrue | iffalse )* > +<!ATTLIST subtree name NMTOKEN #REQUIRED > + +<!ELEMENT template ( alias | apply-template | + leaf | param | subtree | setvar | iftrue | iffalse )* > +<!ATTLIST template name NMTOKEN #REQUIRED > + +<!ELEMENT token-set ( param* ) > +<!ATTLIST token-set name NMTOKEN #REQUIRED > + +<!ELEMENT token-sets ( param | token-set )* > + +<!ELEMENT view ( param | view )* > +<!ATTLIST view name ID #REQUIRED > + +<!ELEMENT views ( view* ) > + + + diff --git a/torrus/sup/mibs/RRDTOOL-SMI.txt b/torrus/sup/mibs/RRDTOOL-SMI.txt new file mode 100644 index 0000000..dd306ed --- /dev/null +++ b/torrus/sup/mibs/RRDTOOL-SMI.txt @@ -0,0 +1,39 @@ +RRDTOOL-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + enterprises + FROM SNMPv2-SMI; + +rrdtool MODULE-IDENTITY + LAST-UPDATED "200209150000Z" + ORGANIZATION "RRD Tool" + CONTACT-INFO + " Tobi Oetiker + + Postal: ETZ J97, ETH + 8092 Zurich + Switzerland + + Telephone: +41 1 632-5286 + E-mail: oetiker@ee.ethz.ch + + RRD Tool Information: + http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ + " + DESCRIPTION + "The Structure of RRDTool fellow projects" + ::= { enterprises 14697 } -- assigned by IANA + +torrus OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Round Robin Database Framework. + http://torrus.sourceforge.net/ + " + ::= { rrdtool 1 } + +-- more to come if necessary. + +END diff --git a/torrus/sup/mibs/TORRUS-MIB.txt b/torrus/sup/mibs/TORRUS-MIB.txt new file mode 100644 index 0000000..8ada99b --- /dev/null +++ b/torrus/sup/mibs/TORRUS-MIB.txt @@ -0,0 +1,183 @@ +TORRUS-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-IDENTITY, NOTIFICATION-TYPE, + Integer32 + FROM SNMPv2-SMI + DateAndTime + FROM SNMPv2-TC + rrdtool + FROM RRDTOOL-SMI; + +torrus MODULE-IDENTITY + LAST-UPDATED "200506210000Z" + ORGANIZATION "Round Robin Database Framework project" + CONTACT-INFO + "Round Robin Database Framework project + + Project description and documentation: + http://torrus.org + + Administrative contact for MIB module: + + Stanislav Sinyagin + Tel. +41 79 407 02 24 + E-mail: ssinyagin@yahoo.com" + DESCRIPTION + "The MIB module for SNMP variables specific to Torrus project" + ::= { rrdtool 1 } + +EventType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Defines the event type: + set -- The monitor condition is first time met + repeat -- The monitor condition is met again on the consequtive + monitorin cycle + clear -- The monitor condition is not met the first time after + event type set or repeat + forget -- The monitor condition was not met during the expiration + period since the last event type clear" + SYNTAX INTEGER { + set(1), + repeat(2), + clear(3), + forget(4) + } + +TreeName ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Torrus system operates with several datasource trees + identified by names" + SYNTAX OCTET STRING (SIZE (1..512)) + +Token ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Token is a short ID for the leaf or subtree of the Torrus + datasources hierarchy" + SYNTAX OCTET STRING (SIZE (5..10)) + +Path ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Path is the full name of the Torrus datasource, containing its + parent nodes separated by slashes" + SYNTAX OCTET STRING (SIZE (1..512)) + +MonitorEventsEntry ::= SEQUENCE { + torrusEventIndex Integer32, + torrusToken Token, + torrusMonitorName OCTET STRING, + torrusEventType EventType, + torrusPath Path, + torrusTimestamp DateAndTime, + torrusSeverity Integer32, + torrusMonitorDesc OCTET STRING +} + +torrusMonitorEventsTable OBJECT-TYPE + SYNTAX SEQUENCE OF MonitorEventsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of current monitor events" + ::= { torrus 1 } + +torrusMonitorEventsEntry OBJECT-TYPE + SYNTAX MonitorEventsEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each monitor event is characterized by the datasource token and + monitor name" + INDEX { torrusEventIndex } + ::= { torrusMonitorEventsTable 1 } + +torrusEventIndex OBJECT-TYPE + SYNTAX Integer32 (1..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The value of this object uniquely identifies this + event entry." + ::= { torrusMonitorEventsEntry 1 } + +torrusToken OBJECT-TYPE + SYNTAX Token + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Token is a short ID for the leaf or subtree of the Torrus + datasources hierarchy" + ::= { torrusMonitorEventsEntry 2 } + +torrusMonitorName OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each monitor instance is identified by unique name" + ::= { torrusMonitorEventsEntry 3 } + +torrusEventType OBJECT-TYPE + SYNTAX EventType + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The type of the event: set(1), repeat(2), clear(3), forget(4)" + ::= { torrusMonitorEventsEntry 4 } + +torrusPath OBJECT-TYPE + SYNTAX Path + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The full name of the Torrus datasource, containing its + parent nodes separated by slashes" + ::= { torrusMonitorEventsEntry 5 } + +torrusTimestamp OBJECT-TYPE + SYNTAX DateAndTime + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Timestamp of the event, in SNMPv2 format, e.g. + 1992-5-26,13:30:15.0,-4:0" + ::= { torrusMonitorEventsEntry 6 } + +torrusTreeName OBJECT-TYPE + SYNTAX TreeName + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Name of the datasource tree" + ::= { torrusMonitorEventsEntry 7 } + +torrusSeverity OBJECT-TYPE + SYNTAX Integer32 (1..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Optional severity level" + ::= { torrusMonitorEventsEntry 8 } + +torrusMonitorDesc OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Human readable monitor comment" + ::= { torrusMonitorEventsEntry 9 } + +torrusAlarm NOTIFICATION-TYPE + OBJECTS { torrusToken, torrusMonitorName, torrusEventType, + torrusPath, torrusTimestamp } + STATUS current + DESCRIPTION + "The SNMP trap that is generated when an Torrus monitor + condition is changed for the leaf being monitored" + ::= { torrus 2 } + +END diff --git a/torrus/sup/styling/colornames.pl b/torrus/sup/styling/colornames.pl new file mode 100644 index 0000000..848b4e2 --- /dev/null +++ b/torrus/sup/styling/colornames.pl @@ -0,0 +1,183 @@ +# Symbolic Color names + +# $Id: colornames.pl,v 1.1 2010-12-27 00:04:04 ivan Exp $ +# Stanislav Sinyagin <ssinyagin@yahoo.com> +# Shawn Ferry <sferry at sevenspace dot com> <lalartu at obscure dot org> + +my %colorNames = + ( + # Taken from the tt2 example file + 'black' => {'color' => '#000000'}, + 'grey25' => {'color' => '#404040'}, + 'grey50' => {'color' => '#808080'}, + 'grey75' => {'color' => '#c0c0c0'}, + 'white' => {'color' => '#ffffff'}, + 'red' => {'color' => '#ff0000'}, + 'red25' => {'color' => '#400000'}, + 'red50' => {'color' => '#800000'}, + 'red75' => {'color' => '#c00000'}, + 'green' => {'color' => '#00ff00'}, + 'green25' => {'color' => '#004000'}, + 'green50' => {'color' => '#008000'}, + 'green75' => {'color' => '#00c000'}, + 'blue' => {'color' => '#0000ff'}, + 'blue25' => {'color' => '#000040'}, + 'blue50' => {'color' => '#000080'}, + 'blue75' => {'color' => '#0000c0'}, + 'blood' => {'color' => '#800000'}, + 'scarlet' => {'color' => '#c04040'}, + 'rose' => {'color' => '#f08080'}, + 'orange' => {'color' => '#fe7202'}, + 'leaf' => {'color' => '#006400'}, + 'bud' => {'color' => '#66aa66'}, + 'mint' => {'color' => '#aaffaa'}, + 'marine' => {'color' => '#0066cc'}, + 'sky' => {'color' => '#66ccff'}, + 'mauve' => {'color' => '#6666cc'}, + 'lilac' => {'color' => '#9797ff'}, + + # http://www.mandarindesign.com/color.html#namedcolors + # http://www.w3schools.com/html/html_colornames.asp + # http://www.oreilly.com/catalog/wdnut/excerpt/color_names.html + 'aliceblue' => {'color' => '#F0F8FF'}, + 'antiquewhite' => {'color' => '#FAEBD7'}, + 'aqua' => {'color' => '#00FFFF'}, + 'aquamarine' => {'color' => '#7FFFD4'}, + 'azure' => {'color' => '#F0FFFF'}, + 'beige' => {'color' => '#F5F5DC'}, + 'bisque' => {'color' => '#FFE4C4'}, + 'blanchedalmond' => {'color' => '#FFEBCD'}, + 'blueviolet' => {'color' => '#8A2BE2'}, + 'brown' => {'color' => '#A52A2A'}, + 'burlywood' => {'color' => '#DEB887'}, + 'cadetblue' => {'color' => '#5F9EA0'}, + 'chartreuse' => {'color' => '#7FFF00'}, + 'chocolate' => {'color' => '#D2691E'}, + 'coral' => {'color' => '#FF7F50'}, + 'cornflowerblue' => {'color' => '#6495ED'}, + 'cornsilk' => {'color' => '#FFF8DC'}, + 'crimson' => {'color' => '#DC143C'}, + 'cyan' => {'color' => '#00FFFF'}, + 'darkblue' => {'color' => '#00008B'}, + 'darkcyan' => {'color' => '#008B8B'}, + 'darkgoldenrod' => {'color' => '#B8860B'}, + 'darkgray' => {'color' => '#A9A9A9'}, + 'darkgreen' => {'color' => '#006400'}, + 'darkkhaki' => {'color' => '#BDB76B'}, + 'darkmagenta' => {'color' => '#8B008B'}, + 'darkolivegreen' => {'color' => '#556B2F'}, + 'darkorange' => {'color' => '#FF8C00'}, + 'darkorchid' => {'color' => '#9932CC'}, + 'darkred' => {'color' => '#8B0000'}, + 'darksalmon' => {'color' => '#E9967A'}, + 'darkseagreen' => {'color' => '#8FBC8B'}, + 'darkslateblue' => {'color' => '#483D8B'}, + 'darkslategray' => {'color' => '#2F4F4F'}, + 'darkturquoise' => {'color' => '#00CED1'}, + 'darkviolet' => {'color' => '#9400D3'}, + 'deeppink' => {'color' => '#FF1493'}, + 'deepskyblue' => {'color' => '#00BFFF'}, + 'dimgray' => {'color' => '#696969'}, + 'dodgerblue' => {'color' => '#1E90FF'}, + 'firebrick' => {'color' => '#B22222'}, + 'floralwhite' => {'color' => '#FFFAF0'}, + 'forestgreen' => {'color' => '#228B22'}, + 'fuchsia' => {'color' => '#FF00FF'}, + 'gainsboro' => {'color' => '#DCDCDC'}, + 'ghostwhite' => {'color' => '#F8F8FF'}, + 'gold' => {'color' => '#FFD700'}, + 'goldenrod' => {'color' => '#DAA520'}, + 'gray' => {'color' => '#808080'}, + 'greenyellow' => {'color' => '#ADFF2F'}, + 'honeydew' => {'color' => '#F0FFF0'}, + 'hotpink' => {'color' => '#FF69B4'}, + 'indianred' => {'color' => '#CD5C5C'}, + 'indigo' => {'color' => '#4B0082'}, + 'ivory' => {'color' => '#FFFFF0'}, + 'khaki' => {'color' => '#F0E68C'}, + 'lavender' => {'color' => '#E6E6FA'}, + 'lavenderblush' => {'color' => '#FFF0F5'}, + 'lawngreen' => {'color' => '#7CFC00'}, + 'lemonchiffon' => {'color' => '#FFFACD'}, + 'lightblue' => {'color' => '#ADD8E6'}, + 'lightcoral' => {'color' => '#F08080'}, + 'lightcyan' => {'color' => '#E0FFFF'}, + 'lightgoldenrodyellow' => {'color' => '#FAFAD2'}, + 'lightgreen' => {'color' => '#90EE90'}, + 'lightgrey' => {'color' => '#D3D3D3'}, + 'lightpink' => {'color' => '#FFB6C1'}, + 'lightsalmon' => {'color' => '#FFA07A'}, + 'lightseagreen' => {'color' => '#20B2AA'}, + 'lightskyblue' => {'color' => '#87CEFA'}, + 'lightslategray' => {'color' => '#778899'}, + 'lightsteelblue' => {'color' => '#B0C4DE'}, + 'lightyellow' => {'color' => '#FFFFE0'}, + 'lime' => {'color' => '#00FF00'}, + 'limegreen' => {'color' => '#32CD32'}, + 'linen' => {'color' => '#FAF0E6'}, + 'magenta' => {'color' => '#FF00FF'}, + 'maroon' => {'color' => '#800000'}, + 'mediumaquamarine' => {'color' => '#66CDAA'}, + 'mediumblue' => {'color' => '#0000CD'}, + 'mediumorchid' => {'color' => '#BA55D3'}, + 'mediumpurple' => {'color' => '#9370DB'}, + 'mediumseagreen' => {'color' => '#3CB371'}, + 'mediumslateblue' => {'color' => '#7B68EE'}, + 'mediumspringgreen' => {'color' => '#00FA9A'}, + 'mediumturquoise' => {'color' => '#48D1CC'}, + 'mediumvioletred' => {'color' => '#C71585'}, + 'midnightblue' => {'color' => '#191970'}, + 'mintcream' => {'color' => '#F5FFFA'}, + 'mistyrose' => {'color' => '#FFE4E1'}, + 'moccasin' => {'color' => '#FFE4B5'}, + 'navajowhite' => {'color' => '#FFDEAD'}, + 'navy' => {'color' => '#000080'}, + 'oldlace' => {'color' => '#FDF5E6'}, + 'olive' => {'color' => '#808000'}, + 'olivedrab' => {'color' => '#6B8E23'}, + 'orangered' => {'color' => '#FF4500'}, + 'orchid' => {'color' => '#DA70D6'}, + 'palegoldenrod' => {'color' => '#EEE8AA'}, + 'palegreen' => {'color' => '#98FB98'}, + 'paleturquoise' => {'color' => '#AFEEEE'}, + 'palevioletred' => {'color' => '#DB7093'}, + 'papayawhip' => {'color' => '#FFEFD5'}, + 'peachpuff' => {'color' => '#FFDAB9'}, + 'peru' => {'color' => '#CD853F'}, + 'pink' => {'color' => '#FFC0CB'}, + 'plum' => {'color' => '#DDA0DD'}, + 'powderblue' => {'color' => '#B0E0E6'}, + 'purple' => {'color' => '#800080'}, + 'rosybrown' => {'color' => '#BC8F8F'}, + 'royalblue' => {'color' => '#4169E1'}, + 'saddlebrown' => {'color' => '#8B4513'}, + 'salmon' => {'color' => '#FA8072'}, + 'sandybrown' => {'color' => '#F4A460'}, + 'seagreen' => {'color' => '#2E8B57'}, + 'seashell' => {'color' => '#FFF5EE'}, + 'sienna' => {'color' => '#A0522D'}, + 'silver' => {'color' => '#C0C0C0'}, + 'skyblue' => {'color' => '#87CEEB'}, + 'slateblue' => {'color' => '#6A5ACD'}, + 'slategray' => {'color' => '#708090'}, + 'snow' => {'color' => '#FFFAFA'}, + 'springgreen' => {'color' => '#00FF7F'}, + 'steelblue' => {'color' => '#4682B4'}, + 'tan' => {'color' => '#D2B48C'}, + 'teal' => {'color' => '#008080'}, + 'thistle' => {'color' => '#D8BFD8'}, + 'tomato' => {'color' => '#FF6347'}, + 'turquoise' => {'color' => '#40E0D0'}, + 'violet' => {'color' => '#EE82EE'}, + 'wheat' => {'color' => '#F5DEB3'}, + 'whitesmoke' => {'color' => '#F5F5F5'}, + 'yellow' => {'color' => '#FFFF00'}, + 'yellowgreen' => {'color' => '#9ACD32'}, + ); + +while( my($style, $def) = each( %colorNames ) ) +{ + $Torrus::Renderer::graphStyles{$style} = $def; +} + +1; diff --git a/torrus/sup/styling/rainbow-schema.pl b/torrus/sup/styling/rainbow-schema.pl new file mode 100644 index 0000000..cdab693 --- /dev/null +++ b/torrus/sup/styling/rainbow-schema.pl @@ -0,0 +1,26 @@ +# Example of alternate style +# rougly the traditional colors in a rainbow. +# Shawn Ferry <sferry at sevenspace dot com> <lalartu at obscure dot org> +# +# This file should be referenced using the +# $Torrus::Renderer::stylingProfileOverlay option: +# $Torrus::Renderer::stylingProfileOverlay = "rainbow-schema"; + +$Torrus::Renderer::graphStyles{'one'}{'color'} = '##darkred'; +$Torrus::Renderer::graphStyles{'two'}{'color'} = '##red'; +$Torrus::Renderer::graphStyles{'three'}{'color'} = '##yellow'; +$Torrus::Renderer::graphStyles{'four'}{'color'} = '##deeppink'; +$Torrus::Renderer::graphStyles{'five'}{'color'} = '##forestgreen'; +$Torrus::Renderer::graphStyles{'six'}{'color'} = '##orange'; +$Torrus::Renderer::graphStyles{'seven'}{'color'} = '##indigo'; +$Torrus::Renderer::graphStyles{'eight'}{'color'} = '##blueviolet'; +$Torrus::Renderer::graphStyles{'nine'}{'color'} = '##blue'; +$Torrus::Renderer::graphStyles{'ten'}{'color'} = '##deepskyblue'; + +# slightly off white background with gold grid lines +push( @Torrus::Renderer::graphExtraArgs, + '--color=CANVAS#DCDCDC', #light grey + '--color=BACK#808080', # darker grey + '--color=GRID#FFD700' ); # gold + +1; diff --git a/torrus/sup/styling/torrus-schema.pl b/torrus/sup/styling/torrus-schema.pl new file mode 100644 index 0000000..9ece864 --- /dev/null +++ b/torrus/sup/styling/torrus-schema.pl @@ -0,0 +1,171 @@ +# RRDtool graph Colors and Lines Profile. +# You are encouraged to create your own copy and reference it +# with $Torrus::Renderer::stylingProfile in your torrus-siteconfig.pl +# or better define your amendments in Torrus::Renderer::stylingProfileOverlay + +# $Id: torrus-schema.pl,v 1.1 2010-12-27 00:04:04 ivan Exp $ +# Stanislav Sinyagin <ssinyagin@yahoo.com> +# Shawn Ferry <sferry at sevenspace dot com> <lalartu at obscure dot org> + +%Torrus::Renderer::graphStyles = + ( + 'SingleGraph' => { + 'color' => '##blue', + 'line' => 'LINE2' + }, + 'HWBoundary' => { + 'color' => '##red', + 'line' => 'LINE1' + }, + 'HWFailure' => { + 'color' => '##moccasin' + }, + 'HruleMin' => { + 'color' => '##darkmagenta' + }, + 'HruleNormal' => { + 'color' => '##seagreen' + }, + 'HruleMax' => { + 'color' => '##darkmagenta' + }, + 'BpsIn' => { + 'color' => '##green', + 'line' => 'AREA' + }, + 'BpsOut' => { + 'color' => '##blue', + 'line' => 'LINE2' + }, + + 'BusinessDay' => { + 'color' => '##white', + 'line' => 'AREA' + }, + 'Evening' => { + 'color' => '##mintcream', + 'line' => 'AREA' + }, + 'Night' => { + 'color' => '##lavender', + 'line' => 'AREA' + }, + + # Common Definitions + # Using generic names allows the "generic" value to be + # changed without editing every instance + 'in' => { + 'color' => '##green', + 'line' => 'AREA' + }, + 'out' => { + 'color' => '##blue', + 'line' => 'LINE2' + }, + + 'nearend' => { + 'color' => '##green', + 'line' => 'LINE2' + }, + 'farend' => { + 'color' => '##blue', + 'line' => 'LINE2' + }, + + 'maxvalue' => { + 'color' => '##darkseagreen', + 'line' => 'AREA' + }, + 'currvalue' => { + 'color' => '##blue', + 'line' => 'LINE2' + }, + + 'totalresource' => { + 'color' => '##palegreen', + 'line' => 'AREA' + }, + 'resourceusage' => { + 'color' => '##blue', + 'line' => 'AREA' + }, + 'resourcepartusage' => { + 'color' => '##crimson', + 'line' => 'AREA' + }, + + # convenient definitions one - ten, colors that + # "work" in a single graph + 'one' => {'color' => '##green'}, + 'two' => {'color' => '##blue'}, + 'three' => {'color' => '##red'}, + 'four' => {'color' => '##gold'}, + 'five' => {'color' => '##seagreen'}, + 'six' => {'color' => '##cornflowerblue'}, + 'seven' => {'color' => '##crimson'}, + 'eight' => {'color' => '##darkorange'}, + 'nine' => {'color' => '##darkmagenta'}, + 'ten' => {'color' => '##orangered'}, + + # definitions for combinatorial graphing + + #RED + 'red1' => { + 'color' => '##red', + 'line' => 'AREA', + }, + 'red2' => { + 'color' => '##red25', + 'line' => 'STACK', + }, + 'red3' => { + 'color' => '##red50', + 'line' => 'STACK', + }, + 'red4' => { + 'color' => '##red75', + 'line' => 'STACK', + }, + + #GREEN + 'green1' => { + 'color' => '##green', + 'line' => 'AREA', + }, + 'green2' => { + 'color' => '##green25', + 'line' => 'STACK', + }, + 'green3' => { + 'color' => '##green50', + 'line' => 'STACK', + }, + 'green4' => { + 'color' => '##green75', + 'line' => 'STACK', + }, + + #BLUE + 'blue1' => { + 'color' => '##blue', + 'line' => 'AREA', + }, + 'blue2' => { + 'color' => '##blue25', + 'line' => 'STACK', + }, + 'blue3' => { + 'color' => '##blue50', + 'line' => 'STACK', + }, + 'blue4' => { + 'color' => '##blue75', + 'line' => 'STACK', + }, + ); + +# Place for extra RRDtool graph arguments +# Example: ( '--color', 'BACK#D0D0FF', '--color', 'GRID#A0A0FF' ); +@Torrus::Renderer::graphExtraArgs = (); + +1; diff --git a/torrus/sup/webplain/explain-rrdgraph.html b/torrus/sup/webplain/explain-rrdgraph.html new file mode 100644 index 0000000..7dc8051 --- /dev/null +++ b/torrus/sup/webplain/explain-rrdgraph.html @@ -0,0 +1,85 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<HTML> +<!-- Torrus Copyright (c) 2003-2004 Stanislav Sinyagin --> +<HEAD> +<TITLE>RRD Graph Description</TITLE> +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> +<STYLE type="text/css" media="all"> + @import url( torrus.css ); +</STYLE> +</HEAD> +<BODY> + + +<DIV CLASS="HelpContent"> + +<H1>RRD Graph Description</H1> + +<P> +The graphs in Torrus are drawn by +<a href="http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/">RRDtool</a>, +a powerful instrument for data aggregation and graphing. +</P> + +<P> +The horizontal axis displays the time at which the data has been collected. +The rightmost point corresponds to the most recent moment. +</P> + +<P> +The date and time of the graph can be easily changed by using the +<em>Set date</em> checkbox at the bottom of the page. When the checkbox is +checked, the date/time string in the text field is interpreted after clicking +the submit button. It is then reflected in the <em>Report date</em> +informational line at the page displaying the graphs. The date format is +quite flexible. It understands such input as "<TT>July 13 5:00</TT>", +or "<TT>01/13/2003 5:00</TT>", etc. +</P> + + +<P> +The vertical axis scales automatically to fit the data values. The meaning of +the values depends on the nature of the datasource, and is usually described +in the graph legend, comments, and the help text. +</P> + + +<P> +Usually the legend of the vertical axis specifies the meaning of the values: +<ul> +<li>Bps: bytes per second counter</li> +<li>bps: bits per second counter</li> +<li>pps: pakets per second counter</li> +</ul> +Other legends correspond mostly to gauges, such as temperature, load +percentage, or disk space. +</P> + +<P> +The graphing engine automatically chooses the best units for scaling +the values. The scaling magnitude is displayed alongside the numerical value, +with the following meaning: +<ul> +<li>a: 10e-18 Atto</li> +<li>f: 10e-15 Femto</li> +<li>p: 10e-12 Pico</li> +<li>n: 10e-9 Nano</li> +<li>u: 10e-6 Micro</li> +<li>m: 10e-3 Milli</li> +<li>k: 10e+3 Kilo</li> +<li>M: 10e+6 Mega</li> +<li>G: 10e+9 Giga</li> +<li>T: 10e+12 Tera</li> +<li>P: 10e+15 Peta</li> +<li>E: 10e+18 Exa</li> +</ul> +Memory usage is scaled with the base of 1024. +</P> + +</DIV> +<DIV CLASS="Footer"> +Powered by <A HREF="http://torrus.sourceforge.net">Torrus</A> +</DIV> +</BODY> +</HTML>
\ No newline at end of file diff --git a/torrus/sup/webplain/torrus-printer.css b/torrus/sup/webplain/torrus-printer.css new file mode 100644 index 0000000..966abff --- /dev/null +++ b/torrus/sup/webplain/torrus-printer.css @@ -0,0 +1,264 @@ +/* + Torrus Renderer stylesheet. + Designed by Stanislav Sinyagin + + $Id: torrus-printer.css,v 1.1 2010-12-27 00:04:04 ivan Exp $ + */ +BODY { + background-color : white; + color : black; + font-family : verdana, arial, helvetica, sans-serif; + font-size : 10pt; + margin : 0; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; + voice-family : inherit, male; +} + +H1, H2, H3 { + background-color : transparent; + color : black; +} + + +H1 { + font-size : 18pt; + font-weight : 900; + line-height : 20pt; +} + +H2 { + font-size : 16pt; + font-weight : 700; + line-height : 18pt; +} + +H3 { + font-size : 14pt; + line-height : 16pt; +} + +P { + background-color : transparent; + color : black; + line-height : 18pt; + text-decoration : none; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; +} + +A, A:link, A:visited { + background-color : transparent; + color : black; + text-decoration : none; +} + +*.Header { + background-color : transparent; + border-bottom : 0.5pt solid black; + border-left : 0 solid black; + border-right : 0 solid black; + border-top : 0.5pt solid black; + color : black; + font-size : 9pt; + font-weight : 700; + margin : 5pt 0 10pt; + padding-bottom : 0; + padding-left : 10pt; + padding-right : 0; + padding-top : 10pt; +} + +DIV.LoginInfo { + position : absolute; + right : 0; + top : 8px; + font-size : 9px; + text-align : right; +} + +DIV.LoginInfo SPAN.UserName { + display : block; +} + +DIV.LoginInfo SPAN.Logout { + display : none; +} + +DIV.CurrentTime { + float: right; + font-size : 9px; + text-align: right; +} + +*.Content, *.SingleColumnContent { + margin-bottom : 0; + margin-left : 5pt; + margin-right : 5pt; + margin-top : 0; + padding-bottom : 10pt; + padding-left : 10pt; + padding-right : 10pt; + padding-top : 10pt; +} + +DIV.CurrentPath { + background-color : transparent; +} + +*.PathURLs { + font-size : 9px; +} + +DIV.CurrentTree { + background-color : transparent; +} + +DIV.Legend { + background-color : transparent; + color : black; + font-size : 8pt; + margin-bottom : 10pt; + margin-top : 10pt; +} + +DIV.LegendRow { + clear : both; + height : 9pt; + width : 100%; + margin-bottom : 3pt; +} + +*.LegendRow *.LegendName { + font-weight : bold; + padding-right : 5pt; + text-align : left; +} + +*.LegendRow *.LegendValue { + text-align : left; +} + +P.Variables SPAN.VariableName { + font-weight : bold; +} + +DIV.Monitors { + clear : both; + float : none; + font-size : 8pt; + margin-bottom : 10pt; + position : relative; + width : 90%; +} + +SPAN.MonitorName { + padding-left: 20pt; + padding-right: 20pt; +} + + +DIV.Listing { + margin-bottom : 10pt; + margin-left : 20pt; + margin-right : 20pt; +} + +*.ListRow, *.ListRowEven { + border-bottom : 0.5pt solid gray; + clear : both; + font-size : 8pt; + line-height : 12pt; + padding-top : 3pt; + width : 100%; +} + +*.Listing *.NodeName { + display : block; + font-weight : bold; + padding-right : 5pt; + padding-left : 5pt; + text-align : left; +} + +*.Listing *.NodeDescr { + display : block; + padding-left : 30pt; + padding-right : 5pt; + text-align : left; +} + +DIV.Graph, DIV.ShortGraph { + border-bottom : 0.5pt solid gray; + margin-bottom : 10pt; + margin-left : 20pt; + margin-right : 20pt; + margin-top : 15pt; + page-break-inside : avoid; +} + + +DIV.ShortGraph *.NodeName { + font-weight : bold; + width : 100%; +} + +DIV.ShortGraph *.NodeDescr { + margin-bottom : 5pt; + width : 100%; +} + +*.GraphImage { + text-align: center; +} + +*.GraphImage IMG { + border-width : 0; + border-color : transparent; + float : none; +} + + +/* In tokenset display, short graphs are placed in two + columns on the screen, but one column on printer */ + +DIV.ShortLeft, DIV.ShortRight { + width : 100%; +} + + + +*.BottomShortcuts { + display : none; +} + + +*.TopMenu, *.BottomMenu { + display : none; +} + + +*.Footer { + background-color : transparent; + border-bottom : 0 solid black; + border-left : 0 solid black; + border-right : 0 solid black; + border-top : 0.75pt solid black; + color : black; + font-size : 6pt; + margin : 0 0 10pt; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; + text-align : right; + width : 100%; +} + +*.SiteInfo, *.TreeInfo { + padding-left : 5em; +} diff --git a/torrus/sup/webplain/torrus-report.css b/torrus/sup/webplain/torrus-report.css new file mode 100644 index 0000000..e18dda8 --- /dev/null +++ b/torrus/sup/webplain/torrus-report.css @@ -0,0 +1,172 @@ +/* + Torrus Renderer stylesheet. + Designed by Stanislav Sinyagin + + $Id: torrus-report.css,v 1.1 2010-12-27 00:04:04 ivan Exp $ + */ +BODY { + background-color : white; + color : black; + font-family : verdana, arial, helvetica, sans-serif; + font-size : 10pt; + margin : 0; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; + voice-family : inherit, male; +} + +H1, H2, H3 { + background-color : transparent; + color : black; +} + + +H1 { + font-size : 18pt; + font-weight : 900; + line-height : 20pt; +} + +H2 { + font-size : 16pt; + font-weight : 700; + line-height : 18pt; +} + +H3 { + font-size : 14pt; + line-height : 16pt; +} + +A, A:link, A:visited { + background-color : transparent; + color : black; + text-decoration : none; +} + +A:hover { + background-color : #eee; + color : inherit; +} + +*.Header { + background-color : transparent; + border-bottom : 0.5pt solid black; + border-left : 0 solid black; + border-right : 0 solid black; + border-top : 0.5pt solid black; + color : black; + font-size : 9pt; + font-weight : 700; + margin : 5pt 0 10pt; + padding-bottom : 0; + padding-left : 10pt; + padding-right : 0; + padding-top : 10pt; +} + + +DIV.CurrentTime { + float: right; + font-size : 9px; + text-align: right; +} + +*.Content, *.SingleColumnContent { + margin-bottom : 0; + margin-left : 5pt; + margin-right : 5pt; + margin-top : 0; + padding-bottom : 10pt; + padding-left : 10pt; + padding-right : 10pt; + padding-top : 10pt; +} + + +DIV.CurrentTree { + background-color : transparent; + margin-bottom : 4pt; +} + + +TABLE.ReportTable { + font-size : 9pt; + border-collapse : collapse; +} + +CAPTION.ReportTable { + font-size : 14pt; + font-weight : 700; + caption-side: top; + padding-bottom : 7pt; + padding-top : 10pt; +} + +TR.ReportHeadRow { + background-color : #999; +} + + +TR.ReportEvenRow { + background-color : #ccc; +} + +TD { + border : solid 1px #aaa; + padding-bottom : 1pt; + padding-top : 3pt; + padding-left : 2pt; + padding-right : 2pt; + width : 10%; +} + +TD.ReportHeadCell { + font-weight : 700; + text-align : center; +} + +TD.ReportCell { + text-align : right; + padding-left : 7pt; +} + +TD.ReportFirstCell { + text-align : left; + font-weight : 600; +} + + +DIV.ReportLegend { + margin-top: 60pt; + margin-left: 10pt; + font-size : 7pt; +} + +SPAN.ReportLegendTerm { + font-weight : 700; + padding-right : 2pt; +} + +*.Footer { + background-color : transparent; + border-bottom : 0 solid black; + border-left : 0 solid black; + border-right : 0 solid black; + border-top : 0.75pt solid black; + color : black; + font-size : 6pt; + margin : 0 0 10pt; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; + text-align : right; + width : 100%; +} + +*.SiteInfo, *.TreeInfo { + padding-left : 5em; +} diff --git a/torrus/sup/webplain/torrus.css b/torrus/sup/webplain/torrus.css new file mode 100644 index 0000000..a20e008 --- /dev/null +++ b/torrus/sup/webplain/torrus.css @@ -0,0 +1,503 @@ +/* + Torrus Renderer stylesheet. + Designed by BlueRobot.com + Modified by Ian Holsman <ian@holsman.net> + Optimised by Stanislav Sinyagin + + $Id: torrus.css,v 1.1 2010-12-27 00:04:04 ivan Exp $ + */ +BODY { + background-color : white; + color : #333; + font-family : verdana, arial, helvetica, sans-serif; + font-size : 11px; + margin : 0; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; + voice-family : inherit, male; +} + +H1, H2, H3, P { + background-color : inherit; + margin : 0 0 15px; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; +} + +H1, H2 { + color : #ccc; +} + +H1 { + font-size : 28px; + font-weight : 900; + line-height : 28px; +} + +H2 { + font-size : 20px; + font-weight : 700; + line-height : 20px; +} + +H3 { + color : #333; + font-size : 18px; + line-height : 18px; +} + +P { + clear : both; /* needed for Opera 6.12 */ + color : #333; + float : none; + font-size : 11px; + line-height : 20px; +} + +A { + background-color : inherit; + color : #09c; + font-weight : 600; + text-decoration : none; +} + +A:link, A:visited { + background-color : inherit; + color : #09c; +} + +A:hover { + background-color : #eee; + color : inherit; +} + +DIV.CurrentPath A:hover { + background-color : #ccc; + color : inherit; +} + + +*.Header { + background-color : #eee; + border-bottom : 1px solid black; + border-left : 0 solid black; + border-right : 0 solid black; + border-top : 1px solid black; + color : inherit; + margin : 1em 0 1em; + padding-bottom : 0; + padding-left : 20px; + padding-right : 0; + padding-top : 17px; +} + + +*.Header A:hover { + background-color : #ccc; + color : inherit; +} + +DIV.LoginInfo { + position : absolute; + right : 1em; + top : 1.5em; + font-size : 9px; + text-align : right; +} + +DIV.LoginInfo SPAN.UserName { + display : block; +} + +DIV.LoginInfo SPAN.Logout { + display : block; +} + +SPAN.Logout A { + font-size : 9px; +} + +DIV.CurrentTime { + float: right; + font-size : 9px; + padding-right: 1em; + text-align: right; +} + +*.Content, *.SingleColumnContent { + display : block; + float : left; + margin-bottom : 20px; + margin-left : 0px; + margin-right : 0px; + margin-top : 0; + padding-bottom : 10px; + padding-left : 10px; + padding-right : 10px; + padding-top : 10px; +} + +*.SingleColumnContent { + padding-right : 0px; + width : 100%; +} + +*.Content { + padding-right : 0px; + width : 70%; +} + +DIV.PathMenu { + background-color : #eee; + border-bottom : 1px dashed #999; + border-left : 1px dashed #999; + border-right : 1px dashed #999; + border-top : 1px dashed #999; + color : inherit; + float : left; + line-height : 17px; + margin-left : 5px; + padding-bottom : 10px; + padding-left : 10px; + padding-right : 10px; + padding-top : 10px; + position : relative; + min-width : 15%; /* does not work in IE6 */ +} + +SPAN.PathElement { + display : block; +} + +SPAN.TreeName { + font-weight : bold; +} + +*.PathMenu DIV.CurrentTree { + font-size : 10px; + overflow : hidden; + width : 150px; /* compensate unsupported min-width in IE6 */ +} + +*.PathMenuHeader { + font-size : 10px; +} + +*.SingleColumnContent DIV.CurrentTree { + padding-bottom : 5px; +} + +*.SingleColumnContent DIV.CurrentTree { + color : inherit; + font-size : 10px; +} + +DIV.Legend { + background-color : #eee; + color : inherit; + clear : both; + float : none; + font-size : 10px; + margin-bottom : 10px; + position : relative; + width : 90%; +} + +DIV.LegendRow { + clear : both; + float : none; + margin-bottom: 2px; +} + +DIV.LegendRow SPAN.LegendName { + font-weight : bold; + text-align : left; + padding-right : 5px; +} + +DIV.LegendRow SPAN.LegendValue { + text-align : left; +} + +P.Variables SPAN.VariableName { + font-weight : bold; +} + +DIV.Monitors { + clear : both; + float : none; + font-size : 10px; + margin-bottom : 10px; + position : relative; + width : 90%; +} + +SPAN.MonitorName { + padding-left: 20px; + padding-right: 20px; +} + + +DIV.Listing { + clear : both; + float : none; + font-size : 11px; + margin-bottom : 10px; + width : 90%; +} + +*.ListRow, *.ListRowEven { + clear : both; + margin-top : 3px; +} + +*.ListRowEven { + background-color : #eee; +} + +*.ListRowEven A:hover { + background-color : #ccc; + color : inherit; +} + +DIV.Listing *.NodeName { + display : block; + font-weight : bold; + padding-left : 10px; + text-align : left; +} + +DIV.Listing *.NodeDescr, DIV.Listing *.TokensetDescr { + display : block; + padding-left : 30px; +} + +*.RecursiveListRow { + clear : both; + margin-top : 3px; + margin-left : 20px; + margin-right : 2px; + padding-bottom: 2px; + border: 1px solid #eee; +} + + +DIV.ShortGraph *.NodeDescr { + font-weight : 600; + padding-left : 10px; +} + +DIV.Graph, DIV.ShortGraph { + clear : left; + float : left; + margin-bottom : 10px; + margin-top : 15px; + position : relative; + width : 100%; +} + + +DIV.ShortGraph *.NodeName, DIV.ShortGraph *.NodeDescr { + clear : both; + float : none; + font-size : 11px; + width : 100%; +} + +DIV.ShortGraph IMG { + border-width : 0; + border-color : transparent; + clear : both; + float : left; +} + +/* In tokenset display, short graphs are placed in two + columns: left and right */ + +DIV.ShortLeft, DIV.ShortRight { + margin-bottom : 5px; + page-break-inside : avoid; + position : relative; + width : 50%; +} + +DIV.ShortLeft { + clear : left; + float : left; +} + +DIV.ShortRight { + clear : right; + float : right; +} + + +FORM.LoginForm { + color : #333; + font-size : 11px; + line-height : 20px; + width : 50%; +} + +SPAN.LoginTitle { + float : left; + width : 20%; +} + +SPAN.LoginInput INPUT { + width : 30%; +} + +SPAN.LoginInput INPUT.Remember { + width : auto; +} + + +*.BottomShortcuts { + clear : both; + float : none; + font-size : 11px; + height : 15px; + margin : 25px 0 20px; + padding-bottom : 0; + padding-left : 0; + padding-right : 0; + padding-top : 0; + position : relative; +} + + +*.TopMenu { + font-size : 9px; + padding-left : 1em; +} + +*.BottomMenu { + clear : both; + float : none; + font-size : 9px; + /* height : 15px; */ + margin : 50px 0 0 0; + padding-bottom : 0; + padding-left : 1em; + padding-right : 0; + padding-top : 0; + width : 100%; +} + + + +*.TopMenu A, *.TopMenu A:link, *.TopMenu A:visited, +*.BottomMenu A, *.BottomMenu A:link, *.BottomMenu A:visited { + color: #A1C3CB; + font-size : 9px; +} + + +*.Footer { + background-color : #eee; + border-bottom : 1px solid black; + border-left : 0 solid black; + border-right : 0 solid black; + border-top : 1px solid black; + clear : both; + color : inherit; + float : none; + font-size : 10px; + height : 15px; + line-height : 12px; + margin : 0 0 10px; + padding-bottom : 0; + padding-left : 0; + padding-right : 1em; + padding-top : 0; + text-align : right; +} + +*.Footer A { + font-size : 10px; +} + +*.SiteInfo, *.TreeInfo { + padding-left : 5em; +} + +*.HelpContent { + font-size: 12px; + line-height: 15px; + padding-bottom: 5px; + padding-left: 2em; + padding-right: 2em; + padding-top: 5px; +} + +*.HelpContent P { + font-size: 12px; +} + +*.HelpHeader { + color : #ccc; + font-size : 13px; + font-weight: 800; + margin : 10px 0 10px; +} + +*.HelpFooter { + position: absolute; + bottom: 0; + margin : 0 0 10px; +} + +*.HelpPathHeader { + font-weight: 700; + margin : 10px 0 10px; +} + +*.HelpMessage { + padding-left: 2em; + padding-right: 2em; +} + +*.SetDateDialog { + font-size : 9px; + padding-bottom : 0; + padding-left : 2em; + padding-right : 2em; + padding-top : 0; +} + +*.SetDateDialog FORM { + display : inline; +} + +*.SetDateDialog INPUT { + font-size : 9px; +} + + +*.SearchDialog { + font-size : 9px; + padding-bottom : 0; + padding-left : 2em; + padding-right : 2em; + padding-top : 0; +} + +*.SearchDialog FORM { + display : inline; +} + +*.SearchDialog INPUT { + font-size : 9px; +} + + + +*.ErrorMessage { + color : red; + height : 15px; +} |