MONyog 3.6 introduces real-time query monitoring and sniping, better server management, improved alerting and major new features

Sayan Chaliha

Hi,

We are pleased to announce MONyog 3.6 – a major new release. Listed below are the major features included in this release.

Real-time query monitoring and sniping

MONyog provides a whole bunch of tools for finding problem SQL (Slow Query Log, SHOW PROCESSLIST snapshots, MySQL Proxy, etc). These tools are great if you want to find problem SQL in an application and tune those queries. However, using these tools to find problem is almost always a post-mortem exercise. In certain situations you may want real-time notifications for long running queries. MONyog 3.6 gives you exactly that. MONyog can continuosly monitor queries in real-time and send notifications (on Mail or SNMP) for queries that take more than a specified amount of time to execute. You can also specify an option to kill such queries.

Better server management

Several of MONyog’s customers monitor hundreds of MySQL servers using a single instance of MONyog. Managing large number of servers has just gotten a whole lot easier. With tagging, you can categorize your servers into logical groups, and avoid clutter.

Many people had requested the option to add servers programatically. That was one of the primary motivations for documenting the entire MONyog schema. Some customers want to register hundreds of servers quickly without writing any code. For such situations, we introduced the ability to duplicate a connection with a single click. After duplicating a connection, most of the time you just need to change the MySQL IP or Port. You would probably want to retain all other settings.

Improved alerting system

Many users of MONyog have reported that they sometimes receive alerts for insignificant events. And, which is worse, because of this they tend to ignore important alerts! Some of the improvements in the alerting system are:

a) We have introduced the concept of “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

b) You can also choose to be notified when MONyog detects that a problem, which existed previously, has been resolved.

I/O Monitoring for Linux servers

MONyog now provides several monitors on Linux I/O metrics.

Get notified on MySQL restart

We have also added an option to send alerts 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.

Lot of minor features and bug fixes

This release also contains many bug fixes, UI improvements and minor features. You can find the complete release notes in the ‘Version History’ section of MONyog’s Help, available online here.

MONyog customers can download the latest installers from Webyog’s Customer Portal.
To evaluate MONyog, please download the 30-day trials.

We are very excited about this release, and hope that you will like it. We would love to hear from you.

Regards,
Team MONyog


Black Friday / Cyber Monday Deal – 50% off on all products! (valid only till 1st Dec 09, 23:59 PST)

Chirag

Happy Holidays!

Black Friday is back. We are happy to offer a 50% flat discount on all Webyog products. Yes, you read it right, fifty percent flat discount. Hurry up, this offer is valid only till 1st Dec 09, 23:59 PST.

Still using SQLyog Community Edition? Held off buying SQLyog Enterprise Edition? This offer is literally too good to pass up. Its time to own your copy of SQLyog Enterprise with all the PowerTools. Check out what Enterprise Edition has to offer.

Worried about your MySQL server’s health? Monitor it like a PRO. Get MONyog – MySQL Monitor & Advisor. Your MySQL DBA in a box! Check what it has to offer.

Want to extend your maintenance period? Don’t think twice, head right away to Customer Area. On extension, you get free access to all future release of the respective products for one year.

Use coupon code blkfrdy09 to avail 50% discount on all your purchases. Please note that this offer is valid only till 1st Dec 09, 23:59 PST.

Regards,
Team Webyog


MONyog MySQL Monitor 3.6 beta 2 Has Been released

peter_laursen

Changes (as compared to first 3.6 beta) include:

Features:
* 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:
* 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 used 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’.
* GUI improvements, improved error messages etc.
* For slave servers process-list options to “Kill”, “Copy”, “View Query” and “Explain” were not always accessible.

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.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog MySQL GUI 8.18 and 8.2 RC2 Has Been released

peter_laursen

The primary reason for this release are the bug fixes (included with both 8.18 and 8.2 RC2):

* Schema Sync failed to set the auto-increment flag when syncing a table having this flag to a table not having. This bug was introduced in 8.13.
* SMTP authentication and notification could fail with passwords having special characters.
* Solved a crash with Query builder while creating VIEWs.
* INFO tab/HTML format was showing incorrect value for table’s data size having values in Gigabytes.

Additionally 8.18 includes  Bug Fixes already available in 8.2 beta and RC’s:
* The display of the optimized query from EXPLAIN EXTENDED is now truncated to 2 KB. With long BLOB/TEXT data there will need to be some limit.
* Schema Sync will now query Information_Schema for a VIEW definition. MySQL sometimes returns ‘databasename.viewname’ and not just ‘viewname’ when using SHOW CREATE .
* The fix in 8.15 for the issue that Windows Vista and higher could warn that SQLyog was not properly installed was not complete. It could still happen.

