hotsanic |
Subversion Repositories: |
Compare with Previous - Blame - Download
HotSaNIC
HTML overview to System and Network Information Center
by Bernd Pissny ( hotsanic@bernisys.prima.de / http://www.bernisys.prima.de )
----------------------------------------------------------------------
HotSaNIC documentation
CONTENTS
-------------------------------------------------------------------
1. description
2. requirements
3. configuration
4. starting & stopping
5. web output
6. troubleshooting
7. upgrading
8. tools
9. contacting me
10. credits
11. future plans
DESCRIPTION
-------------------------------------------------------------------
HotSaNIC (the acronym stands for "html overview to system and network
information center") consists of a set of perl-scripts built on Tobias
Oetiker's "rrdtool" to generate graphical system-statistics, currently
supported platforms are linux (main development) and *BSD.
I started to build this tool in december 2000, because none of the
existing stats-tools gave me the flexibility and resolution i expected.
Most tools had a minimum query-time of one minute, while i use a 10sec.
timebase, which shows a lot more dynamics in the graphs.
The whole project is built in a modular way to make it quite easy to
expand, unused modules may be switched off easily.
Another advantage over most existing tools are the very complex graphs
which show a lot more details. Most graphs are underlayed with an area
that covers the min/max range of samples taken at each time.
Quite all important system-stats are supported, more modules are to
come on users' requests and ideas.
The smallest time span that will be displayed covers the last hour, the
longest span diagram covers the last year though all data will be kept
for about two years (to have the chance to look further back in time
and compare).
Additionally there are some tools for debugging and to generate
alarm-reports (for example if a given threshold is exceeded) which may
be mailed to the system's admins.
REQUIREMENTS
-------------------------------------------------------------------
Tobias Oetiker's "rrdtool" is needed to run this set of scripts. It is
used to manage the databases and generate the graphics. Make sure that
the "rrdtool" perl-libraries are installed on your system!
At this point i would like to congratulate Tobi, he did a very good job
writing this magnificent tool!
Since I mainly use Perl5 to sample the data and update the databases,
of course this has to be installed on your system, too. But this should
not be an issue since most systems already come with full Perl5
support.
"convert" from the "ImageMagick" package has to be installed to get
full functionality.
Some modules require further tools or kernel features to be present.
Please refer to the module documentations for more information.
CONFIGURATION
-------------------------------------------------------------------
All you should need to do for configuring is running setup.pl to
generate the start/stop script (called rrdgraph) and the main
"settings" file. The setup-script also calls each module's setup script
to generate all module-specific settings within the module's
subdirectory. After that you should check if the "settings" file in the
main directory contains the correct configuration to fit your system.
After that you should check the ""settings" files in each configured
module's directory and edit it to fit your system.
There are plenty of comments into the "settings" files, so they should
be quite self-explaining.
STARTING AND STOPPING THE DAEMON
-------------------------------------------------------------------
Since there are some datasources only the "root" user has access to,
best would be to run it as "root". This is simply dome by getting
yourself root-permissions and typing:
./rrdgraph start
rrdgraph will then begin to initialize itself and to sample data vor
each configured module every 10 seconds.
To stop the daemon enter
./rrdgraph stop
GENERATING WEB-STATISTICS
-------------------------------------------------------------------
The images on the statistics pages will be built automatically by
HotSaNIC every 15 minutes. If you like to build the graphs more ore
less often, you are welcome to decrease or increas the time-base as you
like by editing the main settings file. But be careful with too low
timespans, because it will use more CPU time (which may be needed for
more important tasks ... ).
Usually you should not have to worry about anything except the
output-directory, which has to be configured correctly (you will have
to enter the full path!) in the main settings file.
If not yet done, run makeindex.pl to generate all html files. The
script will gather every module and build the necessary index-files for
your webpage. In case you install a new module, just let HotSaNIC run a
couple of minutes to inititalize the plugin's databases. Then you just
call makeindex.pl again and it will rebuild all html files. New plugins
can be installed quite "on the fly". Just copy it to the "modules"
directory and add it to the RUN and SHOW entries in the main settings.
"rrdtimer" will call "convert.sh" about every 24h (timebase may be
configured in main settings file). This script will generate pictograms
on the main index page of your webstats from the actual weekly graphs.
This will require "convert" from "ImageMagick" to be installed.
TROUBLESHOOTING
-------------------------------------------------------------------
In case you encounter any trouble with HotSaNIC, you should check the
logfiles for possible errors.
Each "settings" file may contain an item "DEBUGLEVEL=<level>" which
changes the logging behaviour. Increasing the value will usually
increase verbosity, a value less than zero turns off all special
information.
o How do I solve the "cannot find "RRDs.pm" issue?
-------------------------------------------------------------------
You probably forgot to install the site-perl module of rrdtool.
If you installed rrdtool from the source files, you just have to do
a
make site-perl-install
If you used a .rpm package, you should check if the RRDs.pm has
been installed in the correct places. maybe you used an RPM package
which didn't really fit your installation - some pathes may have
changed.
Or maybe you upgraded PERL, then you also may have to adapt the
modules' pathes.
o ping module is not working
-------------------------------------------------------------------
On some systems the PERL header-files may be missing. This results
in the ping-module complaining about something like
"Can't locate sys/syscall.ph in @INC (did you run h2ph?)"
Linux distributions known to be affected are for example "RedHat
7.2" and "Slackware"
The solution would be to do (as root) the following:
cd /usr/include
find . -name '*.h' -print | xargs h2ph
After that everything should run as expected. - hopefully ;)
o the graphs don't show up
-------------------------------------------------------------------
Maybe you just started the daemon. in that case let it run for some
minutes to let the databases be created and filled. Then you may
run the "diagrams" script in the main directory to generate the
graphs. This is done by the daemon automatically every DTIME (found
in the main settings)
If just the small graphs on the main page don't show, you have to
run "convert.pl" (or "convert.sh") in order to create the thumbnail
images. This is done every CTIME.
o the thumbnails on the main page are not updating or still don't
exist
-------------------------------------------------------------------
Maybe you upgraded to v0.3.6 or later ?
In the later snapshots of this version the thumbnails moved from
the main web-dir to the module subdirs to enhance the overview a
bit. You have to call the main "makeindex.pl" to update the html
pages once again.
UPGRADING
-------------------------------------------------------------------
Generally the upgrade process involves the following actions:
o stop the daemon
o copy the new files over the existing ones
o call the main setup script
o call each module's update script (if exists)
o re-start the daemon
However, if you intend to upgrade your HotSaNIC installation, you
should check the HotaNIC homepage firt to make sure wich additional
steps have to be performed. Maybe you have to check the history as
well, in case you update from a very old version.
Usually updates run quite smoothly without any further changes. You
should do as described above: Stop the daemon first to make sure that
no data will be fed into the databases which may lead to some annoying
side-effects. Then copy the new files to the corrosponding directories.
If some major changes occur, there will be an update script in the
affected module which you will have to call. The script will take care
the necessary and sometimes really nasty modifications for you.
Anyway, if you copy a newer version over a previous one, it's always a
good idea to call the main setup script once again. Maybe some new
important configuration items have been added since you last upgraded
or installed the tool!
Oh, and don't forget to re-start the daemon afterwards ;).
TOOLS
-------------------------------------------------------------------
The "tools" directory contains some useful scripts and add-ons for
HotSaNIC.
A brief description resides in this directory, some further
descriptions may appear in this documentation later.
CONTACT
-------------------------------------------------------------------
If you encounter further problems or have any questions or new ideas,
please contact us via email to: "hotsanic at bernisys dot prima dot de"
and we will try to take care of everything. Please put the keyword
"hotsanic" and a brief description of your request into the subject!
You may also use the project's tracker system on sourceforge.net to
report errors, post bugfixes or to request feature enhancements and
extensions.
CREDITS
-------------------------------------------------------------------
At this point i'd like to thank and honor some people who support(ed)
me and my project:
o Matt Burke and Peter Reich, who are heavily involved in getting all
functions running on BSD systems !
o Todd Underwood, who managed to create some RPMs !
o All my trusted friends for being appreciative of my hacking till
late in the night ! ;)
o Everybody who sent me hints, new ideas, extensions and bug-reports.
FUTURE PLANS
-------------------------------------------------------------------
Converting the whole shell-script crap to PERL. TODO: makerrd scripts
----------------------------------------------------------------------