Pages

Tuesday, November 22, 2016

Foxhound 4 is the first database monitor for SQL Anywhere that tests the target database's ability to accept new connections.

Foxhound does this with a special ping process that opens a new connection to the target database via the embedded SQL interface, issues a SELECT @@SPID command and then immediately disconnects.

This is different from the regular Foxhound sampling process which connects to the target database via ODBC and keeps that connection open while it collects multiple samples. It is also different from the SQL Anywhere dbping.exe utility; the Foxhound ping is a low-overhead process that's built in to Foxhound.

The Foxhound ping process comes in three flavors:

As an addition to the Foxhound Monitor sampling process.

The separate ping process tests the target database's ability to accept new connections as well as providing data for a third measure of response time: ping response time.

As a complete alternative to Foxhound's sampling process.

Ping-only sampling may be used to check for Alert #1 Database unavailable without storing a lot of data in the Foxhound database.

As an addition to Y/N Sample Schedule settings.

"P" for ping-only may be specified at various times of the day. For example, ping-only sampling might be scheduled during the overnight hours

when a large connection pool is mostly idle and/or

when a heavy load from a few connections is expected, and

folks care more about availability than about connection-level performance.

The Monitor Options page lets you specify the ping settings for each target database:

With Conflict Comes Confusion

The ping-only sampling option overrides (turns off, disables) several other Foxhound features including

Conflicts like those lead to confusion, and confusion leads to Frequently Asked Questions like:

"Why aren't Alert emails being sent?"

"Why isn't the Sample Schedule working?"

"Why aren't blocked connections being dropped?"

The new Banner Warnings feature has been added to Foxhound 4 to help deal with confusion caused by conflicts among different options; here's what' you see when you specify ping-only sampling:

Banner warnings appear all over the place in Foxhound 4. That is especially true for ping-only sampling because it affects so many other options; for example, here's what the Sample Schedule section looks like on the Monitor Options page:

1. A new custom "ping" process tests separate connections to the target database.

The Foxhound ping process opens a new connection to the target database via the embedded SQL interface, issues a SELECT @@SPID command and then immediately disconnects. This is different from the Foxhound Monitor process which connects to the target database via ODBC and keeps that connection open while it collects multiple samples.

The new ping process comes in three flavors:

As an addition to the Foxhound Monitor sampling process.

The separate ping process tests the target database's ability to accept new connections as well as providing data for a third measure of response time: ping response time.

As a complete alternative to Foxhound's sampling process.

Ping-only sampling may be used to check for Alert #1 Database unavailable without storing a lot of data in the Foxhound database.

As an addition to Y/N Sample Schedule settings.

"P" for ping-only may be specified at various times of the day. For example, ping-only sampling might be scheduled during the overnight hours

when a large connection pool is mostly idle, or

when a heavy load is expected and nobody much cares about performance.

The Monitor Options page lets you specify the ping settings for each target database:

2. Foxhound now supports SQL Anywhere 17.

Foxhound now supports target databases that run on any version of SQL Anywhere 6 through 17, including 17.0.4.

Foxhound itself will now run on SQL Anywhere 17, or SQL Anywhere 16 build 2127 or later.