Cacti functions with any web server which utilizes PHP and MySQL. It's up to the system admin to utilize Microsoft IIS, Apache, or something else.
- Plugins are made to be easy to install, upgrade and remove. Before you can begin to install a plugin, you will need to install the Cacti Plugin Architecture.But once that is done, its all fairly simple.
- Cacti Monitoring for Windows Servers 2 minute read A little over four years ago I spent some time learning cacti and snmp to come up with a good solution to monitor Windows Servers. I had used Cacti several times previous to then, but never found any graphs that I really liked or any that would give me the level of detail that I was looking for.
This video is part of a series that will be responsible for presenting the installation of a Cacti server on a computer running Windows 2008. TUTORIAL: https. Description I've put together an all-inclusive Windows installer for Cacti. It's been tested on Windows 2008R2/2012R2/2016. This is only meant for new installations where you have no existing components installed (i.e. Cacti, MySQL, Apache, PHP). Oct 11, 2013 The Easiest way to install cacti. How to create a 3D Terrain with Google Maps and height maps in Photoshop - 3D Map Generator Terrain - Duration: 20:32. Orange Box Ceo 8,088,869 views. This is the easiest way to install cacti-0.8.8a in windows. Just install file cacti installer for Windows, then cacti and all the needed files will be installed automatically. Thank you who has made the cacti installer.
Microsoft IIS
Install
Configure
Follow:
After following the above guides:
IIS6 has the IIS_WPG user account. IIS7 it's called IIS_IUSRS
- Give the COMPUTERNAMEIUSR_ and COMPUTERNAMEIIS_WPG users Read & Execute permissions to the file C:Windowssystem32cmd.exe. Yes, this can be a large security hole, but it's required so RRDTool can be launched for graphing by the anonymous web account. For slightly improved security, one can specify a separate custom User account which would be used for the /wwwroot/Cacti/ site. Then, instead of using IUSR_ everywhere throughout this document, replace it with the custom User account. This way, only a security vulnerability in Cacti's code could exploit cmd.exe and not all sites on the IIS server.
- Right click on cmd.exe and select Properties.
- Click on the Security tab.
- Select the IUSR_ account
- Click on Read & Execute in the Permissions box.
- Repeat for the IIS_WPG user.
- Click OK.
- Both IUSR_ and IIS_WPG users will also need read permissions on C:Inetpubwwwrootcacti and its subfolders.
- Right click on the folder C:Inetpubwwwrootcacti and select Properties.
- Click on the Security tab.
- Click on Add... under the group or user names section.
- Type in IUSR_ COMPUTERNAME or click Advanced... and Find Now. Repeat for the IIS_WPG account.
- Click OK to close the select users or groups window.
- Select the IUSR_ COMPUTERNAME from the list.
- Select Read & Execute from the Permissions box.
- Repeat for the IIS_WPG account.
- At the bottom of the Security tab, click on Advanced....
- In the Permissions tab, click on Replace permissions entries on all child objects with entries shown here that apply to child objects.
- Click OK.
- Click Yes to the Security warning dialog box.
- Click OK to close the properties window.
- Give the IUSR_ and IIS_WPG users modify permissions to the folders C:Inetpubwwwrootcactilog and C:Inetpubwwwrootcactirra.
- Completely stop and start the IIS service using the following commands from the command prompt. Alternatively, use the Service MMC snap-in under Administrative Tools:
- Install WOFF mimetypes for TrueType Fonts:
Apache
Make sure to stop the IIS web services before proceeding with the Apache installation or make sure Apache is configured on an alternate port.
Install
- Download the latest version from Apache Lounge.
- Make sure to read the Windows specific notes for other Windows tips.
- Extract the ZIP file to C:Apache24
- Edit Apache24confhttpd.conf
- Set ServerRoot
- Set ServerName
- Edit Apache24confhttpd.conf
- Manually run httpd.exe at a command prompt to check for errors.
- Once error free, execute httpd.exe -k install
- Download the latest version of PHP 7.0 from http://windows.php.net.
- Extract the ZIP file to C:PHP
- Add C:PHP to your Windows PATH environment variable.
- The Windows path variable can be accessed via the Control Panel at: System | Advanced | Environment Variables
- In the System Variables groupbox, find Path and click Edit and add: C:PHP
- Add a new system variable called PHPRC. Its value should be: C:PHP
- Add a new system variable called MIBDIRS. Its value should be: C:PHPExtrasmibs
- Rename C:PHPphp.ini-production to C:PHPphp.ini
- Find and then uncomment/modify the following lines in C:PHPphp.ini.
- If using IIS, find, uncomment or add the following lines in C:PHPphp.ini
- If you have had previous versions of PHP installed, you had likely moved the PHP system files to in the Windows directory structure. If so, you will have to remove those files. Please review your PHP installation documentation for instructions on removing those files.
- Verify PHP is functional by running the following at the command prompt:
php -m
If messages with, Cannot find module are appearing, then there is something wrong with the MIBDIRS variable or missing mib file(s) in the PHPExtrasmib folder.
Configure Permissions
- Change NTFS permissions on C:PHPUploadtemp and C:PHPSession to grant Modify rights to the IUSR_ and IIS_WPG users for only files in the directory.
- Give the user who will be running the scheduled task, Modify rights to: c:phpextrasmibs.index
MySQL 5.6 / 5.7
Windows 10 Installer
- Download the latest Generally Available MSI Installer from MySQL.com.
- Launch the MSI
- Agree to the license
- Setup Type - Select Server only
- Click Execute and wait until the installation has completed.
- Click Next to begin the Product Configuration
- Type and Networking Page:
- Config Type: Server Machine
- Connectivity: Leave the defaults selected (TCP, Port 3306, Open Firewall port for network access)
- Enable Show Advanced Options
- Click Next.
- Accounts and Roles Page:
- Specify a root password
- Skip the User Accounts section
- Click Next.
- Windows Service Page
- Leave all defaults enabled
- Click Next.
- Plugins and Extensions
- Leave all defaults disabled
- Click Next.
- Advanced Options
- Enable General Log
- Enable Slow Query Log
- Click Next.
- Apply Server Configuration page
- Click Execute.
- Validate all steps are green and were successful.
- Click Finish
- Click Next through the remaining screens.
Install TimeZone Database
- Download TimeZone (POSIX standard) database from: http://dev.mysql.com/downloads/timezones.html
- Extract file
- Import:
c:> mysql --user=root --password mysql < C:downloadstimezone_posix.sql
- Validate it works. The two queries below should return the same result in the form of central US time 2007-03-11 01:00:00
Install Cacti Database
- Create the MySQL database:
c:> mysqladmin --user=root --password create cacti
- Import the default Cacti database:
c:> mysql --user=root --password cacti < C:Inetpubwwwrootcacticacti.sql
If you get any errors during this phase, you likely have sql-strict mode enabled or something else misconfigured in my.ini!
- Create a MySQL username and password for Cacti.
If you plan to use any hosts with SNMP v3 support, you must install the Net-SNMP binaries, since the PHP SNMP extension does not handle SNMPv3. You do NOT need to install/use the Net-SNMP SNMP agent. The Microsoft SNMP agent is recommended. The Net-SNMP binaries are useful when creating custom scripts, as they provide an easy way to query SNMP data from devices.
- Download from net-snmp.sourceforge.net
- Run the installer:
- Select the Net-SNMP agent service With Windows Extension DLL Support
- Uncheck Net-SNMP Trap Service
- Uncheck Perl SNMP Modules
- Select Encryption support
- Specify Destination Folder: C:Net-SNMP
Validate
- From a command prompt run:
C:>snmpwalk
If there are no errors, it's properly installed.
- Download the latest version from Github or www.cacti.net
- Extract the ZIP file to the root of your web server directory:
- IIS: C:Inetpubwwwrootcacti
- Apache: C:Apache24htdocscacti
Configure Cacti
- Open a web browser to http://localhost/cacti/
- Follow the Installation Wizard
Configure Scheduled Task for Poller
You are going to need to schedule a task while logged on as an Administrator. This task is required for the Poller to run every 5 minutes. Make sure the Task Scheduler service is started and follow the steps below to begin.
- Open Task Scheduler
- Create a new Task
- General Tab
- Name: Cacti Poller
- Security Options:
- Specify the user/service account the task will run under.
- Select Run whether user is logged on or not
- Triggers Tab
- Create a new trigger.
- Select Daily
- Reoccur every: 1 days
- Repeat Task every: 5 minutes for a duration of Indefinitely
- Select Enabled
- Click OK
- Actions Tab
- Create a new action.
- Program: C:PHPphp.exe
- Argument: C:cacti_web_rootpoller.php
- Start In: C:cacti_web_root
- Conditions & Settings Tabs
- Configure per your IT standards.
- Click OK to create the Task.
Spine is a high speed poller replacement for cmd.php. It is almost 100% compatible with the legacy cmd.php processor and provides much more flexibility, speed and concurrency than cmd.php
Often, the latest compiled binaries of Spine can be found here: http://www.cacti.net/downloads/packages/Windows/. Alternatively, you can compile Spine with Cygwin yourself. Refer to the documentation https://github.com/Cacti/spine/blob/develop/README.md
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.
Cacti Windows Template
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 Windows Installer Windows 10
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.