This ZenPack is developed and supported by Zenoss Inc. Commercial ZenPacks are available to Zenoss commercial customers only. Contact Zenoss to request more information regarding this or any other ZenPacks. Click here to view all available Zenoss Commercial ZenPacks.
The ZenSQLTx ZenPack allows you to test the availability and performance of MySQL, Sybase and Microsoft SQL servers. It provides a SQL data source where user-defined SQL queries can be executed against a database.
Ensure that your Microsoft SQL Server authentication mode is set to "SQL Server and Windows Authentication mode". For more information about this setting and how to change it, refer to MSDN Documentation: Change Server Authentication Mode.
Change options as needed.
If any data is retrieved from the database that can be interpreted as a number, that number can be used as a data point. In select statements in which a column name is used, that column name becomes the name of the data point. In select statements in which no column name is specified (for example, aggregate functions such as count(*), sum(), or min()), the data point name returned is database-dependent:
Non-alphanumeric characters ([^za-zA-Z0-9_]) are removed from the column name to produce the data point name. Any query results that cannot be interpreted as a number are ignored, and the query numbers will not change.
For example, the queries:
select count(*) from Users;select UserName from Users; select count(*) * 4 from Users
Returns these results:
Queries completed successfully. | totalTime=2.13289260864 count=3.0 count4=12.0
Note: To use multiple queries (such as in the preceding example), they must be separated with a semicolon.
This example demonstrates multiple results from a single query:
select count(*) as count1, count(*)-1001 from history;
Queries completed successfully. | totalTime=72.6099014282 count1=99894.0 count1001=98893.0
To verify any queries, as well as any permissions or authentication issues, run the zensql.py command from the command line. Here's an example against the MySQL database on a Zenoss server:
./zensql.py -t mysql -H localhost -u zenoss -p zenoss -d events 'select \* from events.log;'
Queries completed successfully. | totalTime=54.5899868011
Note: Single quotes (') are required around the SQL statement. Any wild card characters (such as *) must be escaped, as shown in the previous example.
For the zensql.py command, the database types understood are shown in the following table.
When Sybase database type is used in a ZenSQLTx datasource, the following error `/lib64/libc.so.6: version `GLIBC_2.14' not found` might be observed in zencommand log files or when you're trying to test the datasource on the UI. It happens because your current GNU C Library version is lower than the required version.
To check the currently installed GNU C Library version on your Zenoss instance use ldd --version command.
You cannot update the GNU C Library on a Zenoss instance safely, therefore, the Sybase database monitoring is not supported on Zenoss 4.x.
The following Zenoss services are required to be running by this ZenPack.
The following databases are officially supported. Other databases may also be supported, especially derivatives of MS SQL, MySQL and Sybase.