Skip to content

Installation

BSOD2600 edited this page May 29, 2017 · 9 revisions

Installation

This section covers some general installation instructions. Detailed OS specific installation instructions are available for Linux-Installation and Windows-Installation

Requirements

Cacti requires that the following software is installed on your system.

  • RRDTool 1.3 or greater
  • MySQL 5.1 or greater or
  • MariaDB 5.5 or greater
  • PHP 5.5 is highly recommended for advanced features. However, 7.1 is presently not supported!
  • A compatible Web Server e.g. Apache, NGINX or IIS

The Cacti installer will make several checks to insure that Cacti installs smoothly, this includes checking for all mandatory and highly recommended modules, recommended MySQL and MariaDB settings, access to MySQL timezone databases, etc. The Cacti installer will not continue until you have properly configured Cacti. Therefore, the likelihood of installation failures in this release. We shall include the information below for reference only as the Cacti installer will not proceed until you have fixed any issues.

PHP Modules

The list of required Cacti modules has increased from prior releases due to the additional functionality of the Cacti 1.0 product. The required modules include:

Linux/Unix:

  • posix
  • session
  • sockets
  • PDO
  • pdo_mysql
  • xml
  • ldap
  • mbstring
  • pcre
  • json
  • openssl
  • gd
  • zlib

Windows:

  • com_dotnet (PHP 5.4.5+)
  • session
  • sockets
  • PDO
  • pdo_mysql
  • xml
  • ldap
  • mbstring
  • pcre
  • json
  • openssl
  • gd
  • zlib

Optional Modules

  • snmp
  • gmp

MySQL Configuration

In Cacti 1.0, we provides several recommended settings for the Cacti database. In addition, we are mandating the use of the InnoDB storage engine moving forward with Cacti. If you follow the recommendations provided in the Cacti installer and make those changes before completing your install, you will have greater success with Cacti. For settings like 'innodb_file_per_table', if you do not have this enabled, you must drop and re-create your base Cacti table after restarting the MySQL server with this setting made before completing the install.

In addition, we require the Cacti account to have SELECT access to MySQL's time_zone_name table, and that that table be populated with Time Zone information. Again, the installer will not allow you to proceed until this is completed.

Remote Data Collectors

Cacti 1.0 supports the concept of Remote Data collectors in this version. A remote Data Collector in Cacti is a full Cacti install including a local database. However, that database will include only a subset of information about Devices that are being monitored by the Remote Data Collector. It is required that the main Cacti Server be able to communicate to the Remote Data Collector of the MySQL port as well as through HTTP/HTTPS. The Remote Data Collector requires the same access as well. This means that you will have to add MySQL grants in both directions to fully enable the Remote Data Collector. Again, the Cacti installer will not proceed until such time as the Remote Data Collector can talk to the Main Cacti database server.

You can review the settings for Remote Data Collectors in the config.php.dist file included in the Cacti include folder. Once the Remote Data Collector is installed, you must Edit it in order to populate database and hostname settings to that your Main Cacti server can perform the initial sync of the databases. After you add Cacti devices to the Remote Data Collector you should perform a 'Full Sync' operation to replicate the required table to the remote data collector in cases where the remote data collector goes into 'offline' mode where it will continue to collect data about your devices until the main Cacti database server connectivity is restored.

In subsequent Cacti releases, the detection of devices changes will be automatic. However, that feature was not completed in time for the Cacti 1.0 release.

Multiple Data Source Profiles

Cacti 1.0 supports the concept of Data Source Profiles. The legacy RRA settings have been removed from Cacti. If upgrading, the Cacti upgrade script will detect all Data Source profiles in use and create 'default' named versions of them after install. If you plan on supporting multiple polling intervals in Cacti 1.0, you will need to setup a Data Source Profile to match your collection frequencies and storage requirements. This version of Cacti will help you to properly size your Data Source profiles in order to get the right data retention from your RRDfiles.

At this time, there is no utility to migrate from 5 minute data collection in your existing RRDfiles to any other collection frequency.

Database Session Support

If you are planning on using a load balancer in front of a Clustered active active Cacti install, or would like to use the same sessions for both your local and remote Cacti servers, it will be important to setup Cacti database session management. This is quite easy to do. In the default Cacti config.php.dist, there is a variable called $cacti_db_session. Simply set it to true, and your Database sessions will be completely portable.

Cacti Remember Me Support

Cacti 1.0 includes 'Remember Me' support, when enabled, a user will remain logged in using data from the browsers local storage combined with a token stored in the Cacti database. So long as the user accesses the Cacti server at least once every 90 days, these sessions tokens will remain active, thus simplifying the login process for users. You can enable this support from Cacti's Authentication page under Settings.