So, this is not 100% finished yet as it does not currently work with the Remote Agent. However needed some testers.
This change also deprecates Script Server calls being called without the proc_open() command which was a requirement from the early 2000's for a PHP version I don't even remember.
The change also improves logging when creating graphs via automation.
Lastly, marking #3572 as resolved as it was resolved in another fix over the weekend.
* Moving all argument composition for backgrounded calls of php to 'assemble_php_args()' in /lib/functions.php.
* lib/functions.php: Explicitely prepending all assembled arguments.
* lib/functions.php: Removing an accidental appending of the initial args in assemble_php_args().
* Introducing the prepending of the current php.ini file, if any, to the extra arguments of backgrounded php calls (used with exec_background).
This enables the backgrounded process to stay in the same environment as the main one and not default back to a system wide default configuration file (which might or might not have configurations setup properly).
* Prepending the current php.ini in use (if any) to any exec() or shell_exec() call, that is doing a backgrounded call of the php executable.
* graph_realtime.php: Fixing missing whitespace between executable and first argument.
- Poller issuing WARNING with little way to diagnose
- This change will remove bad items first from the poller cache
- It adds a new option to filter Data Sources with a Status of Bad Index
- It issues a waring every few hours of the prescense of Bad Index in
the system.
The warning threshold may be excessive. Will have to see as in large
installs indexes can get bad all the time.
This allows the row format to be dynamic only when the
innodb_file_format is Barracuda, and corrects a bug in detecting MySQL
vs. MariaDB in the version string.
The code will now spawn a background command to attempt to verify the environment at CLI level before adding the Web enviornment into the returned array, before returning the combination.
The only thing left is to ensure that automation is run when you are
running re-index from the main Cacti web site. Also, to determine how
automation should run in batch mode since the re-indexing is not
preforming this in the background on the remote data collectors.