| 1 | 1 | simandl | HotSaNIC |
| 2 | | | HTML overview to System and Network Information Center |
| 3 | | | by Bernd Pissny ( hotsanic@bernisys.prima.de / http://www.bernisys.prima.de ) |
| 4 | | | |
| 5 | | | ---------------------------------------------------------------------- |
| 6 | | | |
| 7 | | | HotSaNIC documentation |
| 8 | | | |
| 9 | | | CONTENTS |
| 10 | | | |
| 11 | | | ------------------------------------------------------------------- |
| 12 | | | |
| 13 | | | 1. description |
| 14 | | | 2. requirements |
| 15 | | | 3. configuration |
| 16 | | | 4. starting & stopping |
| 17 | | | 5. web output |
| 18 | | | 6. troubleshooting |
| 19 | | | 7. upgrading |
| 20 | | | 8. tools |
| 21 | | | 9. contacting me |
| 22 | | | 10. credits |
| 23 | | | 11. future plans |
| 24 | | | |
| 25 | | | DESCRIPTION |
| 26 | | | |
| 27 | | | ------------------------------------------------------------------- |
| 28 | | | |
| 29 | | | HotSaNIC (the acronym stands for "html overview to system and network |
| 30 | | | information center") consists of a set of perl-scripts built on Tobias |
| 31 | | | Oetiker's "rrdtool" to generate graphical system-statistics, currently |
| 32 | | | supported platforms are linux (main development) and *BSD. |
| 33 | | | I started to build this tool in december 2000, because none of the |
| 34 | | | existing stats-tools gave me the flexibility and resolution i expected. |
| 35 | | | Most tools had a minimum query-time of one minute, while i use a 10sec. |
| 36 | | | timebase, which shows a lot more dynamics in the graphs. |
| 37 | | | The whole project is built in a modular way to make it quite easy to |
| 38 | | | expand, unused modules may be switched off easily. |
| 39 | | | Another advantage over most existing tools are the very complex graphs |
| 40 | | | which show a lot more details. Most graphs are underlayed with an area |
| 41 | | | that covers the min/max range of samples taken at each time. |
| 42 | | | Quite all important system-stats are supported, more modules are to |
| 43 | | | come on users' requests and ideas. |
| 44 | | | The smallest time span that will be displayed covers the last hour, the |
| 45 | | | longest span diagram covers the last year though all data will be kept |
| 46 | | | for about two years (to have the chance to look further back in time |
| 47 | | | and compare). |
| 48 | | | Additionally there are some tools for debugging and to generate |
| 49 | | | alarm-reports (for example if a given threshold is exceeded) which may |
| 50 | | | be mailed to the system's admins. |
| 51 | | | |
| 52 | | | REQUIREMENTS |
| 53 | | | |
| 54 | | | ------------------------------------------------------------------- |
| 55 | | | |
| 56 | | | Tobias Oetiker's "rrdtool" is needed to run this set of scripts. It is |
| 57 | | | used to manage the databases and generate the graphics. Make sure that |
| 58 | | | the "rrdtool" perl-libraries are installed on your system! |
| 59 | | | At this point i would like to congratulate Tobi, he did a very good job |
| 60 | | | writing this magnificent tool! |
| 61 | | | |
| 62 | | | Since I mainly use Perl5 to sample the data and update the databases, |
| 63 | | | of course this has to be installed on your system, too. But this should |
| 64 | | | not be an issue since most systems already come with full Perl5 |
| 65 | | | support. |
| 66 | | | |
| 67 | | | "convert" from the "ImageMagick" package has to be installed to get |
| 68 | | | full functionality. |
| 69 | | | |
| 70 | | | Some modules require further tools or kernel features to be present. |
| 71 | | | Please refer to the module documentations for more information. |
| 72 | | | |
| 73 | | | CONFIGURATION |
| 74 | | | |
| 75 | | | ------------------------------------------------------------------- |
| 76 | | | |
| 77 | | | All you should need to do for configuring is running setup.pl to |
| 78 | | | generate the start/stop script (called rrdgraph) and the main |
| 79 | | | "settings" file. The setup-script also calls each module's setup script |
| 80 | | | to generate all module-specific settings within the module's |
| 81 | | | subdirectory. After that you should check if the "settings" file in the |
| 82 | | | main directory contains the correct configuration to fit your system. |
| 83 | | | After that you should check the ""settings" files in each configured |
| 84 | | | module's directory and edit it to fit your system. |
| 85 | | | There are plenty of comments into the "settings" files, so they should |
| 86 | | | be quite self-explaining. |
| 87 | | | |
| 88 | | | STARTING AND STOPPING THE DAEMON |
| 89 | | | |
| 90 | | | ------------------------------------------------------------------- |
| 91 | | | |
| 92 | | | Since there are some datasources only the "root" user has access to, |
| 93 | | | best would be to run it as "root". This is simply dome by getting |
| 94 | | | yourself root-permissions and typing: |
| 95 | | | |
| 96 | | | ./rrdgraph start |
| 97 | | | |
| 98 | | | rrdgraph will then begin to initialize itself and to sample data vor |
| 99 | | | each configured module every 10 seconds. |
| 100 | | | |
| 101 | | | To stop the daemon enter |
| 102 | | | |
| 103 | | | ./rrdgraph stop |
| 104 | | | |
| 105 | | | GENERATING WEB-STATISTICS |
| 106 | | | |
| 107 | | | ------------------------------------------------------------------- |
| 108 | | | |
| 109 | | | The images on the statistics pages will be built automatically by |
| 110 | | | HotSaNIC every 15 minutes. If you like to build the graphs more ore |
| 111 | | | less often, you are welcome to decrease or increas the time-base as you |
| 112 | | | like by editing the main settings file. But be careful with too low |
| 113 | | | timespans, because it will use more CPU time (which may be needed for |
| 114 | | | more important tasks ... ). |
| 115 | | | |
| 116 | | | Usually you should not have to worry about anything except the |
| 117 | | | output-directory, which has to be configured correctly (you will have |
| 118 | | | to enter the full path!) in the main settings file. |
| 119 | | | |
| 120 | | | If not yet done, run makeindex.pl to generate all html files. The |
| 121 | | | script will gather every module and build the necessary index-files for |
| 122 | | | your webpage. In case you install a new module, just let HotSaNIC run a |
| 123 | | | couple of minutes to inititalize the plugin's databases. Then you just |
| 124 | | | call makeindex.pl again and it will rebuild all html files. New plugins |
| 125 | | | can be installed quite "on the fly". Just copy it to the "modules" |
| 126 | | | directory and add it to the RUN and SHOW entries in the main settings. |
| 127 | | | |
| 128 | | | "rrdtimer" will call "convert.sh" about every 24h (timebase may be |
| 129 | | | configured in main settings file). This script will generate pictograms |
| 130 | | | on the main index page of your webstats from the actual weekly graphs. |
| 131 | | | This will require "convert" from "ImageMagick" to be installed. |
| 132 | | | |
| 133 | | | TROUBLESHOOTING |
| 134 | | | |
| 135 | | | ------------------------------------------------------------------- |
| 136 | | | |
| 137 | | | In case you encounter any trouble with HotSaNIC, you should check the |
| 138 | | | logfiles for possible errors. |
| 139 | | | Each "settings" file may contain an item "DEBUGLEVEL=<level>" which |
| 140 | | | changes the logging behaviour. Increasing the value will usually |
| 141 | | | increase verbosity, a value less than zero turns off all special |
| 142 | | | information. |
| 143 | | | o How do I solve the "cannot find "RRDs.pm" issue? |
| 144 | | | |
| 145 | | | ------------------------------------------------------------------- |
| 146 | | | |
| 147 | | | You probably forgot to install the site-perl module of rrdtool. |
| 148 | | | |
| 149 | | | If you installed rrdtool from the source files, you just have to do |
| 150 | | | a |
| 151 | | | |
| 152 | | | make site-perl-install |
| 153 | | | |
| 154 | | | If you used a .rpm package, you should check if the RRDs.pm has |
| 155 | | | been installed in the correct places. maybe you used an RPM package |
| 156 | | | which didn't really fit your installation - some pathes may have |
| 157 | | | changed. |
| 158 | | | |
| 159 | | | Or maybe you upgraded PERL, then you also may have to adapt the |
| 160 | | | modules' pathes. |
| 161 | | | |
| 162 | | | o ping module is not working |
| 163 | | | |
| 164 | | | ------------------------------------------------------------------- |
| 165 | | | |
| 166 | | | On some systems the PERL header-files may be missing. This results |
| 167 | | | in the ping-module complaining about something like |
| 168 | | | |
| 169 | | | "Can't locate sys/syscall.ph in @INC (did you run h2ph?)" |
| 170 | | | |
| 171 | | | Linux distributions known to be affected are for example "RedHat |
| 172 | | | 7.2" and "Slackware" |
| 173 | | | |
| 174 | | | The solution would be to do (as root) the following: |
| 175 | | | |
| 176 | | | cd /usr/include |
| 177 | | | find . -name '*.h' -print | xargs h2ph |
| 178 | | | |
| 179 | | | After that everything should run as expected. - hopefully ;) |
| 180 | | | |
| 181 | | | o the graphs don't show up |
| 182 | | | |
| 183 | | | ------------------------------------------------------------------- |
| 184 | | | |
| 185 | | | Maybe you just started the daemon. in that case let it run for some |
| 186 | | | minutes to let the databases be created and filled. Then you may |
| 187 | | | run the "diagrams" script in the main directory to generate the |
| 188 | | | graphs. This is done by the daemon automatically every DTIME (found |
| 189 | | | in the main settings) |
| 190 | | | If just the small graphs on the main page don't show, you have to |
| 191 | | | run "convert.pl" (or "convert.sh") in order to create the thumbnail |
| 192 | | | images. This is done every CTIME. |
| 193 | | | |
| 194 | | | o the thumbnails on the main page are not updating or still don't |
| 195 | | | exist |
| 196 | | | |
| 197 | | | ------------------------------------------------------------------- |
| 198 | | | |
| 199 | | | Maybe you upgraded to v0.3.6 or later ? |
| 200 | | | In the later snapshots of this version the thumbnails moved from |
| 201 | | | the main web-dir to the module subdirs to enhance the overview a |
| 202 | | | bit. You have to call the main "makeindex.pl" to update the html |
| 203 | | | pages once again. |
| 204 | | | |
| 205 | | | UPGRADING |
| 206 | | | |
| 207 | | | ------------------------------------------------------------------- |
| 208 | | | |
| 209 | | | Generally the upgrade process involves the following actions: |
| 210 | | | o stop the daemon |
| 211 | | | o copy the new files over the existing ones |
| 212 | | | o call the main setup script |
| 213 | | | o call each module's update script (if exists) |
| 214 | | | o re-start the daemon |
| 215 | | | However, if you intend to upgrade your HotSaNIC installation, you |
| 216 | | | should check the HotaNIC homepage firt to make sure wich additional |
| 217 | | | steps have to be performed. Maybe you have to check the history as |
| 218 | | | well, in case you update from a very old version. |
| 219 | | | Usually updates run quite smoothly without any further changes. You |
| 220 | | | should do as described above: Stop the daemon first to make sure that |
| 221 | | | no data will be fed into the databases which may lead to some annoying |
| 222 | | | side-effects. Then copy the new files to the corrosponding directories. |
| 223 | | | If some major changes occur, there will be an update script in the |
| 224 | | | affected module which you will have to call. The script will take care |
| 225 | | | the necessary and sometimes really nasty modifications for you. |
| 226 | | | Anyway, if you copy a newer version over a previous one, it's always a |
| 227 | | | good idea to call the main setup script once again. Maybe some new |
| 228 | | | important configuration items have been added since you last upgraded |
| 229 | | | or installed the tool! |
| 230 | | | Oh, and don't forget to re-start the daemon afterwards ;). |
| 231 | | | |
| 232 | | | TOOLS |
| 233 | | | |
| 234 | | | ------------------------------------------------------------------- |
| 235 | | | |
| 236 | | | The "tools" directory contains some useful scripts and add-ons for |
| 237 | | | HotSaNIC. |
| 238 | | | A brief description resides in this directory, some further |
| 239 | | | descriptions may appear in this documentation later. |
| 240 | | | |
| 241 | | | CONTACT |
| 242 | | | |
| 243 | | | ------------------------------------------------------------------- |
| 244 | | | |
| 245 | | | If you encounter further problems or have any questions or new ideas, |
| 246 | | | please contact us via email to: "hotsanic at bernisys dot prima dot de" |
| 247 | | | and we will try to take care of everything. Please put the keyword |
| 248 | | | "hotsanic" and a brief description of your request into the subject! |
| 249 | | | |
| 250 | | | You may also use the project's tracker system on sourceforge.net to |
| 251 | | | report errors, post bugfixes or to request feature enhancements and |
| 252 | | | extensions. |
| 253 | | | |
| 254 | | | CREDITS |
| 255 | | | |
| 256 | | | ------------------------------------------------------------------- |
| 257 | | | |
| 258 | | | At this point i'd like to thank and honor some people who support(ed) |
| 259 | | | me and my project: |
| 260 | | | o Matt Burke and Peter Reich, who are heavily involved in getting all |
| 261 | | | functions running on BSD systems ! |
| 262 | | | o Todd Underwood, who managed to create some RPMs ! |
| 263 | | | o All my trusted friends for being appreciative of my hacking till |
| 264 | | | late in the night ! ;) |
| 265 | | | o Everybody who sent me hints, new ideas, extensions and bug-reports. |
| 266 | | | |
| 267 | | | FUTURE PLANS |
| 268 | | | |
| 269 | | | ------------------------------------------------------------------- |
| 270 | | | |
| 271 | | | Converting the whole shell-script crap to PERL. TODO: makerrd scripts |
| 272 | | | |
| 273 | | | ---------------------------------------------------------------------- |