FAQ
General
This area is for user contributed Frequently Asked Questions. They will be cleaned up and added to the Official FAQ
Status Unknown
If the status of your device remains 'Unknown', ensure that you have added graphs to that device.
If there are no graphs, Cacti will not poll the device, and the status will remain 'Unknown'.
How does the Simple Network Management Protocol (SNMP) work?
RRDTool
Initial Graph does not appear
When viewing in tree mode, the initial graph does not show up. When you click on it, the graphs appear fine.
This may be an RRDTool version conflict. Go to Console/Configuration/Settings/General and ensure that RRDTool Utility Version is set to the correct version under Required Tool Versions
— Linegod 2009/10/01 08:09
Can you graph Data Sources (ds) from different RRDs
I know it's kind of a pain to update an RRD to add fields after the fact, so I was also looking at potentially showing data from two different RRDs on a single graph. Is that possible? Marc
Yes, search the forums1) for 'aggregate', or use the Aggregate plugin2)
PHP
Deprecated Warnings
You may see the following errors in Cacti if you install with PHP 5.3.x
PHP Deprecated: Assigning the return value of new by reference is deprecated in /usr/share/cacti/lib/adodb/adodb.inc.php on line 866 PHP Deprecated: Function ereg() is deprecated in /var/www/html/087e/lib/html_validate.php on line 38 Function split() is deprecated in /var/www/html/087e/lib/functions.php on line 1744 Function session_unregister() is deprecated in /var/www/html/087e/lib/functions.php on line 359
From http://php.net/manual/en/migration53.deprecated.php
"PHP 5.3.0 introduces two new error levels: E_DEPRECATED and E_USER_DEPRECATED. The E_DEPRECATED error level is used to indicate that a function or feature has been deprecated. The E_USER_DEPRECATED level is intended for indicating deprecated features in user code, similarly to the E_USER_ERROR and E_USER_WARNING levels."
These are simply warnings for functions that will eventually be unsupported in PHP.
As these have been fixed in 0.8.8, simply following the recommended procedure and do not show these warnings in production systems. Edit your /etc/php.ini and set the following values:
; error_reporting ; Default Value: E_ALL & ~E_NOTICE ; Development Value: E_ALL | E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_DEPRECATED
Restart apache after adjusting the settings.
If for some reason you have no access to php.ini or cannot restart apache, add the following line of code to include/config.php
error_reporting(~E_DEPRECATED);
Time Zone Warning
Similar to the Deprecated Warning, you may see the following warning in your logs
PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /usr/share/cacti/include/global_constants.php on line 156
In this case, simply follow the directions. Set your timezone in /etc/php.ini
; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone =America/Regina
Of course, read http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone , and find your correct timezone.
As always, restart apache after any change to /etc/php.ini
When attempting to run poller.php you get: This script is only meant to run at the command line.
Most likely caused by a misconfiguration in your php.ini file. Make sure the following is set in it:
register_argc_argv = On safe_mode = Off
Graphs
My traffic graphs won't exceed 114 mbit/s
Traffic graphs clip at 114 mbit/s. To resolve this clipping, use SNMP v2c and 64-bit counters.
For now, see this forum post
— Linegod 2009/10/01 08:05
Show exact numbers
In the legend of the graph, you want the full number displayed, not the unit number. ie: 1950 vs 1.95k
Change the Graph Item GPRINT Type to 'Exact Numbers' instead of 'Normal'
What does µ , m , p , etc stand for
-18 a - atto -15 f - femto -12 p - pico -9 n - nano -6 µ - micro -3 m - milli 0 (no unit) 3 k - kilo 6 M - mega 9 G - giga 12 T - tera 15 P - peta 18 E - exa
I don't see any graphs on the main graph page, but when I click on one, I see 4 graphs with data.
This can happen when you have the wrong version of RRDTool selected in Cacti. Set it by going to Settings and applying the proper RRDTool Utility Version.
Windows
How do I stop the command windows from opening every 5 minutes?
This is occurring because your Cacti scheduled task is using the same user account you've logged onto the server with. The recommended fix is have the scheduled task run under a different user account. An unsupported method would be to use VBScript to hide the PHP windows.
Why doesn't Windows return Disk or CPU usage via SNMP?
- Open up the SNMP Service and click on the Agent tab. Make sure all the service checkboxes are marked (they are not by default). Restart the SNMP service.
- Increase the SNMP timeout to 3-5 seconds (yes, this is a longstanding issue with the Windows SNMP agent when fetching disk information)
- Decrease the Maximum OID's Per Get Request.
ERROR: change root is not supported by your OS or at least by this copy of rrdtool.
This error message occurs when you use the Win32 build of RRDTool instead of Cygwin with versions prior to 1.2.15. RRDTool 1.2.30 Win32 build (or newer) is recommended.
All my graphs are blank. Enabling graph debugging reveals a blank RRDTool Says output
This typically occurs when the NTFS permissions on cmd.exe or rrdtool.exe are not set correctly. Both need Read/Execute rights by the web server's user account. Read about the exact details in the installation guide.
How do I get WMI scripts working on remote computers?
There are several things one needs to do to accomplish this:
- Open a hole in the firewall for DCOM. For the Windows XP/2003 firewall, do the following:
- Open up the Windows Firewall control panel
- Click on Add Port.
- Name: DCOM. Port: 135. Type: TCP
- You might need to change the scope of the rule, depending on where you will be remotely querying the server from.
- Start | Run: gpedit.msc
- Navigate to: Computer Configuration | Administrative Templates | Network | Network Connections | Windows Firewall
- Enable the following:
- Allow remote administration exception
- Allow local port exceptions
- Edit WMI security
- Start | Run: wmimgmt.msc.
- Get properties on WMI Control.
- Go to the Security tab
- Click on the Root folder, then the security button at the bottom
- Click on Advanced
- Add the cactiuser account that's going to be used. Assign the following rights:
- Enable Account
- Enable Remote
- Change the Apply onto to to: This namespace and subnamespaces.
- Click OK several times and close the WMI window.
- Edit DCOM security
- Start | Run: dcomcnfg
- Navigate to: Component Services | Computers | My Computer.
- Get properties on My Computer
- Click on the COM Security tab.
- Under Launch and Activate Permissions, click on Edit Limits
- Add the cactiuser account that's going to be used. Assign the following rights:
- Remote Activation
- Click OK and exit.
I'm getting errors with: Warning: fgets(): supplied argument is not a valid stream resource: <filename>
This is most likely due to incorrect NTFS permissions on that file/folder. This prevents Cacti from accessing the file(s) to execute the code.