Additionally 8.2 RC2 includes:
* Schema optimizer will now throw a warning if table is empty. Also interface now has link to help/documentation.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


SQLyog MySQL GUI 8.2 RC Has Been released

peter_laursen

Changes (as compared to beta 1) include:

Bug Fixes:
* A calculation error could cause export tools to create BULK INSERT statements larger than specified by user.
* Import External Data Tool will now always map any autoincrement type from ODBC sources to a MySQL autoincrement integer. Before this datatypes that could autoincrement on source but not in MySQL (example: a SQL Server ‘decimal autoincrement’) failed to import.
* Now Import External Data Tool will convert SQL Server ‘GETDATE()’ to MySQL ‘now()’. Before this an error occurred at import with GETDATE()’s.
* Schema Sync will now query Information_Schema for a VIEW definition. MySQL sometimes returns ‘databasename.viewname’ and not just ‘viewname’ when using SHOW CREATE.
* Fixed a Object Browser flickering issue when refreshing.
* The fix in 8.15 for the issue that Windows Vista and higher could warn that SQLyog was not properly installed was not complete.  It could still happen.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


Top 10 Things to Know About Amazon RDS

Sayan Chaliha
So you’ve finally caught on with the hype, and you’re seriously considering using Amazon RDS for your database needs. Here are ten things you ought to know before you take the leap:

10. Amazon RDS uses a patched version of MySQL 5.1.38. While several discussions within MySQL forums allude to a growing concern that Amazon may not have the required expertise for upgrading and maintaining patched versions of MySQL, the fact still remains that Amazon has enough resources to just buy them from other vendors who do. The patch enables MySQL to scale dynamically in the cloud, besides adding other features.

9. EC2, EBS, and RDS: Connecting the dots. Amazon RDS DB instances are basically instances of MySQL running on an EC2 platform. Persistent storage (for back-ups, etc.) is allocated in EBS volumes. However, neither can you access the underlying EC2 instance nor can you use S3 to access your stored database snapshots. Taking it a step further, since you do not get access to the native EC2 instance, you cannot install additional software on the MySQL host. This means that you cannot use an agent-based monitoring tool, so think twice before investing in one!

8. No direct access to your DB configuration file. Want to tune your my.cnf/my.ini file? Amazon does not give you direct access to the MySQL configuration file, but instead exposes an API which you could use to achieve the same effect. Read more about DB Parameter Groups here.

7. The maintenance window. You have to define a 4-hour weekly maintenance window (or Amazon will define it for you) within which the management system will roll out patches for MySQL, back up your data, and perform other such maintenance. This could result in a certain amount of downtime of your server (and, probably, that would never be 4 hours, but rather, with the snapshot-based backup system, it would be a matter of minutes where backups are concerned).

6. Snapshot-based back-ups. This feature, dare I say, is by far the most convenient. Your entire database can be backed up in snapshots on demand (extra charges for storage apply), and with the Automatic Backup facility, Amazon promises point-in-time recovery up to the last 5 minutes.

5. Replication is disabled/access to the binary log is disabled. Replication in MySQL may be a little unstable, and human intervention may be required in recovering crashed slaves. So disabling replication seems like necessary evil to ensure high availability of your DB server. But then again, you cannot use replication for scaling out read operations. Given that Amazon promises point-in-time recovery up to the last 5 minutes, you’d expect the MySQL binlog to be enabled. Even if this is true, you have no access to the binlog, and you cannot use tools such as the mysqlbinlog to recover writes to the database between snapshots.

4. User privileges. Sadly, Amazon does not grant SHUTDOWN, and SUPER privileges even to the master user of the DB instance. Not granting SUPER privileges is logically a consequence of not providing direct access to the database configuration. The absence of the SHUTDOWN privilege can be a security risk in rare cases; allowing authenticated users to take the server off-line is the last line of defense against acute security threats. However, without SUPER privilege it is still possible to SET SESSION variables. That is probably an acceptable workaround for the lack of SUPER in most scenarios. Also, GRANT privilege is available so you may add more users with a subset of the master user’s privileges from any MySQL client that is able to connect to the database.

3. Network latency. Now, this is an inherent drawback of all cloud-based systems: What happens when you are located halfway across the globe from Amazon’s cloud data center? The answer: Delayed transmission of data. Add to this the intra-cloud network latency and network-attached storage latency, and you have a significant loss of productive time. This, of course, depends largely on the quality, stability, and speed of your Internet connection: we don’t think there is any reason to question the quality of Amazon’s Internet connection.

