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.