Cacti Readme File

REQUIREMENTS:
Cacti should be able to run on any Unix-based operating system with
the following requirements:

PHP 4.3.6+
MySQL 4.1.x or 5.x
RRDTool 1.0.49+ or 1.2.x
NET-SNMP 5.1.2+


PHP Must also be compiled as a standalone cgi binary. This is required
for data gathering in crontab.

Cacti has been successfully run on the following operating systems:

Redhat Enterprize Linux
Fedora Core 4
Fedora Core 5
Fedora Core 6
FreeBSD 4.2
FreeBSD 4.8
FreeBSD 5.x
Windows 2000 Professional/Server
Windows XP Professional
Windows 2003 Professional/Server
Slackware 8.0
Debian Linux
SuSE Linux
AIX 4.3
AIX 5.x
Solaris 9
Solaris 10

A Note About RRDtool:

RRDTool is available in 3 versions, 1.0.x, 1.2.x and 1.3.x, are supported
by Cacti.  Please remember to confirm your Cacti settings for the RRDtool
version if you having problem rendering graphs.

Also important to note in version Cacti 0.8.6h and above, graph items with
no color assigned are now properly presented to RRDTool.  The upgraded
will fix graph items that will cause your graphs not to render, but as
always, please remember to backup before you proceed to upgrade.

A Note About Debian:

Under Debian Linux, the PHP binary is available as the php4-cgi package.
This package creates a separate php.ini, so you must edit your
'php4/cgi/php.ini' file and add line that says 'extension=mysql.so'.

If you get cacti running on other operating systems, please contact me, I
will add the names to the list.

A Note About SuSE 7.3:

The SNMP support that comes with PHP 4.0.6 does not appear to work correctly
under SuSE Linux 7.3. It is recommended that you go to http://www.php.net/,
download the newest source and compile a new PHP-binary with SNMP support.



IMPORTANT INFORMATION ABOUT RELEASE 0.8.7

Major changes to the configuration structure have been made to simplify
upgrades and packaging of Cacti.  The include/config.php file now only
contains the database configuration for Cacti.  All other code that was
in the include/config.php has been moved to include/global.php.  All
include/config_*.php have been renamed to include/global_*.php.

Script server scripts will need to be modifed to include include/global.php
instead of include/config.php.

It is important to note that the command line interface scripts have been
moved to the "cli" directory of the Cacti installation.



COMMAND LINE INTERFACE SCRIPTS

The command line interface scripts are as follows:

  add_device.php - Add devices
  add_graphs.php - Add graphs
  add_perms.php -Add permissions to a user
  add_tree.php - Add graphs to a tree
  copy_cacti_user.php - Copies users
  poller_output_empty.php - Process orphaned items in the poller_output
                            table
  poller_reindex_hosts.php - Cause data query reindex on hosts
  rebuild_poller_cache.php - Rebuilds the poller cache
  repair_templates.php     - Certain templates, when created using the "duplicate"
      function in Cacti, do not import/export well.  This utility repairs 
      those templates.



INFORMATION ABOUT CACTI:

Cacti is a complete frontend to RRDTool, it stores all of the necessary
information to create graphs and populate them with data in a MySQL database.
The frontend is completely PHP driven. Along with being able to maintain
Graphs, Data Sources, and Round Robin Archives in a database, cacti handles
the data gathering. There is also SNMP support for those used to creating
traffic graphs with MRTG.

Data Sources

To handle data gathering, you can feed cacti the paths to any external
script/command along with any data that the user will need to "fill in",
cacti will then gather this data in a cron-job and populate a MySQL
database/the round robin archives.

Data Sources can also be created, which correspond to actual data on the
graph. For instance, if a user would want to graph the ping times to a host,
you could create a data source utilizing a script that pings a host and returns
it's value in milliseconds. After defining options for RRDTool such as how to
store the data you will be able to define any additional information that the
data input source requires, such as a host to ping in this case. Once a data
source is created, it is automatically maintained at 5 minute intervals.

Graphs

Once one or more data sources are defined, an RRDTool graph can be created
using the data. Cacti allows you to create almost any imaginable RRDTool graph
using all of the standard RRDTool graph types and consolidation functions.
A color selection area and automatic text padding function also aid in the
creation of graphs to make the process easier.

Not only can you create RRDTool based graphs in cacti, but there are many
ways to display them. Along with a standard "list view" and a "preview mode",
which resembles the RRDTool frontend 14all, there is a "tree view", which
allows you to put graphs onto a hierarchical tree for organizational purposes.

User Management

Due to the many functions of cacti, a user based management tool is built in
so you can add users and give them rights to certain areas of cacti. This would
allow someone to create some users that can change graph parameters, while
others can only view graphs. Each user also maintains their own settings when
it comes to viewing graphs.

Templating

Lastly, cacti is able to scale to a large number of data sources and graphs
through the use of templates. This allows the creation of a single graph or
data source template which defines any graph or data source associated with it.
Host templates enable you to define the capabilities of a host so cacti can
poll it for information upon the addition of a new host.