2. Monitoring your DB instance. You cannot ask Amazon to install a monitoring agent on the server for you (obviously). But with MONyog‘s unique monitoring capabilities, you can monitor your MySQL database with ease. For more OS specific counters, however, you will have to rely on Amazon’s CloudWatch. RDS exposes the following metrics to CloudWatch to compensate for not providing SSH access to the underlying EC2 instance:

  • CPUUtilization—The percentage of CPU utilization

  • FreeStorageSpace—The amount of available storage space

  • DatabaseConnections—The number of database connections in use

  • ReadIOPS and WriteIOPS—The average number of disk I/O operations per second

  • ReadLatency and WriteLatency—The average amount of time taken per disk I/O operation

  • ReadThroughput and WriteThroughput—The average number of bytes read from or written to disk per second

This is, of course, available only at an extra cost! Consider running a remote monitoring tool, like MONyog, instead.

1. The cost factor. Most importantly, be VERY CAREFUL with the billing. You get billed just to keep the DB instance running, even when there is absolutely no activity on the server. For example, we created an extra large instance just of the purpose of the previous blog post. We only connected for a few minutes to test it but the server was idle for 99% of the time. At the end of 145 hours (roughly 6 days) the bill was $127. So be careful before you take it out for a spin.


SQLyog 8.2 beta1 Has Been released

peter_laursen

Changes (as compared to 8.17) include:

Features:
* Added a ‘Schema Optimizer’ feature. Based on “procedure analyse()” it will propose alterations to data types for a table based on analysis on what data are stored in the table. The feature is available from INFO tab/HTML mode.  Refer to documentation for details.
* A table can now be added to Query Builder canvas multiple times.  A table alias is automatically generated for second and higher instance of the table. This is required for special queries like self-JOINs (note: table alias support in Query Builder is an ongoing process).
* In the ‘Import External Data’ wizard same import settings can now be applied to all tables in one operation.
* In MESSAGES tab we are now displaying the query if error occurs during execution in order to make it easier to identify what query raised an error when executing multiple statements.

Bug Fixes:
* ‘Import External Data Tool’ -TRIGGERS did not use the Primary Key for the WHERE-clause if a PK existed on source  (all columns were used with the WHERE instead). This could cause problems with tables having Floating Point data.
* A malformed XML-string could cause failure to connect with HTTP tunneling. This was a rare issue only.
* After DROP a  ’stored program’ followed by CREATE same,  autocomplete would not recognize the ‘stored program’ unless after a program restart.
* ‘duplicate table’ has an option to duplicate triggers defined ON that table, but the way we named the new trigger could cause inconsistencies. Now the new trigger will be named ‘oldtriggername_newtablename’.
* Autocomplete was not functional with names of Triggers and Events.
* In MESSAGES tab font could change if non-ASCII characters were displayed.
* The display of the optimized query from EXPLAIN EXTENDED is now truncated to 2 KB. With long BLOB/TEXT data there will need to be some limit.
* ALTER TABLE failed to rename a column when old and new column name only differed by letter-case.  Actually the dialogue just shut down.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php


Amazon RDS – The Beginner’s Guide

Sayan Chaliha

On the eve of Microsoft’s announcement of the public release of SQL Azure Database, Amazon decides to release RDS. And that, too, after having resisted users’ demands for a relational database service for a very long time. Preemptive action, perhaps? Whatever it may be, I believe that such a healthy competition can do much good to the Cloud marketplace.

RDS brings with it the promise of MySQL on a Cloud. Having been a MySQL fan for quite some time now, I was itching to get my hands on an AWS account and check out what the hype was all about. Imagine my confusion when I signed up for Amazon RDS and all the AWS Management Console showed me was the EC2 dashboard! It was time I downloaded the Getting Started Guide and went through the rigmarole of studying it.

Setting up the Command Line Interface Tools

Apparently, there is no GUI yet for RDS. The only way to go about using it is through the CLI tools. Setting up the tools, however, can be quite a pain: There are no installers per se; you have to download the archive, extract it, and set up the environment manually. Here’s how I did it on my Windows XP box:

  • Prerequisites: The CLI tools are written in Java. So you need to have either JDK or JRE installed on your system to be able to run them. I had JRE 6 installed.
  • The Environment: There are a couple of environment variables that need to be set, manually:
    • The JAVA_HOME variable, containing the path of the Java runtime installed on the system.
    • The AWS_RDS_HOME variable, containing the path to the folder containing the CLI tools.
