Features:
Added a feature in realtime to include or exclude queries based on the search string / regular expression.
Bug fixes:
Purging mechanism was not working properly (this bug was introduced in MONyog 5.57).
Tag/Group names are in alphabetical order now.
MONyog can now "Kill query" on Amazon RDS instances.
The rendering of Dashboard page is further improved.
Bug fixes:
The rendering of Monitors and Dashboard page was slow with large number of servers both registered and selected and when multiple users were connected simultaneously displaying the page. It could take one minute or more in some cases. It is now a matter of seconds.
With a large number of servers registered, editing details for one was slow. Also this could take around 1 minute, and the improvement is in the same range as above.
Event manager’s database (Events.data) is now moved from global level to server level in order to prevent locking problems with a large number of servers. MONyog will migrate data first time it starts after the upgrade.
Fixed a multi-threading issue that in rare cases could crash MONyog while registering more than one server at the same time.
Fixed a rare crash in MONyog while viewing replication tab.
Fixed a rare crash in MONyog while resolving CSOs (“Custom SQL Objects”).
MONyog could fail to send mail alerts if a single mail contained alerts for more than one monitor.
MONyog was showing errors in Query Analyzer, Realtime and Processlist pages when a query contained characters used for specifying HTML tags.
If a registered server was not a slave but marked as such in Advanced Settings .. Replication, MONyog was leaking connections every time it was collecting data and finally connections (from MONyog as well as other clients) could fail due to ‘max_connections’ setting being exceeded.
For MySQL InnoDB-related monitors were showing “(n/a)”. The reason was removal of the ‘have_innodb’ server variable in MySQL 5.6.
Bug fixes:
Fixed a memory leak when reading MySQL server logs through SFTP.
Fixed a multi-threading issue that in rare cases could crash MONyog running on Linux while reading the MySQL error log.
“Apply settings to all the servers with same tags” was not working when data collection was disabled globally.
The fix in 5.55 for indented display of a slave compared to its master was not complete. Proper indentation could still fail.
Bug fixes:
In the replication page a slave was not displaying indented compared to its master as it should if slave and master were running on same host.
Fixed a multi-threading issue that in rare cases could crash MONyog if the Monitors page was viewed simultaneously in multiple browsers.
Stability fixes for issues found during internal stress-testing and code review. No crash, slowdown (‘hang’) or similar was reported due to any of those, but it could theoretically happen under specific and rare circumstances.
Bug fixes:
Sometimes MONyog could hang while editing server’s tag.
Processlist did not show “view query” for prepared statements.
Features:
Added monitors for monitoring a galera-based cluster. These monitors do not display as default but there is a ‘Galera’ monitor group that can be unhidden from Tools .. Manage Monitor Groups.
Bug fixes:
Authentication to SMTP servers could fail with very long passwords. Also authentication with Amazon SES could fail.
When saving a connection MONyog could apparently ‘hang’ for a while.
With a large number of sample points displayed in Dashboard, loading of the page was slow. It could take up to around 1 minute in some cases. Now it is a few seconds.
SSH keys could be ‘forgotten’ after a MONyog restart.
Fixed a rare crash when editing server details.
In the ‘Real Time’ interface the option to EXPLAIN queries did not display in Internet Explorer 8.
For non-admin users, the replication tab was displaying all slave servers instead of showing only those servers which the user has access to.
Internal optimizations, library upgrades etc.
Bug fixes:
When upgrading to MONyog 5.51 admin rights for users with such failed to be migrated. This release fixes this for both users that have already upgraded to 5.51 and those that have not.
Features:
Added a number of monitors and advisors – mostly based on metrics exposed by MySQL 5.5+.
In the ‘Real Time’ interface user may now define the threshold for when a query should be considered slow. Lowest possible setting is 1 second.
In the ‘Real Time’ interface queries are now truncated after 5000 characters. Before it was 1000.
’queries’ and ‘slow queries’ can now be exported to CSV in the ‘Real Time’ interface.
Original query formatting is now retained in 'Real-Time'.
User Manager has added a privilege to allow (or not) to ‘view literals’ in Query Analyzer page for non-admin users. This can be used for blocking access to read sensitive data for such users and still giving them access to use the Query Analyzer.
Multiple saved Real-Time sessions can now be viewed at a time.
Added a ‘thread count’ showing number of currently running threads on ‘Processlist’ page.
Bug fixes:
In the ‘Real Time’ interface displaying large BULK INSERTS was slow.
Logging out from MONyog while ‘Real Time’ was populating could crash MONyog. Linux – and not Windows – was affected.
In the replication overview page MONyog will now show ‘binlog’ file name and it’s position wherever it applies (where binlogging is enabled). Before it was showing only for master servers.
In the Monitors page the percentage of SELECTS did not display. This was unlike INSERTS, DELETES and UPDATES .
A ’Long running query’ email alert has added a note clarifying that when the alert was sent the query may still be running. Before it could be understood like the alert was sent after query had completed.
Features:
Added a new major feature called 'Real-Time' to monitor MySQL. This feature details the top 200 queries, slow queries, locked queries, locking queries, tables, databases, users, hosts and query states in real time. Information is retrieved from MySQL every one second. Queries taking more than 10 seconds to execute are considered as slow queries. Note that MONyog depends on the 'InnoDB Plugin' (optional with recent MySQL 5.1 versions, standard with higher MySQL versions) to get information on locked and locking queries. Refer MySQL docs for more information on InnoDB plugin. Also note that constants listed here are currently 'hard-coded' but we plan to implement user settings. 'Real-Time' is an Enterprise and Ultimate feature.
Optimized Monitors page to retrieve and display data approximately 10 times faster than before.
Added an option to choose verbosity of email notifications. ‘lesser verbosity’ is in particular relevant if you receive mails on a mobile phone or another small handheld device.
Added ’Monitor level’ email-address alert setting. If an email address is specified for a specific monitor, notification will be sent to that particular email-address when the monitor is alertable in addition to the email address specified globally for the server.
Bug fixes:
In the MySQL query log settings page, the 'file path' field for general query as well as slow query log was disabled for MySQL versions lesser than 5.1.6.
Features:
Introduced support for 'native' MySQL SSL-encryption with direct MySQL connections.
MONyog now fully supports IPv6 (Internet Protocol Version 6).
History-trends have been optimized to retrieve data faster than it was before. With large data sets this results in a speed improvement in the range of a factor ~25.
Passwords for MONyog users are no longer stored in clear text. A hash is stored (for admin user in MONyog.ini – for other users in the embedded database). Also MySQL passwords as well as SSH/SSL keys, certificates and passphrases are now stored obfuscated. First time MONyog starts after upgrading from a version using clear text storage it will rewrite passwords etc. to the hashed/obfuscated representation.
Added a Linux counter "Load Average" as exposed by the Linux kernel in /proc/loadavg.
Bug fixes:
Fixed a memory leak with SSH key based authentication.
If HTML tags were a part of long running query, the notification email format was getting distorted.
MySQL connection through SSH tunnel never re-established connection in Sniffer module when the connection failed for the first time.
Filter settings in the sniffer defined on a (MySQL) user with a SPACE character in its name did not work as expected.
UI fixes.
Features:
The MONyog API was rewritten and enhanced with more options. Options now include calls to enable/disable data collection, sniffer, notifications etc. for servers by either specifying a server name or a server tag. The old API calls have been blocked.
Bug fixes:
Notification emails were not being sent when the number of file descriptors used by MONyog exceeded a certain number.
Fixed a bug with the Custom SQL monitor where no data was being displayed in the Monitors page when all the columns retrieved by the Custom SQL were specified as Key Columns.
Increased readability by improving SNMP trap format.
UI fixes and enhancements.
Miscellaneous:
Testing slave connections has been moved
to replication monitoring settings. Prior to this release it was
in ‘MySQL settings’ tab making it necessary for users to switch
between tabs for testing slave connections.
IMPORTANT note:
This release requires a new registration code. Neither the 5.1x nor the pre-5.1x key will work with this. Registered customers will get the new code from our Customer Portal. Please have the new code available before installing. Until MONyog is registered with new keys, it will not be collecting data from your servers.
Features:
Added filter for including or excluding specific hosts and(or) users in Slow log analysis.
Added and modified a few Monitors related to Replication, InnoDB and Security. Most of this utilizes metrics exposed by MySQL from version 5.5 .
Added a preconfigured Custom SQL Object (CSO) for Percona Servers exposing the most written and most read tables.
There is now session-wide persistence while sorting columns in Query Analyzer.
Improved error messages in Query Analyzer and Wayback machine.
Usability enhancements, GUI fixes and internal optimizations.
Bug fixes:
MONyog was not working while behind Apache configured as a reverse proxy. This bug was introduced in MONyog 5.0.
Bug fixes:
Sometimes the default landing page failed to load after a log in. A refresh was necessary. This was introduced in MONyog 5.0.
Closed alerts could reappear in the Monitors page after an unsuccessful data collection and MySQL restart.
IMPORTANT note:
This release requires a new registration code. Registered customers will get the new code from our Customer Portal. Please have the new code available before installing. Until MONyog is registered with new keys, it will not be collecting data from your servers.
Features:
Introduced tag level customization in MONyog Monitors. MONyog tags for servers are now available as MONyog Object Model variable (MONyog.Connections.TagName returns an array of tag names defined for a server). Documentation has examples on how to use it in scripting. Also see the note on ‘Native Javascript properties’ support in next point below.
Native Javascript properties (like length, indexOf, splice etc) are now fully supported in Monitors and Dashboard. Note that ‘indexOf’ is required to check for individual tags from the array exposed by MONyog.Connections.TagName (see point above) in case there is more than one tag.
Optimized Dashboard page to retrieve information faster.
Auto-registered slaves will now have server names as their host names as default.
Auto registering slaves will now assume the SSH host name of the slaves to be same as that of MySQL host. Before this the slaves’ SSH hosts were assumed to be the same as that of the master.
Bug fixes:
On MONyog restart, server edit, SQLite vacuum and Mysql restart there were 2 consecutive data collections with a short time interval. This could skew charts and MySQL metrics. Now MONyog collects data 2 consecutive times only when required - i.e during the first collection and after an unsuccessful data collection.
Exporting charts as PNG exported as JPEG instead in Monitors page. This bug was introduced in MONyog 5.0.
UI fixes.
Miscellaneous:
Increased MONyog session timeout from 30 minutes to 8 hours (the MySQL default).
IMPORTANT note:
This release requires a new registration code. Registered customers will get the new code from our Customer Portal. Please have the new code available before installing. Until MONyog is registered with new keys, it will not be collecting data from your servers.
Features:
In the ‘Disk Info’ page, clicking on a donut chart in the Database level of a server will now drill down to table level.
Query Analyzer’ now has information on Average rows sent & examined while analyzing Slow Query Log. Those options has been hidden in version 5.0 and seen only in “Query details” pop up, now in v5.01 users can view those columns in QA output along with “Query details” pop up.
Comparison of MySQL server configuration of multiple servers side by side is now faster in the 'Server Config' page.
Bug fixes:
The ‘login’ page sometimes did not work in some ‘minor’ IE 8 builds (if not updated with latest patches from Microsoft). Same could happen with Google Chrome that were not up to date. This happened due to ‘Google Gears’ (that is no long part of Chrome). It now will work with all IE8 builds and Chrome from version 9.x (current is 17.x) – also with ‘Gears’.
MySQL server configuration could show incorrect values if MariaDB Servers were compared in the ‘Server Config’ page.
A MySQL server that was a master and a slave at the same time was not showing the slave status in the ‘Replication’ tab even if it was marked as a slave in ‘Register Server’.
In the ‘Replication’ tab of MONyog the display of binlog_do_db and binlog_ignore_db settings were interchanged.
On a fresh installation the default MONyog port was 8888. This was introduced in 5.0. Its now reverted back to 5555.
Sometimes queries could fail to display in ‘Wayback Machine’ interface.
In ‘Monitors’ page – History/Trend view charts did not plot if data series contained ‘(n/a)’ value(s).
Miscellaneous:
Internet Explorer 6.x and 7.x are no longer supported. And actually this should have been announced in 5.0 GA release notes, but it was missed (it was announced in 5.0 beta1 release notes however).
UI Enhancements:
Introduced a left panel that contains the list of servers registered in MONyog, ‘Tools’ & ‘Customize’. The 'List of servers' page has been removed. Users can now select/unselect servers from this panel.
Previously available icons for Edit server/Duplicate server/Diagnostic reports etc now appear as a drop down menu next to each server.
Previously the ‘Customization’ page appeared under ‘Tools’, now it appears as ‘Customize’ on the left panel.
‘Manage changed Monitor/Advisors & Dashboard charts’ are now available as ‘Manage changes’ under ‘Customize’.
‘Manage Custom SQL Objects’ are now available under ‘Manage changes’.
The Global Notifications come on the top right hand corner before the help button.
Pagination in Query Analyzer page. This removes the limitation of 200 queries in the result set.
'Monitors' is now the default landing page.
Features:
Added an option to add users to admin group.
Columns in the replication tab can now be sorted.
Register/Edit server page now has tabbed interface which eases navigation.
Enhancement:
Improved browser level caching.
Miscellaneous:
The MONyog API responses are now in the following JSON format: {“STATUS”: “SUCCESS/FAILURE”, “RESPONSE” : “<Response text>”}
Query Analyzer will now display query text up to 5000 characters. (before it was 2000)
Bug fixes:
Custom SQL Objects (CSO) with a large result set could fail to display content in Monitors/Advisors page.
Specifying the “Key Column” field has now been made mandatory while adding a new CSO. If not specified the CSO will not save.
Small UI fixes.
Features:
This release adds a new major feature to MONyog: Custom SQL Counters and Custom SQL Objects. A Custom SQL Object is an object populated from a user-defined SQL-query returning a result set. It is exposed as a javascript array for defining counters (Custom SQL Counters) in MONyog.
Bug fixes:
If a query contained the literal substring 'connect' MONyog could hang during general log analysis.
MONyog returned a garbage string to the Linux ‘ps’ command.
Drastically improved performance in log analysis if the option to 'replace literals' was selected.
Some of the Monitors/Advisors were not updating in All Time/Current and Delta timeframe.
Bug fixes:
When connected to Linux distributions with a 3.x kernel the information about Disk I/O could fail to display properly in Dashboard and Monitors/Advisors pages of MONyog.
Bug fixes:
Accessing the replication tab could crash MONyog in rare cases with specific replication setups and where SHOW MASTER STATUS returned an empty result.
Fixed an issue where user defined generic (javascript) functions added for use by customizations did not work as expected.
Small UI fixes.
Features:
Added a MySQL replication overview page. Here MONyog shows the replication topology of all registered MySQL servers, as well as SLAVE STATUS and MASTER STATUS where it applies. The display gets updated at user-specified interval. (Note: This is available only in Ultimate version of MONyog)
Added a ‘Wayback Machine’. In this interface a graph displaying - as per user's choice - either of the status variables 1) Threads connected or 2) # of slow queries. The graph displays aggregated values on years/months/days/hours/ minutes depending on the data. If sniffer was running during this interval, aggregated sniffer information will be displayed. Also you can see first and last value of (optionally) all or changed variables aggregated values. The graph is zoomable by selecting a sub-interval with the mouse along with aggregated sniffer and changed variables you can also get point-in-time information by clicking on a point on the graph. When user clicks on a row in the query list of the Wayback machine a pop-up opens with information about thread-id, user and host along with full query.The list of queries in Wayback Machine will not be rendered if there are more than 2000 queries in the time period. There is a user control that can be activated in such case. The reason is that every 1000 queries take around 1 seconds to render on an average desktop system. This also means that we can now display the list of queries before zooming (provided still that there not more than 2000 queries to display). When we do a point in time select of one of the points on the graph, we get a bar chart that displays number of queries.
With this release the dependency on Flash has been removed. Charts are now rendered using a Javascript library. Accordingly MONyog can now be handled from a browser on a device not supporting Flash (such as Ipad). These charts can be exported like was the case with Flash-based charts of previous versions. Conversion to various formats uses a web service.
Bug fixes:
Fixed an issue where MONyog did not logout user successfully.
If the time is set to 12:XX:XX in Custom filter it resets to 00:XX:XX.
Misc:
Instructions to setup MySQL Proxy was added to MONyog interface.
Bug fixes:
The counter for ‘thread cache hit rate’ could display incorrect values.
Authentication with the admin password could fail in some cases on Windows. This bug was introduced in 4.61.
Bug fixes:
In Dashboard & Monitors/Advisors page, the Delta & All-time/Current charts were showing incorrect values when values were plotted per second. This was introduced in MONyog 4.51.
While connecting using SSH with key based authentication in Windows, the temporary file which contains the SSH private key was not being deleted. Before this release, the temporary files could run out of names which made it impossible to create new temporary files and hence the SSH tunnel was not being created.
MONyog now writes default data into MONyog.ini file on all platforms when MONyog starts for the first time. Before this release MONyog for Linux did not write default data into MONyog.ini file.
Fixed a crash occurring when there was no data directory path mentioned in the MONyog.ini file.
Features:
MONyog is now bundled with a bunch of useful dashboard charts which can be enabled/disabled from the ‘manage dashboard charts’ in the Dashboard page. These charts can even be re-orderd.
Added an option to ‘Alert on change in server configuration’. These alerts in the form of email's and/or SNMP traps are sent by MONyog whenever MONyog detects a change in the server variables using SET GLOBAL statements or in the MySQL configuration file.
Added an option to copy/duplicate advisors. This is available when clicked on an advisor in the 'Monitors/Advisors' page.
Bug fixes:
Export as CSV in the 'Monitors/Advisors' page was showing '0' for some of the advisors when the group to which they belong was disabled.
GUI fixes, including an issue where clicking a ‘next’-link in the ‘register server’ page did nothing.
Features:
This release focuses on improving performance of the MONyog built-in HTTP daemon. You will find up to 10 times performance improvements for most MONyog pages. This has been achieved by internal code optimizations, use of compression (if browser supports) and minification/optimization of HTML, Javascript, CSS and graphics.
Bug fixes:
Prepared statements were not handled properly by the Query Analyzer.
Events (as introduced in 4.5) stored in the MONyog embedded database did not purge as specified in the 'retention time frame' setting.
Charts could display decimal numbers with a large number of decimals that made no sense and made charts less readable. We now round to 3 decimals.
Features:
Added an EVENTS overview. An EVENT happens when any counter is changing its status to (yellow) WARNING alert level or to (red) CRITICAL alert level. An ‘alert condition’ (WARNING or CRITICAL) can be temporarily disabled (and re-enabled) for a specific server from the new EVENTS overview page as well as the Monitors/Advisors page. This can be disabled for non-admin users.
Replication slaves can now be automatically registered. MONyog will detect the host/IP of active slaves. MySQL (port,username & password) and the SSH details of the slaves are assumed to be the same as that of its master. Connection details of the slaves can be edited if different from master. A slave will indent with its master in a hierarchy while displaying in the list of servers page. Auto-registering of slaves is also extended to multiple levels. 'Test Connection' in the 'Register/Edit server page' will test the slave connection details of that server in recursion, when 'Auto-register all slaves' is checked.
In the process-list based sniffer there is now an option to alert (using mail and/or SNMP) for long-lasting LOCKs.
Monitors/advisors groups can now be enabled/disabled on a per server basis. Before this release it was only possible to have same setting for all servers registered in MONyog in this respect.
Added monitors/advisors for innodb_force_recovery, log_warnings, log_output, expire_logs_days,
max_binlog_size and flush_time variables.
The standard Linux daemon PID file is now created for MONyog. (If tools like 'Monit' are being used, then the PID file of MONyog would be required.)
Bug fixes:
Padding while exporting slow log as CSV was incorrect.
MONyog could hang while parsing a log file with binary data.
With MONyog running behind a Load Balancer and similar network management system, user login to MONyog could fail.
MONyog could hang while downloading slow or general logs from a server if the server wrote new entries to the log at download-time.
The emails sent by MONyog were missing the date header.
Monitors/advisors page was displaying error for MySQL 5.5.x when Innodb engine was disabled.
Fixed an UI issue with the Group level display of alerts (red/yellow) in monitors/advisors page.
Fixed a bug with the system graphs in the 'dashboard' feature where the graphs were not plotting the current values.
Lots of GUI fixes and small GUI enhancements.
Bug fixes:
MONyog could crash while monitoring hundreds of servers through SSH tunneling with a small data collection interval. (1 or a few seconds)
Charts in the I/O section under Monitor's/Advisors or Dashboard displayed wrong history. (last 14 seconds had the same values as the value in the 15th second)
Sometimes, while analyzing the slow query log, some timestamps contained the default unix time stamp.
If the name of a counter or caption of dashboard chart contained single quotes, the chart displayed "Invalid XML Data".
Filtering while displaying the Sniffer output was not working when there was a change in the filter conditions.
The Linux command 'Service MONyogd status' did not display the correct result.
The 'Processlist page' in MONyog threw 'constraint failed' error when the process ID was a large number.
At times, the 'Query Execution Time' of Query Analyzer displayed incorrect values for the milliseconds field.
MONyog was not closing the file descriptors after reading from MySQL error log (introduced in 4.12) and sending SNMP traps.
Miscellaneous:
Every time MONyog (re)starts it logs "MONyog has started" in MONyog.log.
Bug fixes:
MONyog was leaking memory while connecting through SFTP to analyze Slow/General logs.
MONyog also leaked memory when 'Processlist' page was open.
Stopping of Data collection could crash MONyog.
Sometimes MONyog service could not be stopped gracefully.
MONyog was not able to read the Error log via SFTP for data collection interval less than 25 seconds.
Max open .idb files counter under Innodb-Others group sent a false 'warning alert'. (Yellow light would turn on even though the value of innodb_open_files did not exceed the threshold)
Bug Fixes:
Email alerts or SNMP traps related to counters were not sent. This was introduced in 4.1.
Minor usability fixes.
Features:
Implemented an easy-form based interface for customizing helper functions. Any customization of helper functions or user defined functions being used with earlier versions have to be migrated manually to this version. From this version and onwards a GUI-’conflict resolver’ will guide the users very similar to how it works for customized counters.
MONyog now has an option to apply a group of settings to all the servers with a specific tag. (Please note: New servers registered later with the same tag are not considered)
MONyog logs from now on contain the server name along with error, making it easy to backtrack.
We have automated deleting dump files of size zero.
Earlier multiple alerts for same issue would be sent if the counter was alertable for more than the specified number of data collections. Now we only send once. Settings in register server page has been updated accordingly.
Added an option to change the refresh interval from the processlist page.
Processlist-based sniffer will no longer show the query 'SHOW FULL PROCESSLIST' executed by MONyog (Please note: This only applies to the processlist-based sniffer and not to the processlist page where user has configurable filtering options).
Bug fixes:
Fixed a (SQLite) database lock resulting in failure to update Dashboards and Monitors/Advisors pages.
When SFTP option was chosen to analyze 'MySQL general query log' and SSH was disabled, MONyog used SFTP to analyze the logs with out throwing any error.
Small GUI enhancements.
Resolved crashes found internally.
Bug fixes:
Fixed a performance regression issue (introduced in 4.0) in HISTORY/TREND analysis.
Fixed an issue where Dashboard charts were not always populated properly with ‘old’ data when the Dashboard page was opened. The chart itself and the data-series for the chart are independent data streams which were not always ‘combined’ correctly.
The process-level MONyog stack size on Linux is now always expandable up to 10 MB (Linux kernel default) even if the user has defined another value. We had a report where MONyog would crash with a very low user setting (and this is basically an OS issue and not a MONyog issue).
If a MONyog build with a ‘lower’ license than ULTIMATE was installed ‘on top’ of the TRIAL some ULTIMATE functionalities would still run in the background – but not controllable by user. MONyog continued to collect data internally for counters not applicable to ENT or PRO edition and the MONyog.log would log errors irrelevant for the license model
Bug fixes:
Implemented code that makes OpenSSL (which is used by our SSH library) explicitly thread-safe, thus fixing an issue where specific cryptographic function calls under very heavy load could cause a crash.
Fixed a SQLite corruption issue on Windows due to which MONyog service failed to stop.
If both values for ‘user’ and ‘host’ were filtered in processlist-based sniffer the interface would display NULL for both.
Features:
Compare Configuration: This feature enables the user to compare changes in configuration between two instances of MySQL. Through this feature, the user will gain a greater insight on why one server is performing better than the other as far as server configuration is concerned.
Track Changes: This feature enables users to track changes to my.ini/my.cnf of a MySQL server over a period of time and compare changes between revisions.
Added a new interface for customizing Monitors/Advisors and Dashboard charts requiring less knowledge of JavaScript than what was the case before.
When upgrading an installation with customized Monitors/Advisors and Dashboard charts a 'conflict resolver' will now guide user to either migrate his old changes or discard them.
All cache hit rate related monitors/advisors have been changed to display cache miss rate information as it more relevant when tuning databases. Also the advisor text for these monitors/advisors has been improved.
Bug fixes:
Fixed some issues with specific counters including issues where ‘undefined’ or ‘NaN’ were returned incorrectly.
Graphs in ‘all time’ and ‘delta’ timeframes for the counter ‘Cache Misses’ for as well InnoDB Cache, MyISAM key cache and Query cache groups were not displaying but threw the error “Invalid XML data” (these counters were added in beta 1).
Previously accepted values for the “ChartValue” property in Dashboard charts were “Current” and “Latest”. This has caused confusion since both terms mean the same thing in this context, although technically “Current” refers to the current value of the metric and “Latest” to the “Delta” value. Moreover, the documentation mentions “Actual” and “Delta” as accepted values. To eliminate this confusion, the “ChartValue” property now accepts the values “Current” and “Delta” – “Current” referring to the current value of the metric, and “Delta” to the difference in the metric between the previous two collections.
Monitors/Advisors Customization: The Group Name of a Monitor/Advisor can now be changed only when a new, custom, counter is created; once set it cannot be changed. Changing Group Names of Monitors/Advisors shipped with MONyog is not allowed.
All cache hit rate related monitors/advisors have been changed to display cache miss rate information as it more relevant when tuning databases. Also the advisor text for these monitors/advisors has been improved.
Miscellaneous:
Windows 2000 is no longer supported.
Bug fixes:
Monitors/Advisors on InnoDB Deadlocks were truncating the output message and hence in some cases, users were unable to view both queries involved in the deadlock. This has been changed such that the first 2048 characters of both queries are displayed.
On Windows 7 systems changes to MONyog’s .INI file from external programs had no effect upon restart (as Windows reverted the changes). Now throughout MONyog’s lifetime the .INI file will be locked so that a user may only edit the file manually when MONyog is not running (but users can use the MONyog interface to change any setting while MONyog is running). Any changes made to the file when MONyog is not running will be reflected by it once it is restarted.
If MySQL Error Log monitoring was enabled for a particular server, the first two data collections for that server would cause large network traffic to occur if the MySQL error log was very large. This was because the entire log fie is read in the first collection. Now only the last 1MB of the file is read.
Miscellaneous:
All libraries have been upgraded to their latest versions. Although, from a user-perspective, the changes are minimal, this has alleviated several memory leaks and other performance issues.
This release has been checked in depth with the best leak-detection tools available for both Linux and Windows. All discovered leaks have been fixed.
The cache parameters for the SQLite library have been modified with this release to allow for registering more servers on the same system as before. Before MONyog’s memory usage used to grow continually with time as each open SQLite handle has an associated cache which could grow to any size, irrespective of system capacity. The cache size per handle has been reduced and the total SQLite cache size will never exceed 1 GB with this build.
Bug fixes:
Problem with SQLite where journal files were not being handled correctly leading to corruption of SQLite databases.
MONyog 3.76 (May 2010)
Miscellaneous:
Added a ten server license.
Bug fixes:
Failure to open the SQLite resource DB located in MONyog's installation directory could result in a crash. This crash has been fixed, but note however that MONyog is unable to function without this resource DB and will log an error message and perform a graceful exit.
The Monitor/Advisor "Binary Log" --> "Transactions that got saved in temporary file" displayed "NaN" (JavaScript for Not-a-Number) for non-zero values of the associated MySQL counter.
Miscellaneous:
Internet Explorer 6.2800 on Windows 2000 may hang when trying to display MONyog's interface. The behavior is not seen in the next iteration of IE6.
Bug fixes:
Log analysis could use high CPU if the option to replace literals with a placeholder was not selected and the literal string ' "' (space + doublequote) occurred in the log file.
CSV-export from Query Analyzer only exported 200 rows (the same number as displayed in the browser view). Now CSV-export will export all rows. Also the UI makes it now clear that the browser displays the 200 uppermost rows according to current sort criteria.
An error message regarding an integer overflow could occur in Monitor/Advisors page for some values. The SQLite datatype used could be too short for some specific data.
Login to MONyog could fail if MONyog was running behind a proxy.
Bug fixes:
If SHOW ENGINE INNODB STATUS returned an error that was not privilege-related, MONyog reported MySQL as non-available. That could happen for instance if MySQL was started with --skip-innodb option. This bug was introduced in 3.71 with the support for InnoDB deadlock detection.
A bug in the MONyog startup script could on Linux have the result that MONyog was still reported as running if it had been killed or had crashed.
Features:
The number of builds for Linux has been increased to the double number of what it was before. In addition to the builds based on glibc version 2.3 we now distribute builds based on glibc 2.5. We had a few reports of random crashes (typically occurring up to a few times per week) occurring on recent 64 bit CentOS servers and in one case also a RHEL5. The glibc 2.5-based build fixes this. Although we only had such reports on 64 bit Linux of 'Red Hat Family' we also included 64 bit tar.gz for all Linux platforms and 32 bit RPM builds. The general advice on which build (glibc 2.3-based versus 2.5-based) should be used in every case would be that if glibc 2.5 or higher is available on the system you should use the 2.5-based build. Or simply use the one based on 2.5 if it installs and starts on your system. Upgrading users that are in doubt can continue with 2.3 - based builds if they have no stability issues.
Bug fixes:
When MONyog encountered an SSH error while trying to read a file using SFTP it could crash. This has been fixed.
Redundant "Server Restarted" alerts concerning monitored Linux systems could be sent by MONyog. Now MONyog will notify users only once when a system is restarted, and alert will be sent as soon as MONyog detects it.
When restarting MONyog an error message could be written to the log indicating that an ALTER TABLE SQLite query failed to execute. Technically, it was an issue with a Schema version table in the MONyog database.
Features:
Added a monitor for InnoDB deadlocks (as exposed by SHOW ENGINE INNODB STATUS - statement).
In case of a program crash on Linux, MONyog will save a core dump like the Windows version already does. The dump is saved in .../MONyog/bin folder.
Bug fixes:
EXPLAIN from Processlist page could fail with syntax error due to a missing SPACE character in the statement.
Features:
The MONyog 'admin' user can now create other users having access to a subset of available servers only. For those non-admin users access to edit server settings, to KILL queries and to execute FLUSH STATUS is optional. Also note that only 'admin' is allowed to create/delete server and user registrations.
Monitors/Advisors page can now be exported as CSV.
Some counters in Monitors/Advisors page were rearranged. Details about this:
"Security" and "Excessive Privileges" groups have been moved to the top.
"Table Cache" and "Table Locks" have been merged to a single group "Table Cache & Locks".
"Thread Cache" and "Slow Launch Threads" have been combined to a single group named "Threads".
"Commands" and "Schema Changes" have been merged to a single group "Commands & Schema Changes".
Counters in "Network Traffic" have been moved to "Connection History".
Counters in "Sort Buffers" have been moved to "Misc.".
Bug fixes:
FLUSH STATUS was not working for servers having space(s) in their names.
Warning also displayed when global notifications are disabled.
Duplicate 'Server restarted' messages were sometimes sent when MONyog is restarted.
Miscellaneous:
MONyog is now available in three different editions: Professional, Enterprise and Ultimate (full-featured).
Features:
You can now specify a comma-separated list of users to be ignored/excluded by notify and/or kill actions for long-running queries in 'query sniffer' interface.
Added a 'diagnostic info' icon to servers in 'list of servers' page. Clicking this will generate a report in plain text with the most basic information about the server.
Added an option to stop/start data collection for a server in 'list of servers' page (without opening the detailed pages for this server).
Enabling/disabling data collection from and/or alerting about all servers can be done from tools .. preferences .. maintenance.
Enabling/disabling data collection from and/or alerting about specific servers can be done by calling the MONyog URL with parameters. This can be scripted and scheduled using any standard method available with the OS. Please refer to documentation for details.
Mail alerts will now have a direct link to open MONyog login page.
Added an option to customize colors used in Dashboard.
If global wait_timeout setting for a server is lower than the sample interval we will now increase session wait_timeout setting in order to avoid the MONyog.log to grow with a "MySQL server has gone away" message for each data retrieval.
Bug fixes:
Fixed some issues with validation of user input. For specific data invalid and unusable input could be saved by MONyog. This includes 1) invalid separator between email addresses 2) Entering a decimal where an integer is required.
SMTP return codes were neither logged nor were specific messages displayed to the user based on them.
In history/trends an empty graph would display if server details were wrong. Now proper javascript errors are displayed.
In connection details page for a server the previous/next links would hide with specific menu items selected.
In History/Trends, warning message ("No data found in this range, try changing history range!") didn't show up for the time-frame in which server data collection was disabled.
If Adobe Flash was not installed, the message to "install the latest Adobe Flash Player" was displayed more than once.
Small GUI improvements and fixes.
Bug fix:
When using the option (introduced in 3.6) to alert for long-running queries from the Query Sniffer interface, such long-running query could raise multiple alerts.
Miscellaneous:
Added 'User and Host' information for long running query alert.
Bug fix:
If notifications were enabled, program threads were not always closed properly what ultimately could lead to a program 'hang'. This bug was introduced in 3.6.
Features:
Delayed alert notifications. It can now be defined that a problem must have existed for a number of sample intervals continuously ('in a row') for an alert to be sent. A global setting for each server is available from GUI. For individual counters the global setting can be overridden by defining the RetryOverride (like 'RetryOverride:3') property of the (javascript) counter definition in Tools... Customize interface.
Added counters for monitoring I/O parameters on Linux systems (similar to 'iostat').
Host and user information is added (optionally) to the Query Analyzer output. Note: This option is currently not available for proxy based sniffer.
Duplicate/Clone Server functionality added to GUI.
Added direct link to customize counters from the Monitors/Advisors page.
Grouping of servers: one or more 'tags' can now be specified for a server. In 'register servers' page the list of servers are grouped as per tags. As more tags may be specified for a server, it may appear in more groups. A group established this way can be selected in one operation.
Added an option to send alert if server was restarted between two data retrievals. With managed hosting the MySQL server may be restarted automatically as part of routine maintenance or after a server crash. Knowing when this has occurred can be useful.
Process-list based sniffer now has an option to notify about and kill long running queries.
New and updated counters/advisors.
Added automatic and manual update check.
Bug fixes:
Notifications did not take 'base time' setting and/or 'uptime_since_flush-status' status variable into account.
If SSH setting for retrieving Linux system information were once selected and later deselected again, graphs without any information would appear in Dashboard and in MONyog.log errors were recorded.
Now "busy" icon is displayed while saving/deleting a connection. When MONyog was controlled from a browser running on a remote machine the absence of this could cause confusion about if change had effect.
A garbage string like "0NaN/0NaN/NaN 0NaN:0NaN:0NaN" could be displayed when editing log analyzer filter settings.
With specific settings Dashboard graphs could hide other displayed dialogs.
Notification mails now have information about the value that triggered the alert.
In log analysis a divisor '1024' was use for calculation of 'kilo rows'. Now the divisor '1000' is used.
Exporting charts as graphics did not use a consistent naming convention. Now files will be named 'MONyog_chart_ConnectionName_Chart_Title.file_extension'.
For slave servers process-list options to "Kill", "Copy", "View Query" and "Explain" were not always accessible.
GUI improvements, improved error messages etc.
Miscellaneous:
Added a warning in Disk Info page that the calculation may be expensive. In particular with databases with thousands of objects the calculations may cause unacceptable load.
Default data collection interval is 5 minutes.
Features:
Alerts can now be sent as SNMP traps.
Support for MySQL error log. An alert can be sent when the error log has an entry of type [ERROR] and the error log entry can be viewed in MONyog web interface as well.
Query Analyzer data can now be exported as CSV.
Updated and added advisors.
EXPLAIN/View query from Processlist page will now open in a new browser tab.
Alerts (mails or traps) will now list the IP of the machine running the MONyog instance (request from users who had more than one MONyog instance).
Graphs/charts will now have new colors that make the graphs more readable.
Added next/previous links in register/edit servers page.
Bug fixes:
Lots of fixes for browser-specific issues.
If identical queries were logged from more clients with same timestamp, Query Analyzer/slow query log would only count that query once.
Long BULK INSERTS would not display properly in Query Analyzer if the option to 'replace literals' was selected.
Deleting a server registered as number '0001' did not delete the sniffer.data file for that server.
Windows Vista and higher could warn that MONyog was not properly installed due to lack of an Application Manifest. It was false alarm but now such Manifest is included with the installer.
Bug fixes:
Some queries were not parsed correctly from server logs. Affected queries were queries enclosed in (brackets) and some queries with comments. Known issues still are: 1) queries starting with a conditional comment. 2) queries containing a 'quoted string' with a " ; " (semicolon) followed by a line-break.
Query time could fail to be read correctly from logs.
Fixed a memory issue when parsing logs.
Bug fixes:
More CPU optimizations with processlist-based sniffer.
When installing Windows version a js32.dll - error could stop installation (after waiting a few seconds and clicking 'retry' it installed successfully).
Some counters of YES|NO type had an icon for displaying graph what made no sense.
Bug fixes:
Significant CPU optimization with processlist-based sniffer.
Saving mail settings with Linux version could cause a program 'hang'.
Bug fixes:
Fixed a major memory leak issue in processlist based sniffer. Also some other small leaks were fixed.
Using the option to 'show only changed values' in HISTORY/TRENDS would show an empty result for counters having non-integer values.
On systems running Kaspersky security software 'test connection' could show an empty message box. Kapersky filtered. We have changed the text of the message so that it does not happen now.
Features:
All charts displayed by MONyog can now be exported as PDF/JPG/PNG (from chart context menu).
Query Analyzer will now sort in descending order as default first time (before it was ascending).
Bug fixes:
Validation of connection details was not proper when saving.
In Query Analyzer options that do not apply for sniffer and log files are now disabled where they do not apply.
In Query Analyzer 'show details' did not preserve the original formatting of a query.
Max column in sniffer output in Query Analyzer could show erroneous values in some cases.
Mail alerts sent by MONyog displayed TRIAL at bottom even after registration of MONyog.
Various errors like "ErrCode:-1 ErrMsg:PathMgr::GetExeName readlink failed" could occur in MONyog.log. In some cases the error would cause failure to register.
Sniffer data are purged automatically as per the server 'retention timeframe' setting, but it could also happen that Sniffer data that were not old enough to qualify for purging were deleted automatically. This would result in some queries missing after analyzing.
Wrong error was logged by sniffer if MONyog.lua version 3.0 was used with MONyog version 3.1. However in connection details section, on "Test Proxy", proper error was thrown.
Miscellaneous:
Due to a bug in specific builds of the MySQL proxy version 0.72 (it returns incorrect version) MONyog Query Analyzer will not work with those builds affected. Affected builds include versions for Windows and OS-X (but not Linux where this MONyog release works fine with proxy 0.72). We hope that MySQL will fix this soon, but if not we will consider a patch in MONyog itself.
With Internet Explorer versions 8.0.6001.18783 and higher (latest available for Vista and Win7) exporting graphics will not work. The 'Save' button (a FLASH object) does nothing in those browsers. We will release again as soon as a fix is possible.
Bug fixes:
Fixed a bug when converting timestamp format (human readable timestamp, unix_timestamp) when reading server logs. The bug could result in time being displayed 1 hour wrong in Query Analyzer if server was in a timezone using 'daylight saving time'.
A SQLite database LOCK could prevent access to the 'system' database. Linux Operating System counters would then not be available.
Fixed a GUI issue with IE browser in licensing form page (command button behavior while a command was in process).
MONyog could crash when user saved specific details (port and password) from 'preferences' .
Packaging:
The same binary/installer is now used for any license model (whether TRIAL or whatever number of servers). A license key defines and controls how many servers can be registered. You may retrieve your license key from our Customer Portal. Before installation please ensure that you have registration details available and also soon after installation has completed please connect to MONyog from your browser and enter registration details. This change of packaging concept simplifies the release cycle for us, as there are now much fewer installers that will need to be built and tested.
Also now all distributed builds will run as a TRIAL will run for a month (not till a fixed date) and in the TRIAL period an unlimited number of servers can be registered.
Unfortunately and as a consequence of the changed packaging concept it is not possible to install a 3.1 RPM build on top of a previous version as the file name format (ie. version substring) will need to change to be functional by RPM installers ('rpm' console command and various distribution-specific commands and GUI tools). Previous RPM versions installed must be uninstalled this time before installing 3.1 (but note that previously collected data will still be preserved and available after this). For Windows .exe and Linux .tar.gz builds there is no such issue.
Features:
Added option to purge all stored sniffer data. Also sniffer default settings were changed. Quite a lot of evaluating users experienced an empty report due to previous default settings.
Added support for MySQL Proxy version 0.7.1. A new MONyog.lua script is shipped with this build. The old script must be replaced with this one if you use the proxy-based sniffer option. This new script also works with MySQL Proxy 0.61.
Filtering options were re-arranged in Query Analyzer as per user requests.
Lots of GUI fixes, clarifications, usability improvements etc.
Bug fixes:
On RedHat type Linux 'service MONyogd start' command would sometimes not start MONyog in first attempt if MONyog process had been killed or had crashed.
The mail header of MONyog mail alerts did not handle unicode. Now utf8 encoding is used everywhere.
Miscellaneous:
Do not forget to replace the MONyog.lua script if you use the Query Analyzer with proxy-based sniffing!
RPM users must uninstall previous versions before installing this one!
Bug fixes:
If MONyog user for monitoring a replicating slave did not have 'replication client' privilege', MySQL availability would be shown as 'No' in Monitors/Advisors page (even though 'test connection' was successful).
If mail alerts were enabled, a syntax error in customized javascript could cause a crash.
Charts for a server in Dashboard page would not resume updating after a disconnect and reconnect to that server. A browser refresh was required.
The chart 'popups' from Monitors/Advisors page would not populate with historical data from the MONyog database but only with fresh data sampled.
After sorting in Query Analyzer the expand/collapse state was lost.
Bug fixes:
Query Analyzer did not show correct output when displaying a sorted result. A wrong LIMIT clause was generated when querying the temporary database containing queries.
Fixed a bug in checksum calculation on 64 bit builds. The checksum is used by Query Analyzer for indexing. On 64 bit wrong sort order could result from this.
If SSH-tunneling to a MySQL server had been used and later the setting for 'Use SSH' was changed to "No", MONyog would continue to use SSH tunnel as long as valid tunneling details were available.
Bug fixes:
With SMTP notifications turned "ON" various issues (connection failure, program crash) could occur if SMTP authentication was not used. This bug was introduced with SMTP authentication support in 3.05.
Fixed a crash with SSH tunneling. Only 64 bit build for Linux was affected.
Counters "cache hit rate", "pruned as percentage of inserts" and "queries not cached" reported wrong in 'History/trends' timeframe.
Bug fixes:
Installation on Windows could fail with a js32.dll-related error. Waiting a few seconds and 'retry' would solve this but now the error does not come.
Fixed a 'false alert' related to settings for temporary tables (the error occurred because of comparing an integer with a non-integer).
With slow query logs generated from servers greater than 5.1 Query Analyzer "Max" column would show a value without decimal point if the query count was greater than 1.
Chart pop ups from Monitors/Advisors page would sometimes only populate from next time data was sampled (it was a concurrency issue in code).
32 bit builds for Linux failed to populate the Monitors/Advisors page. This bug was introduced in 3.05.
3.05 TRIAL build for Windows would expire at a fixed date and not after one month as it should.
Features:
SSL/TLS mail encryption is now supported for mail alerts.
Added an option to rebuild MONyog databases. Using this option periodically may result in better performance - including shorter startup time when OS is rebooted. Basically using this option will defragment the database including indexes. It is not possible to provide an 'absolute' advice on how this option should be used. But the larger the databases and the shorter the sample interval the faster there is a chance of fragmentation occurring after a huge amount of INSERTs and DELETEs to the database (note that only with databases files of around 1 GB and larger we have seen the need for this. A 'general' advice could be to execute monthly with large database files).
Improved error messages for Query Analyzer.
Bug fixes:
When "Test Connection" or "Test Path" was clicked MONyog seemed inactive. Now the mouse cursor will change to an 'active state cursor' indicating that MONyog is performing the requested operation.
With query sniffer enabled the 64 bit Linux build could crash. Reports about this include RedHat and Ubuntu Linux distributions with very recent Linux Kernels.
Features:
In case of invalid javascript in a counter definition, MONyog will now tell details about this error.
Optimizations in the handling of the MONyog embedded database. In particular users with a very large retention timeframe setting and rather short sample interval (resulting in large databases) will benefit from that.
Bug fix:
The above will also fix an issue where MONyog seemed to 'hang' when saving connection details for a connection having large database files.
Bug fixes:
The alerts and advisors for slave 'read-only' mode were in conflict. We will now advise for a slave (in production) that 'read-only' mode should be ON (only the replication thread can write) and alert accordingly.
Add/Edit connection failed with connection names using SPACE character.
Proxy connection was not established when proxy was started for a server present in a remote system.
Bug fix:
For 5.1.x server MONyog was not fetching the log details like slow query log and general query log file path in Connection details section.
Features:
The 'query sniffer' can now connect to and retrieve data from a running instance of the MySQL-proxy program used by one or more clients to connect to MySQL. A LUA script for controlling the proxy for use with MONyog is provided with this build. With this sniffer option the SHOW FULL PROCESSLIST statement will not be sent and thus use of 'query sniffer' will not put any load on MySQL.
SSH connections will now attempt more authentication methods in case the first method attempted failed. This will solve problems reported with tunnneling to MySQL on FreeBSD that as per default does not support the full range of SSH authentication methods (and possible similar problems).
Updated advisors. This is a complete and major revamp of advisors in MONyog. It is still in progress (around 80% is finished).
Log Analyzer will expose call statements.
In Log Analyzer ''Rows Sent' and 'Rows Examined' column will be displayed as KBs/MBs.
Connection Details (Connection name, MySQL user, SSH user, SSH tunneling user which are saved in connection details are exposed for customization in Monitors/Advisors. (For instance 'connection name' can be accessed using MONyog.Connections.ConnectionName, 'MySQL user' as MONyog.connections.MySQLUser etc. Please refer documentation for more detailed list of all counters exposed.). Using this option counters can be made specific for specific MONyog connection details. For instance you can have two connections defined to the same server that will display each their set of counters.
MONyog now has an ability to fully utilize the caching abilities of modern browsers. Now when refreshing a page where there is no change there will be almost no network traffic generated and the page will refresh almost instantaneously.
MONyog is able to read microseconds from proxy and if available in slow query log and will (for readability) show in milliseconds.
Sniffer output will now display MAX, first seen time, last seen time, query occurrence %. Also query occurrence % and Lock Time for a query was added to slow query log and query occurrence % for a query was added to general query log displays.
Added an option to execute FLUSH STATUS from inside MONyog.
Bug fix:
Once a connection in connection page was defined ssh = 'yes' for a Linux server and changed on 'no' then the GUI would not update with proper information.
Miscellaneous:
Grouping of queries is now case insensitive for all forms of query analysis.
The browser cache support added in beta2 has been temporary removed. There is a problem with Firefox3 with cache and AJAX (update requests were not sent from a cached page - only current cache content was reloaded). Note that FF3 users who had beta2 installed will need to clear the browser cache after installing this beta3.
Note that the qd.lua script for PROXY-based sniffer has been updated and renamed to 'MONyog.lua'. For use with this MONyog version the old script must be replaced.
Also note that Log Analyzer has been renamed to 'Query Analyzer'.
Features:
This release adds a 'base time' setting in MONyog. This setting (if defined by user) will be used for calculation of uptime-based counters. The reason for this implementation is that if FLUSH STATUS is executed with a MySQL server, specific server status variables will be reset to the same value as would be after a server restart. However the 'uptime' status variable itself is not affected by FLUSH STATUS. And as uptime-based counters will relate the value of cumulative status variables with some initial time, using the 'uptime' variable as the initial time will result in calculation of misleading values if FLUSH STATUS was executed. So to get true uptime-based counters in MONyog with servers that do not support the 'uptime_since_flush_status' variable (and currently only 5.0 COMMUNITY servers from 5.0.37 do - not ENTERPRISE servers and not any other major branch than 5.0 and also not 5.0 before 5.0.37) you will need to define a 'base time' in MONyog greater than or equal to the time where FLUSH STATUS was executed last time. Also you can now discard data older than a specific time by using this setting. Refer to documentation for full details.
Improved the purging logic with the MONyog embedded database. Now also system CPU load is considered and purging operations will be skipped if CPU is high. This is a further improvement to the change in purging logic introduced in version 2.5.
MONyog can now be running behind an Apache server configured as 'reverse proxy'. Before this release MONyog java script was not accessed due to absolute paths, as a result MONyog pages were not displaying properly.
Bug fix:
Fixed high CPU usage in the 'query sniffer' if sniffer "Minimum time taken" value was set to "0" (or left blank).
Bug fixes:
SFTP log downloads used excessive memory on Linux.
Version 2.82 introduced an unresolved dependency with a libcrypt library on some Linux distros (including some CentOS and OpenSuSE distros).
Installation on Windows 2000 could fail due to a dependency on a .dll not standard on this Windows version. Also this was introduced in 2.82.
The status indicator for log downloads could display wrong for large files (> 2 GB).
Bug fix:
SFTP log downloads failed with the Bitvise 'WinSSHD' SSH implementation for Windows.
Bug fix:
Fixed an issue where data collection would continue to fail with 'database locked' error message in the log. We now roll back the query generating the lock and collection can continue (this was reported happening by a single user (only) after MONyog upgrade).
Features:
Added new monitoring module displaying disk usage information for databases and tables.
Display of slow log data in Log Analyzer had added more information (about when query occurred, information about number of rows examined and sent).
Bug fixes:
When a multibyte character was used in a connection name the display would garble and also the connection could not be deleted from GUI.
When connection was not available the caption for counters should display "n/a". Since 2.71 it would instead display a string exposing an internal value (example: "NumCounterWithSeconds").
Bug fixes:
On 64 bit Linux systems running MONyog 64 bit builds queries could be considered identical by Log Analyzer even if they were not.
Authentication failed if the "#" character was used in password.
Bug fix:
Fixed some issues with JSON strings that could prevent objects in the MONyog browser interface to populate with data. Most important 'Monitors/Advisors' page would fail to display if a username contained a doublequote character.
Features:
CPU optimizations in both MONyog (server) process (in particular when 'Monitors/Advisors' page was being viewed) and browser processes (viewing Dashboard could cause high CPU usage in Firefox browser in particular).
Bug fix:
Fixed a dependency with the SSH library that could cause failure to install in Win2K. This was an issue with the updated SSH library introduced with version 2.5.
Miscellaneous:
The RPM installer scripts for Linux was updated in various ways. This solves issues on specific distributions including: 1) Uninstall with the SuSE/YaST 'software management' GUI was not possible. 2) It was not always possible to install on top of a running MONyog service - sometimes it was necessary to stop service manually before upgrading. Also note: when updating from trial to single/multi server or from single server to multi server it is still necessary to uninstall the old version first. And when installing this version any older version will have to be removed with the "rpm -e ..." command in advance (distribution-specific GUI tools may not work with versions before this one, so please use the RPM console command). We apologize for this but there is no other way.
Features:
Log Analyzer code has been completely refactored resulting in better performance and stability and more maintainable code.
The progress indicator for downloads in Log Analyzer page is now a true quantitative progress bar.
Error messages in Log Analyzer were rewritten. Every single possible error is now differentiated by a specific message providing help for the situation.
Bug fixes:
With SFTP connection to the log file selecting "ALL" for log size to be downloaded in Log Analyzer page could have the result that the log file download would last forever.
Analyzing log chunks containing BULK INSERT statements could in special situations cause a program crash.
"Group by" option in history/trends page could deliver incorrect results if MySQL and MONyog were using different timezones.
Fixed a bug with resolvement of time in log analyzer that could result that no queries or less queries than what should be were returned. The most recent queries would sometimes not be shown. Issue was only if log was retrieved with SFTP.
When retrieving logs stored in tables the substitution of literals would fail for binary data .
Installing a RPM multi/single server builds on top of a trial build (and vice versa) resulted in that they were installed in parallel. Also on SUSE MONyog was not registered with the correct run level. The RPM has been updated to fix this.
When downloading a log MONyog would continue to download in the background until end of file even after STOP button was clicked.
In the display of queries from the Processlist page special characters could garble.
Also in Log Analyzer page special characters would not always be identified correctly. This bug also affected records with binary data. Both display and grouping was affected (depending on where those occurred - in plain strings or in identifiers).
Repeatedly switching between sorting and show details for a slow query log in Log Analyzer could in certain situations crash MONyog.
Miscellaneous:
Display of servers is now sorted in the order of the server/connection name. Earlier the internal ID was used for sorting. Also note that now no MONyog restart is required for changing sort order. A connection rename alone will do.
Bug fix:
Depending on the chosen installation environment and the Linux distro, the RPM build might not install 'on top' of a previous installation. Before installing a new version it was necessary to uninstall the previous version. This is a limitation with all RPM builds released till now. From this build and onwards it will always be possible to 'upgrade on top' of a previous version. Note: this was an issue with the RPM installer - not the program binary. There is no change in the binary as such and also no change in the Windows installer and the .gz build for Linux.
Features:
MySQL Server Log Analysis: MONyog is now able to retrieve (completely or partially) the General Query Log and the Slow Query Log (whether stored as files or tables on the server) from the MySQL servers it connects to and analyze them.
Query Sniffer: A 'query sniffer' is implemented that will record a 'pseudo log' on the client (MONyog) side. The sniffer is useful when 'real logs' are not available, but also the sniffer has various filtering options what will sometimes make it more useful than the 'real server logs' also when they are available.
The log analysis component will (whether operating on a 'real log' or a 'sniffer pseudo log') only display identical queries once but print a 'count' for every query. Important information (like execution time, number of instances for this query etc.) will be displayed in a sortable table view.
In the log analyzer 'Filter settings' (not to be confused the filter settings of the 'query sniffer') there further is an option to 'replace literals'. The purpose of this option is to eliminate small differences between 'almost identical' queries. Currently 'quoted strings' and numbers are replaced with the dummy string 'XXX' only. We may extend this feature to support more (like special keywords and functions (like NULL, now()), operators etc.) in the next releases. It will depend on the demand for this as compared to the demand for other features. Also note that the current implementation has the 'imperfection' that also numbers that are not values (like the '1' in identifiers like `column1`) will be replaced.
More Linux system counters added: Counters related to Linux memory (including swap) usage added.
RPM build now supports SuSE and Mandrake/Mandriva Linux distributions.
Bug fixes:
Under specific circumstances the MONyog service would stop very slow.
If network connection was temporarily unavailable the first CPU value after network came back told 100% CPU load.
The temporary files for storing public/private keys are now being created with very restrictive file permission in Linux. So only the owner will be able to read/write these temporary files. Although these files would exist only for a fraction of second, in earlier versions of MONyog other users in the same Linux system could get access to them within that small timeslice.
Fixed an issue with trending where graphs would not always display properly for uptime-based counters.
MONyog.ini file and MONyog database files on Linux are now only readable for user who starts/installs (.gz and RPM build respectively) MONyog (and of course for any user too that was given access by a root user). Before the files were world-readable. This applies to fresh installations only - there is no change with existing installations.
Solved an issue where slow startup could occur if lots of servers were registered (Technical: If MONyog had not been running for a while, large amounts of data could require deletion from the MONyog database. The queries used to identify those data would generate significant I/O at startup. The retention process is now 'smoothed over time' and indexes have been added for more efficient deletions).
Bug fix:
Fixed: The new version 3 release of Mozilla Firefox (now in RC) has a flickering issue with MONyog and the login page did not load correctly in that browser version.
Bug fix:
Fixed: OS monitoring issue in Fedora Core 6 Zod.
Performance improvement:
Earlier MONyog was semaphore intensive. That could result in reaching the 'limit of semaphores that can be created by the kernel' in some systems. MONyog 2.04 will use less semaphores. Another symptom was that a large number of small and zero-size files could be left behind (in system TEMP folder on Windows and in MONyog/bin folder on Linux). This is also solved with this.
Bug fix:
In some situations where SSH connections failed (including if MONyog was not able to connect to MySQL through tunnel, wrong SSH authentication details for tunneling etc.), sockets were not being closed and it could result in that many sockets were kept in CLOSE_WAIT state. (Note: Connections to MySQL not using SSH were not affected!)
Bug fix:
In the 'delta' timeframe CPU load displayed was incorrrect.
Bug fix:
Whenever Dashboard was drawn for the first time or redrawn with new configuration settings all nodes displaying CPU load were erroneously drawn with the latest available value. New values appearing after that were drawn correctly. Only CPU load counter was affected.
Features:
SSH tunneling to MySQL servers.
Analysis of historical data (trends).
Dashboard graph size is now configurable.
You can choose to display x-axis values or not in Dashboard (in 'large' display mode). Also remember that no matter if axis-values are displaying you can retrieve values by pointing the mouse to a node in the charts.
The no. of samples displayed in dashboard is configurable.
Above dashboard settings can be changed from the dashboard page itself.
64 bit binaries for Linux included.
Option to display counters as 'value/sec'.
Reorganized the connection page for better clarity.
Performance improvements.
JavaScript code was 'broken down' to smaller units for easier customization. Every counter group now has its own 'custom' script.
The menu was reorganized and other GUI improvements for easier navigation between the different functionalities.
The 'looks and feel' (of graphics in particular) has been vastly improved.
Documentation/help was updated and reorganized with better structure, more hyperlinks - and also now much more better looking.
Bug fixes:
MONyog would not install on some older Linux distro's (including RHEL3).
In Linux it was possible to start more identically named MONyog instances. This is now prevented.
When stopping MONyog service it could happen that the service was reported to be stopped before the task was complete. Starting service in this situation would return an error. Now it will report 'running' as long as it is not fully stopped.
Fixed an issue with the shell script for non-RPM Linux where it could be reported that service had started when it had not.
Fixed some calculation bugs (affected 'hit rate' and 'percentage of used blocks' counters).
Miscellaneous:
Help/documentation page will open in a separate browser window or tab (depending on browser setting).
'Show All' page was renamed to 'Monitors/Advisors'.
System counters have been renamed to 'Linux counters'.
More details on implementation of SSH-tunneling and History/Trends analysis:
SSH-tunneling: The implementation does (unlike current SQLyog implementation) not start any external process and does not occupy a local port. The performance for this 'home grown' SSH-tunnel wrapper is very high (you may find it faster than direct connection to MySQL on a remote host)!
History/Trends analysis: This is implemented in the 'Monitors/Advisors' page. You can select whatever time interval you want for the analysis. Counters that are UPTIME based (or if you like: CUMULATIVE counters as opposed to SNAPSHOT counters) can be aggregated using SUM function and common time intervals (HOUR, DAY, MONTH etc.). This is semantically similar to the query "SELECT SUM (<counter>) ... GROUP BY <time interval>" (but the real query behind this interface is much more complex of course!).
Installing recent versions on top of 1.1 or earlier could disable connection to the OS (not to MySQL) of servers already registered (this bug was introduced when we started supporting key authentication with 1.5).
Alert icons (red and yellow circles) were disappearing from the group in 'Show All' interface if the user clicked the next group.
Bug fixes:
Adding a server with notification enabled was storing wrong information in the 'connection.data' configuration file. After a restart of the MONyog service the wrong information that was read from that file would cause notifications to stop working. Note that if a connection was configured in 'two steps' where notification settings were added to an existing connection there was no error.
Fixed a memory leak occurring with public/private key authentication when connection was unsuccessful (server not available, invalid key pair etc.).
The shortcuts installed by MONyog installers now point directly to '127.0.0.1' (and not 'localhost'). This solves an issue with firefox on Windows Vista where resolution of the URL 'localhost' was very slow.
Features:
Major speed improvements (in both data collection and as regards browser responsiveness).
Private/Public key authentication is now supported with SSH connection to remote hosts. Key format must be OpenSSH standard key format - special formats (like the one used by the 'Putty' program) are not supported.
Added security-related counters and advisors.
Added counters and advisors for schema and table operations.
PROCESSLIST display will not by default 'filter out'. A button has been added in the 'Change Filter' dialog to switch between a non-filtered result and the (old) filtered result for the PROCESSLIST page.
PROCESSLIST can be paused/resumed.
Default SSH timeout (3 minutes) was replaced with 30 seconds.
Bug fixes:
Fixed some small memory leaks.
Deleting a connection did not remove all the files belonging to that connection.
Fixed a rare issue where browser could report that the page cannot be displayed while saving/editing server details or connection (IE issue only).
Fixed an issue with system counters where 100% CPU usage erroneously could be reported when MONyog started.
Bug fix:
HTML formatting of queries in the PROCESSLIST tab was not correct. As a result display of queries could be truncated.
Features:
Support for SHOW FULL PROCESSLIST - MONyog monitor processes on the servers in real time. Various filtering options for PROCESSLIST are available. Further displays, copy and EXPLAIN (EXTENDED) a running query from inside MONyog.
Documentation was updated - including information about the PROCESSLIST feature, up-to-date screenshots etc.
Counters and Advisors - Small adjustments!
Debug DUMP facility - MONyog (Windows version) has an ability to store crash-dumps fit for debugging similar to SQLyog as explained here: Debug facility
Menu rearrangement etc. - or clarity we have decreased the number of menus displaying. Those that 'went away' are available as links or submenus.
Features:
Improved counters and advisors.
Customize page now will show the .js-components that user changed with a red * (star). Note that existing .js-components will be overwritten when you upgrade. The red star will help you to see what you need to back up before upgrading.
Default port is now 5555. With certain names used for the connections there was a conflict with a standard 'rule' of Norton Internet Security when port 9999 was used.
The option to display graphs from the 'monitors/advisors... custom timeframe' interface was temporarily removed.
Bug fixes:
Fixed a crashing bug in mailing section if a .js-component was corrupted.
Adding the option to send mail after registering a server required MONyog service to be restarted.
Features:
A BELL icon displays in the 'Monitors/Advisors' page for alertable counters.
Various small GUI improvements.
Documentation updated with details about system Objects + various small corrections.
Bug fixes:
%age of queries doing full table scan metric was incorrect.
With very small mail interval setting it could occur that selected servers became deselected.
Fixed a bug in the calculation of full table scans.
Bug fix:
Fixes an issue in previous 1.x releases that may result in too early expiry of the TRIAL.
Bug fix:
Replication counters did not display in LINUX builds (both .rpm and .tar.gz).
Additional note on file storage positions and upgrading:
Version 1.0 RC changed the storage position for various files used by MONyog. This release is in this respect identical to 1.0 RC and 1.0.
By default the embedded database is now stored:
Windows 2K/XP/2003: {System_drive}:\Documents and Settings\All Users\ApplicationData\Webyog\MONyog\Data
Windows Vista:{System_drive}:\ProgramData\Webyog\MONyog\Data
... but user can specify another location if for instance she does not want to store on the system disk/partition at all.
Also the monyog.ini file and the log file is now no longer stored in 'program files' file tree (or whatever localized name it has). The storage position is:
Windows 2K/XP/2003: {System_drive}:\Documents and Settings\All Users\ApplicationData\Webyog\MONyog
Windows Vista:{System_drive}:\ProgramData\Webyog\MONyog
Users upgrading from 0.9 who want to use existing data must after installing this version:
Stop MONyog service.
Copy the folders containing databases named with a number like "0001" or "0002".
Start MONyog service.
No such intervention is required when upgrading from version 1.0 RC or 1.0 (unless storage position is changed again, of course!).
Upgrading from versions before 0.9 is not possible. These versions must be uninstalled and installation folder deleted or this version must be installed to another folder.
Features:
Installs and runs on Windows 2000.
Every counter is available in every timeframe.
User can specify where the embedded database is stored.
Bug fixes:
Retrieval of memory information from Linux servers was broken in 1.0 RC.
Windows version: Solved an issue with a dependency on a .dll file that was reported missing on some systems.
Additional note on file storage positions:
Version 1.0 RC changed the storage position for various files used by MONyog. This release is in this respect identical to 1.0 RC.
By default the embedded database is now stored:
Windows 2K/XP/2003: {System_drive}:\Documents and Settings\All Users\ApplicationData\Webyog\MONyog\Data
Windows Vista:{System_drive}:\ProgramData\Webyog\MONyog\Data
... but user can specify another location if for instance she does not want to store on the system disk/partition at all.
Also the monyog.ini file and the log file is now no longer stored in 'program files' file tree (or whatever localized name it has). The storage position is:
Windows 2K/XP/2003: {System_drive}:\Documents and Settings\All Users\ApplicationData\Webyog\MONyog
Windows Vista:{System_drive}:\ProgramData\Webyog\MONyog
Users upgrading from 0.9 who want to use existing data must after installing this version:
Stop MONyog service.
Copy the folders containing databases named with a number like "0001" or "0002".
Start MONyog service.
No such intervention is required when upgrading from version 1.0 RC (unless storage position is changed again, of course!).
Upgrading from versions before 0.9 is not possible. These versions must be uninstalled and installation folder deleted or this version must be installed to another folder.
Note that this release is a TRIAL build. It has the restrictions that,
Maximum 2 servers can be registered.
It will expire on August 15th 2007.
Before expiry of this beta we plan to release version 1.0 FINAL and publish purchasing and licensing terms.
Also notice that the schema of the embedded database has changed compared to previous versions. With this beta we will not provide a database upgrade script. If you have a previous version installed you must either,
install to another folder.
or uninstall the old version.
Features:
Authentication is in place. MONyog pages can be watched from another machine where MONyog service is running. MONyog pages can be watched from another machine where MONyog service is running.
Two-level alerts (WARNING/CRITICAL).
Mail alerts.
Various timeframes available for display of data in 'Monitors/Advisors'.
Replication counters.
Documentation (1st version) included.
And lots of minor improvements.
Known issues:
Installation on Windows 2000 is (still) not possible (due to a dependency in the SSH library that we use). We hope to fix this soon.
We are aware of some (rare) problems that can occur on Windows Vista including:
Graphs will not populate with old (stored) data.
Pages will not update properly.
Bug fixes:
Fixed a crashing issue while installing the MONyog over existing MONyog installation.
Introduced locks to make thread safe.
Fixed a leak of GDI's (Graphics Device Interfaces). Number of open GDI's would increase and when MONyog was running for very long time, MONyog service could ultimately crash.
Fixed few JavaScript issues.
Bug fixes:
AJAX is now fully implemented in the MONyog main screen.
Improved advisors - in particular regarding the Query Cache.
Fixed all reported (and some non-reported) GUI issues.
Lots of code changes for better structure, performance and maintainability.