Syweb is a frontend to symon/symux. Syweb was built to deal with:

1. different users' needs
2. chrooted environments
3. caching of recently drawn graphs
4. complex rrdtool graphs without big urls
5. wildly varying graphs/layouts that users want to see
6. wildly varying metrics users want to export to other tools

Each of the above will be described in short below.

1. Different users' needs

Most behaviour can be customised by changing the default settings in
'setup.inc'.

2. Dealing with chrooted environments

While in the chroot syweb needs to spawn rrdtool to draw graphs. For this to
happen, rrdtool and everything that it depends on have to live somewhere in
the chrooted directory space. This can be accomplished by using the supplied
install_rrdtool.sh script.

3. Caching of recently drawn graphs

All graph parameters together are used to make a cache entry where that
particular graph can be found for the next cache timeout seconds. Look at
setup.inc to change cache timeouts. The cache itself must be located under the
chroot ideally out of reach for browsers. E.g. /var/www/symon/cache.

4. Complex rrdtools without big urls

The recipe for a graph (the entire rrdtool commandline) is stored in the cache
until someone requests that particular graph. Graphs are uniquely identified
using the md5 hash of their graph parameters. This means small urls that any
browser can support.

5. User layouts

User layouts are files that contain recipes for a screen layout. I use layouts,
for instance, to make experiments pages. They give me the ability to make once
off rrdtool graphs that do not move in time that highlight a particular
experiment. Layouts can also be used to group all network interfaces on one
page, only show the cpu usage of zeus and belial, etc. Take a look at the
layouts in the contrib directory and at the layout that gets generated when you
run configtest.php.

6. Export metrics

rrdtool data can be exported as json metrics for use in other tools. syweb
supports the definition of metric templates, in the same manner as graph
templates. The default metric templates show also show how a number of rrdtool
files can be combined to report a single item, for instance when reporting
about many cores.