C:\>set JAVA_HOME=E:\Java\jre6
C:\>set AWS_RDS_HOME=C:\Amazon RDS\CLI

  • The Credential File: The archive containing the CLI tools also had a file named credential-file-path.template. I copied my AWS Access and Secret Keys into the place holders in the file, and then had to set yet another environment variable:
C:\>set AWS_CREDENTIAL_FILE=C:\Amazon RDS\CLI\credential-file-path.template
  • One Last Thing: Finally, I was almost done (setting up the CLI tools, that is)! All I had to do was add the path of the CLI tools to the PATH variable:
C:\>set PATH=%PATH%;C:\Amazon RDS\CLI

Creating a Database Instance

I went on to create an Extra Large database instance, with an allocated storage of 5GB:

C:\>rds-create-db-instance --engine MySQL5.1 --master-username root --master-user-password mypass
--db-name WebyogTestData --db-instance-identifier webyogtestinstance --allocated-storage 5
--db-instance-class db.m1.xlarge –-header
DBINSTANCE  DBInstanceId        Class         Engine    Storage  Master Username
Status    Backup Retention
DBINSTANCE  webyogtestinstance  db.m1.xlarge  mysql5.1  5        root
creating  1
SECGROUP  Name     Status
SECGROUP  default  active
PARAMGRP  Group Name        Apply Status
PARAMGRP  default.mysql5.1  in-sync
C:\>

The rds-decribe-db-instances command displays all the running instances:

C:\>rds-describe-db-instances
DBINSTANCE  webyogtestinstance  2009-11-06T08:40:52.571Z  db.m1.xlarge  mysql5.1
5   root  available  webyogtestinstance.clc2ed76md1v.us-east-1.rds.amazonaws.com 3306  us-east-1d  1
SECGROUP  default  active
PARAMGRP  default.mysql5.1  in-sync
C:\>

Voila! My database is up and running in no time.

Setting up SQLyog/MONyog to Connect to Amazon RDS

Here’s the best part about Amazon RDS: It has native MySQL 5.1 support. (Well, at this time, it supports  no other RDBMS, but may be  it will in the future.) This means that I can use my favorite MySQL GUI tool to connect to the Amazon RDS database instance. Or at least that’s what Amazon claims.

SQLyog Settings for RDS
SQLyog settings for RDS

I filled in the master user name and password that I had used to create the DB instance. For the host address, I used webyogtestinstance.clc2ed76md1v.us-east-1.rds.amazonaws.com (I noticed it in the output of the rds-describe-db-instances command).

Apprehensively, I clicked on the Test Connection button and without a hitch it connected successfully. Notice that SQLyog reports as having connected to MySQL 5.1.38-log.

Success connecting to Amazon RDS
Success connecting to Amazon RDS

Setting up MONyog was as simple.

MONyog displaying Amazon RDS DB stats
MONyog displaying Amazon RDS DB stats

MONyog displaying the InnoDB Cache stats

MONyog displaying the InnoDB Cache stats

In Conclusion

RDS is but a MySQL 5.1 instance running on an EC2 platform, bringing with it all the advantages of EC2. You can scale your server to use up to 68GB of memory, 26 ECUs, and 1TB of persistent storage. On the flip-side, Amazon RDS does not support replication yet.

Periodically, the Amazon RDS system performs some maintenance of the database instance. This ensures that your server is running smoothly. This also translates into a 4-hour down time period on a weekly basis. Within a weekly 4-hour user-definable window (the maintenance window) Amazon’s management system may start back-ups or roll out patches for the MySQL server. This may, however, result in a certain amount of downtime of your DB instance.

There is a pattern emerging here, if you look close enough. Back in 2008, at about the same time, when it became clear that Microsoft would announce a Windows-based Cloud, Amazon jumped in and announced support for Windows-based EC2 instances. And Amazon has managed to do it again with RDS. Microsoft, it seems, drives Amazon harder than users do.

For us at Webyog this is an exciting development. We believe that our products (SQLyog and MONyog) are very well ‘fit for the Cloud’.  Much more fit than the console-based tools that most advanced users still seem to use.  We will now start checking our programs in detail with this. Till now we’ve found no issues.

Want to Know More?

Read more about Amazon RDS froom their website.

Amazon RDS Functionality.

Pricing plans for Amazon RDS.

Sign up for Amazon RDS.


MONyog 3.6 beta 1 Has Been released

peter_laursen

Changes (as compared to 3.5) include:

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.

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.

Downloads: http://webyog.com/en/downloads.php
Purchase: http://webyog.com/en/buy.php