What makes a CSO?

Choose Manage CSO from the drop-down. This opens up a form with the following details:

  • SQL: Any user defined SQL which returns a result set.
  • Key Columns: CSOs work with a result set which has unique rows. A combination of one or more columns of the result set can be made as a key column as long as long as this key column identifies a unique row in the result set.
  • Server(s): Comma separated names of the servers for which this SQL needs to be queried every Collection Interval.
  • Data Collection Interval: Interval in which this SQL is queried periodically. We recommend five minutes which also happens to be the default value.
  • Purging Interval: The data retention time & we recommend seven days.

Making its CSC

We create a CSC like any other monitor. Go to monitors page and select Add new monitor from the drop-down

  • Enter the name of the counter being added.
  • Type in the name of the group to which this counter is being added.
  • Choose the type of counter as Custom SQL.
  • Formula: A MySQL server parameter that is needed to compute the value of this counter.
  • Value: This defines a function that computes the value. Below, you can find a template:
function() {
   var sqlObject = MONyog.UserObject('<Name of your Custom SQL Object>');
   if (!sqlObject || !sqlObject.isEnabled() || !MONyog.MySQL.Custom.Available)
      return '(n/a)';
   /* You will have to call select here to fetch the resultset. */
   var resultSet = sqlObject.select();
   var results = ''; /* results holds the resultset in the form of array of row(s).*/
   /*Get column(s) for each row from the result set */
   for (i in resultSet) {
      if (resultSet.length > 0)
         results += '<br>';
      results += resultSet[i].<Column name in resultset> +
         '.' + resultSet[i].<Column name in resultset>;
   if (results.length == 0)
         results = 'None';
   return results;
  • Description: Description of Monitor/Advisor.
  • Advice Text: Advise text to the Monitor/Advisor being added.

SQL Diagnostic Manager for MySQL agentless and cost-effective performance monitoring for MySQL and MariaDB.
IDERAProductsPurchase | Support | Community | Resources | About Us | Legal
  • No labels