Archive for the ‘PHP’ Category
I’ve released version 1.1.5 of my improved Cacti templates for MySQL and other components of a LAMP application. This is a pure bug-fix release. One of the bug fixes prevents spikes in graphs, but requires you to rebuild your RRD files. There are upgrade instructions on the project wiki for this and all releases. Use the project issue tracker to view and report issues, and use the project mailing list to discuss the templates and scripts.
The full changelog follows:
2009-12-13: version 1.1.5 * Support for getting slave lag via mk-heartbeat was broken (issue 87). * The memcached stats command hung because it lacked "quit" (issue 65). * The COUNTER data type caused spikes; switched to DERIVE instead (issue41). * LOCK WAIT in an InnoDB transaction could cause an error (issue 91). * The cache file name didn't include the MySQL port (issue 82). * Added the -q option to the SSH command to quell missing homedir warnings. * The --port option to the MySQL templates could not be null. * The log_bytes_flushed and log_bytes_written were renamed (issue 81).
I’ve released version 1.1.4 of my improved Cacti templates. Unlike the prior release, which was solely bug fixes, this one includes new graphs in the MySQL template. Some of the graphs are of data that’s exposed in standard MySQL versions, but some of it is available only in Percona’s high-performance builds of the MySQL database server. If you don’t have a Percona build, those graphs will just contain nothing, but there is no detrimental effect.
This template release is fully backwards compatible with the previous release. The upgrade process is to copy the new PHP file into place and import the new template file. You can then add the new graphs to your hosts.
I’ve also taken the opportunity to address many of the other open issues. Most of these were minor, such as a debug log to help troubleshoot. Some are big improvements, such as no longer using GET_LOCK() in MySQL to arbitrate access to the cache file. A list of open issues can always be found at http://code.google.com/p/mysql-cacti-templates/issues/list.
To ease the process of future upgrades, I’ve also added in a gratuitous GPRINT definition, which is unused and merely records the installed version of the template (both the template version, and the version of the PHP file against which it was generated).
The full changelog follows.
2009-10-25: version 1.1.4 * Changed SSH options so host keys are accepted automatically (issue 68). * Parsing of the pending_ibuf_aio_reads property was broken. * Parsing of the pending_aio_log_ios property was broken. * Parsing of the pending_aio_sync_ios property was broken. * Added a debugging log for ss_get_mysql_stats.php (issue 54). * Added the --lint_check option to make-template.pl (issue 80). * Removed the use of GET_LOCK() and changed to flock() instead (issue 78). * The template and script version is now recorded in a GPRINT (issue 79). * Restored unflushed_log, which was accidentally deleted in 1.1.3. * Added the InnoDB Internal Hash Memory Usage graph (issue 75). * Added the InnoDB Checkpoint Age graph (issue 73). * Added the InnoDB Insert Buffer Usage graph (issue 74). * Added the InnoDB Active/Locked Transactions graph. * Added the InnoDB Memory Allocation graph. * Added the InnoDB Adaptive Hash Index graph. * Added the InnoDB Tables In Use graph (issue 32). * Added the InnoDB Current Lock Waits graph. * Added the InnoDB Lock Structures graph (issue 32).
I’ve just released version 1.1.3 of the Cacti templates I wrote for MySQL. This is a bug-fix release only, and affects only ss_get_mysql_stats.php. To upgrade from the previous release, upgrade ss_get_mysql_stats.php. Don’t forget to save and restore your configuration options, if any. (Note that there is a feature to help with this: you can keep configuration options in ss_get_mysql_stats.php.cnf to avoid making them in ss_get_mysql_stats.php.)
Next up: actual template changes! More graphs!
The changelog follows.
2009-10-24: version 1.1.3 * This is a bug-fix release only, and contains no template changes. * To upgrade from the previous release, upgrade ss_get_mysql_stats.php. * MySQL 5.1 broke backwards compatibility with table_cache (issue 63). * Added a version number to the script (partial fix for issue 79). * Added a test suite (issue 76, issue 59). * Math operations were done in MySQL instead of PHP (issue 25). * SHOW STATUS values didn't override SHOW INNODB STATUS parsing (issue 24). * Long error messages were not appearing in the Cacti log. * SHOW INNODB STATUS parsing for unpurged_txns was broken. * SHOW INNODB STATUS parsing for innodb_lock_structs was broken. * SHOW INNODB STATUS parsing for pending_log_flushes was broken (issue 62). * SHOW INNODB STATUS parsing for pending_buf_pool_flushes was broken. * SHOW INNODB STATUS parsing for pending_ibuf_aio_reads was broken. * SHOW INNODB STATUS parsing for pending_aio_log_ios was broken. * SHOW INNODB STATUS parsing for pending_aio_sync_ios was broken. * Made SHOW INNODB STATUS parsing less sensitive to false positive matches.