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.